If you want the USB audio enabled on any Android 4.0 device via official firmware/kernel, please vote (aka star) here:
Star: Vote by clicking on the star
According to Android 3.1 specifications, Android 4.0 devices could support the USB audio feature, i.e. Android 4.0 devices and USB_CLASS_AUDIO compliant devices like standard USB DAC could interoperate:
USB_CLASS_AUDIO compliant devices like standard USB DAC don't need a special USB device driver. Instead, they use an operating system standard driver.
The Android standard USB audio driver is the generic USB Audio Driver for ALSA (Advanced Linux Sound Architecture).
And the latest Android 4.0 includes card.c, the USB Audio Driver for ALSA which should be compliant with USB audio class 2 devices allowing for 24 bits / 192 kHz.
Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The Linux kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
Thus Android handles all the things that Linux is really good at such as a vast array of device drivers, which take the pain out of interfacing to peripheral hardware.
Most USB DAC work without special USB device driver on PC, Mac and hopefully Android 4.0 devices with USB audio enabled.
Some USB DAC:
. Portable FiiO USB DAC/amp:
. Portable iBasso USB DAC/amp:
. Portable RSA USB DAC/amp:
. Portable HeadAmp USB DAC/amp:
. Portable GoVibe USB DAC/amp:
. Desktop CEntrance USB DAC/amp:
. Desktop USB DAC MSB DAC IV:
About external USB DAC/Amp
A digital audio system is composed of:
. A storage module: Music is stored in file as a series of bits 0 & 1 with different encoding formats (MP3, WAV, FLAC).
. A player: The player decodes the bits 0 & 1 to PCM digital audio signals.
. A DAC (Digital to Analog Converter): The DAC converts the PCM digital audio signals to the original analog audio signals.
. An amplifier: The amplifier amplifies the analog audio signals.
. A speaker: The speaker restitutes the music.
Like a PC or a Mac, an Android phone is a digital audio system.
Hopefully, the Android phone, running on a kernel with a USB audio driver, can output the PCM digital audio stream to an external standard USB DAC & amplifier & headphone, much more efficient than the internal DAC & amplifier & speakerphone.
The official Android with USB audio enabled should be used by most people, who don't want to mod their device.
A die-hard audiophile minority should likely use audio-optimized Android kernels modded by some kernel modders.
"An interesting example is the HRT music streamer II, it IS asynchronous USB, but it is still very sensitive to what happens in the computer. On the SAME COMPUTER I can make simple changes to OS scheduling parameters and get a huge difference in the sound. At one end of the scale it's dull, lifeless, no depth at all, at the other end of the scale it is wonderfully alive, dynamic, huge depth etc. And all this by just changing a few numbers, NO change in hardware at all."
For example, a underclocked kernel should be better than a normal kernel to provide a lesser jittered digital audio stream to a USB DAC, because the USB transmission clock is less polluted by electric and electromagnetic interferences generated by different processors.
Android kernel modders have already enabled the USB audio feature on Nook Color tablets which are powered by Android 2.3 Gingerbread.
Edited by DanBa - 10/26/12 at 3:47pm