The USB audio driver from Google has several limitations. Please see the following table for a comparison:
|Feature||eXtream Software Development USB driver||Android 5 USB driver|
|Device support||Over 250 devices (see http://www.extreamsd.com/USBAudioRecorderPRO/)||Less devices and most need to run at the Android device's native sample rate (which is usually 48000Hz)|
|Resolution||Any resolution that the device supports for both input and output (16, 24 and 32 bit)||Only 16 bit|
|Sample rate||Any sample rate that the device supports||Only 44100/48000Hz|
|Channels||Multi-channel input and output||Only mono or stereo|
|Internal hardware controls||Internal hardware controls like gain, monitor volume etc. can be controlled||No hardware controls|
|Low latency||USB buffer sizes can be chosen in the app, latency is lower than Android's driver. Recording the output gives latency of a couple of milliseconds, which is corrected for automatically to 0 or 1 milliseconds.||No buffer size selection. Recording the output gives a latency of around 180 milliseconds.|
|Native sample rate||No native sample rate: latency does not depend on the sample rate.||Only performs with low latency when the so-called 'native' sample rate is selected, which is often the awkward rate of 48000Hz. Android devices that do not have the 'low latency' feature are expected to perform poorly.|
These tests were performed in apps from other vendors as well, so these are no limitations of our app(s).
Android devices initially were made with a big focus on telephony (not surprising). With that in mind, Android phones are/were possibly installed with audio chips that have only one sample rate or perhaps only sample rate is used throughout the system. This sample rate is called the 'native' sample rate and is a fixed number, for example 44100 or 48000Hz. For some reason, this native sample rate is also accompanied with a native buffer size. When selecting this combination of sample rate and buffer size, the OpenSLES audio system and if the device manufacturer also made some effort to get his device classified as having a 'low latency path', then 'low latency' can be achieved. Note that 'low latency' can still be significantly higher than people are used to on desktop systems, but it will be lower than devices not featuring this 'low latency path'.
Besides the low latency, Android's USB audio driver also seems to be affected negatively by this native sample rate as can be seen in the table below. Although almost all USB audio devices support different sample rates, the native sample rate of the internal chip of the Android device still dictates whether the 'low latency path' can be used and worse, a lot of USB devices start to act erroneously when not using that rate. This design flaw is of course not present in the USB audio driver of eXtream Software Development that is used in Audio Evolution Mobile and USB Audio Player/Recorder PRO.
Look at the notes for information if the device is working or not!! These tests were performed initially with a Nexus 7 2013 model. This device has a native sample rate of 48000Hz. Restrictions/problems may differ on other Android devices with a different native sample rate.
|Manufacturer||Model||Owned by developers||Notes|
|Behringer||UCA222||yes||OK. Sometimes experienced no playback.|
|U-Phoria UMC204||yes||OK on 48000Hz. Slow and glitching on 44100Hz.|
|Delock||61645 without S/PDIF||yes||Lots of crackle played through headphones. Playback can suddenly stop. No control of hardware monitoring or gain.|
|61961 with S/PDIF||yes||OK|
|FocusRite||2i2||yes||Usually ok when using 48000Hz. When using 44100Hz: playback only OK. Playback during recording is slow. Recordings are distorted and glitching|
|Lexicon||Alpha||yes||Needs to be connected at power-up of the device to be detected. Heavy noise, unusable.|
|Omega||yes||Recording is silent. Playback ok.|
|M-Audio||Fast Track||yes||OK at 48000Hz. Garbage or slow playback at 44100Hz.|
|Fast Track Pro||yes||Silent recording and playback|
|Presonus||22VSL||yes||Not detected or infinite reboot loop at power-up.|
|Samson||Go Mic||yes||Needs USB hub, then works|
|UR-44||yes||Ok at 48000Hz. Stereo only.
At 44100Hz, can start recording after 5 seconds. Playback is slow.