Hi guys,
Nuno here.
I am seeking a software which will let me control my computer from my Android phone. However, there are some requirements which must be met by this software so it meets my needs. Here are the requirements I need:
1. Audio transfer: I need audio transfered from my computer to my phone. I don't care about the quality, the less latency the better.
2. Full keyboard support: Because of the fact that I am blind I control my computer exclusively from the keyboard, so I need a software which supports keyboards in full, so all keys are intercepted by my computer.
3. (Optional) self-hosted: it would be good if I could host the software on the master computer to which I will be connecting.
Thanks in advance for all the answers.
Related
Greetings people. I'm a long-time developer, but have not touched Android development at all yet. I'm considering working on a product for musicians. It will be part hardware and part software. The hardware part will be some high quality inputs, and output, and a DSP. This will connect to a tablet via USB. The software will record audio stream(s) and do real-time processing ( eg add delay, reverb, etc ).
I've read in quite a few places that Android is completely unsuitable for real-time audio work There are serious latency issues, for example. So, I've already been sufficiently scared away from attempting to use Android's audio subsystem. Realistically ... I don't want it anyway ... better to push streams back out the USB port to our dedicated hardware - I can't imagine serious musicians relying on a tablet's built-in sound card for either input or output.
So ... the question now becomes ... can I realistically expect to get decent latency access to USB devices on standard, unrooted, unmodified devices? This leads to the next question ... assuming we will be writing the USB driver in C, how do we go about getting it onto devices? Can applications deployed via the market ( play store ... whatever ) include kernel modules? We'd need root access for this, right? So does that make C kernel modules not an option? Accessing the USB port from Java is NOT an option, as we're after low latency, high bandwidth access. In fact we'd implement both the USB driver and audio processing engine in C. We'd just do the UI in Java.
Does anyone have any experience and / or advice? Any help greatly appreciated. I'd love to be able to provide some decent audio apps for Android to wipe the smirks of Apple users' faces
I don't know about latency on android, but you can't manipulate kernel unless you have unlocked bootloader and that means some serious rooting. So if you want to work on stock ROMs and kernels, there is no way you could succeed.
Doh! Yeah ... makes sense I guess. I can see why there are no audio apps for Android now I'll have a quick look at accessing the USB port from Java, but somehow I think this will never give the latency and bandwith I need ...
Thanks for your reply.
Hello! I'm thinking about this by a while. Actually the Android MIDI software you can find on Google Play use MIDI over IP or rtpMIDI technologies to send the MIDI signal via WiFi. Knowing how a network works, specially the wireless one, I think it's a waste of _time_. I thus thought why not passing the signal over USB? That's not a problem, just create a peer program on the target machine and comunicate via sockets or similar - not. My idea is to setup the application so that the target computer can see the MIDI device with no special drivers or programs or hacks (MIDI over USB is a standard).
Is it possible then to let the Android device be seen by the computer as a MIDI device, or at least "even" as a MIDI device?
Thanks.
Hello,
I'm new to the mobile development, but I have a computer science background. I want to do a concept for a real-time interface for audio interaction, so real low latency is essential. I have read a lot about this topic in the last week, but it's impossible to get a real overview in such a short time. So before I dig really deep I need to evaluate the feasibility from this project.
I've read a lot about the problems with Android and low audio applications and I know that iOS is way superior in this field, but I would prefer Android when it's possible. (I don't have a mac which is essential for developing iOS, and I just like the more 'open' Andoid more )
So my question are:
1. Is the bad low latency behaviour only related to actual audio buffer/processing, or does it affect midi or OSC only applications too? For me the interface is the important part - that means it's ok for me just to get midi/OSC commands which are processed in a separate PC.
2. I need a low overall latency (from the finger touch event to command output). Is this also a problem with Android compared to iOS?
kind regards,
audio developer
Hello everyone!
First of all, I'm new to this forum and I hope I'm on the right section.
I am developing an Android app that uses USB in host mode. The USB device can stream audio (both playback and capture), but can also send/receive other data (no more than a few bytes) in interrupt/bulk mode.
The idea is to use USB Audio driver provided by Lollipop for audio, and the USB methods provided by the SDK for the other data.
When using Lollipop's USB audio driver, the OS "automatically routes audio playback and capture appropriately". However, the documentation (source.android.com/devices/audio/usb.html#hostApplications - sorry for the link, as a new user I can't post external link) also says that "the automatic routing may interfere with applications that are USB-aware".
I tried the automatic routing and it works. The problem is the following: when Android captures or plays audio, it seems that all the data sent/received in the same direction by another way are blocked (like interrupt ones, through the SDK). That is to say, if I play audio from the smartphone, I can't send any other data to the device (and if I capture, I can't receive).
Additional information:
The bandwith is not an issue: I succeeded to receive both "audio" and data using Libusb in isochronous mode for audio and the SDK for other data. But I can't write an entire driver for USB Audio with Libusb, and I'm not sure that a simple isochronous transfer does the trick correctly.
The device is recognized by a PC both as a microphone and a speaker, so this is not a device issue.
The phone is not rooted.
Is there a way to solve that?
Also, assuming I can use the Lollipop's driver, does anybody succeeded in sending and receiving audio at the same time?
Best regards,
Victor
OK, simple naive question. Most modern vehicles come with a touch screen system that can access Android phones via a bluetooth interface, initiate calls, receive calls, bring up the contacts list, display text messages, etc. I would like to implement this functionality with a Windows based PC.
I also know that Windows 7 and 8 have a limited method of interfacing with Android phones via bluetooth. If one wanted to emulate the features in modern car systems to pair and work with Android phones using a Windows based PC, what software/hardware options are available? The hardware seems to be only a working USB bluetooth adapter, but the only software option I have found to date is Blue Solei. Any other options?
Thanks!