Android phones and USB DACs
May 7, 2013 at 1:25 PM Post #2,251 of 9,526
Alternative:   Vivo Xplay, A Smartphone with a ...dedicated audio chips !
 
Finally, may be some manufacturer start to take seriously the AUDIO part of their handsets : "...[size=16.363636016845703px]one extra audio chip, the OPA2604 op amp from Texas Instruments, in order to add extra oomph to Cirrus Logic's CS4398 DAC and CS8422 stereo asynchronous sample-rate converter.... [/size][size=16.363636016845703px]FLAC playback is supported natively, by the way[/size][size=16.363636016845703px]"[/size]
 
 

 
May be this is the  light that show that we are getting closer to the end of the (android Audio) tunnel ?
 
By the way, do you know any Smartphone that has a real DIGITAL AUDIO  out (  S/PDIF coax or Optical )  
 
thanks
 
May 8, 2013 at 6:42 AM Post #2,252 of 9,526
Yes, it should meet the need of a lot of people.
 
But how about of HeadFiers looking for the best DAC or the best amp fit to their headphones?
http://www.head-fi.org/t/523850/centrance-dacmini-dac-amplifier-official-thread/915#post_9328065
 
By the way the sound quality should be improved if the same internal DAC and the same internal amp could be moved away from the smartphone, a big source of interferences:
 
"Recently, I spent a couple of days in trying to understand how much the setup of a commercial "superclock" could affect jitter at audio level. The clock was NET Audio RockClock (next on these pages), kindly made available by David Pritchard. The RockClock circuit is enclosed in a cast(!) metal box connected to ground, which should make the clock generation circuit widely insensible to the specific positioning. It was mounted in the usual Pioneer PD-S 505, and connected to the motherboard with a 8cm long section of UTP CAT5 internal twisted couple. The clock had its own separate PSU, the NET Audio CD Clock Power Supply.
Initially I started with the units positioned in the easiest way inside the box. Jitter measured at this point was 358ps (340-370ps). However, the clock case was near the power control chips of the transport, which appeared less than optimal.
So I raised the clock just a few centimeters (5-6cm), leaving all the rest as above. Jitter dropped to 334ps (329-341ps).
Moving the clock away from the board as much as possible given the short connection made the jitter utterly go down to 328ps (322-332ps). Having the clock output twisted pair go along the transport power chips had scarcely any effect."
http://www.tnt-audio.com/clinica/jitter3_e.html
 
May 8, 2013 at 7:20 AM Post #2,253 of 9,526
Quote:
DanBa, please remove the Meizu MX + E17 + USB AR Pro from the list of android devices with USB audio. I can confirm that with two different cables (just got the iBasso one today) and USB Audio Recorder Pro, USB audio does not work with the Meizu MX quad core (M032). It may have been tested and worked with the previous version of Flyme, but it does not work with an up-to-date device.
 
When the E17 is turned on or off and is plugged into my Meizu MX, I get a little pulse behind the power button every 3/4 sec or so. I've only ever seen this pulsing while plugged into my phone; it makes me wonder if the FiiO isn't getting enough power, but it runs on battery so that shouldn't be an issue at all. I can verify that it never "locks" like it does when using USB audio from a PC.

 
Thanks!
I just modify the latest compatibility list.
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/2235
 
 
Galaxy S3 - FiiO E17 debug log:
 
USB init OK!
 
[Start of USB DAC device enumeration]
 
getUSBAudioDevices
getDevices
Devices to query = 1
dev
deviceClass = 2, dev.getVendorId() = 5401
dev
deviceClass = 0, dev.getVendorId() = 6226
requestPermission
USBAudioManager::CheckDeviceFD 99
FindDevice 20688 6226
FindInterface num interfaces = 3
interface 0, alt settings = 1
descr class = 3, subclass = 0
interface 1, alt settings = 1
descr class = 1, subclass = 1
interface 2, alt settings = 4
descr class = 1, subclass = 2
is audio streaming, endp = 0
descr class = 1, subclass = 2
is audio streaming, endp = 1
has enough endpoints 2
USBAudioManager::Audio device found!
bMaxPacketSize0 for device = 8, m_bcdUSB = 272, 110 hex
Prepare: full-speed device (12MBit/sec)
Kernel driver is active on interface 0!
Detached kernel driver!!!
Kernel driver is active on interface 1!
Detached kernel driver!!!
Claimed interface 0
DATE: 8-5-2013, 11:21
 
USBAudioDevice: fd = 99, opened = 1, Vend/Prod = 0x1852 / 0x50d0, USBrev = 110, configs = 1
 
USBAudioDevice: Manufacturer = FiiO, Product = FiiO USB DAC-E17, SerialNr = 
 
USBConfiguration: # interfaces = 3, config val = 1, config string = , attr = 0x80, maxPower = 500mA
 
  USBInterface: interface nr = 0
 
    USBAltSetting1: alt setting = 0, class = HID, subclass = Undefined, protocol = 0, descr = 
 
      USBEndPoint: nr = 1, IN, TRANSFER_TYPE_INTERRUPT, SYNC_TYPE_NONE, 
 
                   maxPacket = 18, addT = 0, pollingInt = 0, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
 
  USBInterface: interface nr = 1
 
    USBAltSetting1: alt setting = 0, class = AUDIO, subclass = AUDIOCONTROL, protocol = 0, descr = FiiO USB DAC-E17
 
      USBInputTerminal: m_ID = 9, assoc = 0 m_logicalOutputChannels = 2, m_channelConfig = 3, , , STREAMING
 
      USBOutputTerminal: m_ID = 3, assoc = 0, source = 16, , SPDIF
 
      USBFeatureUnit1: m_ID = 16, SourceID = 9, m_controlSize = 1, channels = 3
 
                      m_ID = 16, channel control = 1 (Mute  )
 
                      m_ID = 16, channel control = 2 ( Volume )
 
                      m_ID = 16, channel control = 2 ( Volume )
 
  USBInterface: interface nr = 3
 
    USBAltSetting1: alt setting = 0, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr = 
 
    USBAltSetting1: alt setting = 1, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr = 
 
    USBAltSetting1 (AS): link = 9, delay(f) = 0, PCM, type(1) = 1, ch = 2, subframesize = 2, reso = 16
 
                     32000, 44100, 48000, 96000 (fixed)
 
      USBEndPoint: nr = 3, OUT, , SYNC_TYPE_ADAPTIVE, 
 
                   maxPacket = 388, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , Has freq control
 
    USBAltSetting1: alt setting = 2, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr = 
 
    USBAltSetting1 (AS): link = 9, delay(f) = 0, PCM, type(1) = 1, ch = 2, subframesize = 3, reso = 24
 
                     32000, 44100, 48000, 96000 (fixed)
 
      USBEndPoint: nr = 3, OUT, , SYNC_TYPE_ADAPTIVE, 
 
                   maxPacket = 582, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , Has freq control
 
    USBAltSetting1: alt setting = 3, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr = 
 
    USBAltSetting1 (AS): link = 9, delay(f) = 0, Undefined, type(1) = 3, ch = 16512, subframesize = 0, reso = 16512
 
                      (continuous)
 
      USBEndPoint: nr = 3, OUT, , SYNC_TYPE_ADAPTIVE, 
 
                   maxPacket = 192, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , Has freq control
 
Added IRQ for EXIT fd 101!
USBAudioDevice::setSampleRate 96000
USBAudioDevice::setSampleRate 96000
selectOutput OK, if = 3, alt = 1
USBAudioDevice::setSampleRate 96000
ERROR: Set sample rate: -1 bytes transferred
 
[Ready to play]
 
[First faulty playing]
 
StartUSBTransfers
selectOutput OK, if = 3, alt = 1
Claimed interface for 3 (alt = 1)
Prepare: maxPacketSize = 388, minPacketSize = 384 bytes, frame size = 4, i_bufferSizeFrames = 16384
Wanted nr transfers = 168
Actual 'buffer' size = 16128 to 16296
PLAY Prepare: nrOfTransfers = 168, nrOfPacketsPerTransfer = 1, i_sampleRate = 96000
Allocating 168 buffers of 388 bytes. Each buffer has 1 packets.
Starting from Transport
Out start done
Start PB OK!
startAllTransfers() END ok = 
OUT: 5610 (microsec) tot = 384
OUT: 6854 (microsec) tot = 384
OUT: 7571 (microsec) tot = 384
OUT: 8576 (microsec) tot = 384
OUT: 9580 (microsec) tot = 384
StopUSBTransfers
stopAllTransfers done!
 
[Workaround:
. select a wrong sample rate: for instance 32000 when playing a 96000 encoded music file
. play it some few seconds
. switch back to the right sample rate; everything should be OK from now on]
 
USBAudioDevice::setSampleRate 32000
selectOutput OK, if = 3, alt = 1
USBAudioDevice::setSampleRate 32000
StartUSBTransfers
selectOutput OK, if = 3, alt = 1
Claimed interface for 3 (alt = 1)
Prepare: maxPacketSize = 388, minPacketSize = 128 bytes, frame size = 4, i_bufferSizeFrames = 16384
Wanted nr transfers = 496
Got 329 transfers!
Actual 'buffer' size = 10528 to 10857
PLAY Prepare: nrOfTransfers = 329, nrOfPacketsPerTransfer = 1, i_sampleRate = 32000
Allocating 329 buffers of 388 bytes. Each buffer has 1 packets.
Starting from Transport
Out start done
Start PB OK!
startAllTransfers() END ok = 
OUT: 4338 (microsec) tot = 128
OUT: 4990 (microsec) tot = 128
OUT: 6006 (microsec) tot = 128
OUT: 7005 (microsec) tot = 128
OUT: 7996 (microsec) tot = 128
StopUSBTransfers
Transfer cancelled!
OUT ERROR: Status was 1, len = 128, actual len = 0!
localTotal == 0, buffer = 14ac0a8!
stopAllTransfers done!
USBAudioDevice::setSampleRate 96000
selectOutput OK, if = 3, alt = 1
USBAudioDevice::setSampleRate 96000
 
[Play a 24/96 music file]
 
StartUSBTransfers
selectOutput OK, if = 3, alt = 1
Claimed interface for 3 (alt = 1)
Prepare: maxPacketSize = 388, minPacketSize = 384 bytes, frame size = 4, i_bufferSizeFrames = 16384
Wanted nr transfers = 168
Actual 'buffer' size = 16128 to 16296
PLAY Prepare: nrOfTransfers = 168, nrOfPacketsPerTransfer = 1, i_sampleRate = 96000
Allocating 168 buffers of 388 bytes. Each buffer has 1 packets.
Starting from Transport
Out start done
Start PB OK!
startAllTransfers() END ok = 
OUT: 5090 (microsec) tot = 384
OUT: 6072 (microsec) tot = 384
OUT: 7065 (microsec) tot = 384
OUT: 8064 (microsec) tot = 384
OUT: 9060 (microsec) tot = 384
StopUSBTransfers
stopAllTransfers done!
 
May 8, 2013 at 9:47 PM Post #2,254 of 9,526
So, you have the day off tomorrow and feel like playing with your soldering iron, what do you do?
 
  Oh god Coop, you're not posting pics of another OTG cable you made, are you!?
 
Nope, wanted to do something else.
 
  Good!
 
You know how people are always looking for the smallest possible DAC/AMP for their portable rig?
 
  Sure, there's some pretty small ones these days, like the D-zero and the U-skin
 
What if I told you there's a smaller option?
 
  You mean like the Dragonfly? That doesn't have an amp!
 
No, not that small, a little bigger, and it does have an amp.
 
  Oh cut the crap Coop, spill the beans already!
 
I'll give you a hint... Do the dimensions 41x40.2x9mm sound familiar?
 
 Vaguely... Hey wait... Isn't that the exact same size as the Fiio E6?
 
Correct.
 
  Uhm but that's just an amp, not a DAC!
 
Well, not my E6... *Light effects / Smoke machines / Dramatic music building up to a climax*
 
 
In TV-gameshow announcer voice: I PRESENT YOU! THE STONED E6!!
 
 
 

 
 
The Fiio E6 headphone amp with internal Stoner Acoustics UD100...
 
  You're an idiot Coop...
 
I know... But I did make this really neat toy out of 2 separate devices...
 
<schitzo mode off>
 
 
 
Yup, I took an E6, and stuffed a UD100 inside. I did have to sacrifice the internal battery of the E6 to make room, but as the USB host port of the S3 has enough power to power both the amp & dac, it's not a big deal.
The USB port of the E6 is now used as power supply for the E6 and as fully functional USB port for the UD100. The Input jack of the E6 can function as Line out for the UD100 when the amp is switched off. and if the UD100 isn't receiving data via USB, it can still be used as analog input. 
 
It's almost 4am now, I need to go get some sleep, just wanted to share this with you guys... 
biggrin.gif

 
May 9, 2013 at 2:56 AM Post #2,255 of 9,526
I confirm that the international S4-4G does not work with the Glacier....
frown.gif

 
May 9, 2013 at 5:38 AM Post #2,256 of 9,526
Does the Apex Glacier work with the Galaxy S4 using USB Audio Recorder PRO?
 
The story so far:
. The HTC One based on the Snapdragon 600 SoC can work with the Apex Glacier
. The Galaxy S4 based on the same SoC embedding a USB controller can’t work with the same Apex Glacier (i.e. NZtechfreak’s Apex Glacier)
. The Galaxy S3 can work with the same Apex Glacier (i.e. NZtechfreak’s Apex Glacier)
 
I’d like to post on the Samsung Developers forum a request to fix the Apex Glacier – S4 interworking with maximum possible data like:
. USB descriptors of the Apex Glacier
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/2025#post_9320708
. Apex Glacier - Galaxy S3 dmesg log output
. Apex Glacier - Galaxy S4 dmesg log output
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/1140#post_8975538
. Apex Glacier - Galaxy S3 debug log of USB Audio Recorder PRO
. Apex Glacier - Galaxy S4 debug log of USB Audio Recorder PRO
 
To get a debug log file "USBAudioLog.txt" of USB Audio Recorder PRO: tick the case "Log to File" of "Logging" of "Prefs".
 
May 9, 2013 at 5:58 AM Post #2,258 of 9,526
Quote:
Does the Apex Glacier work with the Galaxy S4 using USB Audio Recorder PRO?
 
The story so far:
. The HTC One based on the Snapdragon 600 SoC can work with the Apex Glacier
. The Galaxy S4 based on the same SoC embedding a USB controller can’t work with the same Apex Glacier (i.e. NZtechfreak’s Apex Glacier)
. The Galaxy S3 can work with the same Apex Glacier (i.e. NZtechfreak’s Apex Glacier)
 
I’d like to post on the Samsung Developers forum a request to fix the Apex Glacier – S4 interworking with maximum possible data like:
. USB descriptors of the Apex Glacier
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/2025#post_9320708
. Apex Glacier - Galaxy S3 dmesg log output
. Apex Glacier - Galaxy S4 dmesg log output
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/1140#post_8975538
. Apex Glacier - Galaxy S3 debug log of USB Audio Recorder PRO
. Apex Glacier - Galaxy S4 debug log of USB Audio Recorder PRO
 
To get a debug log file "USBAudioLog.txt" of USB Audio Recorder PRO: tick the case "Log to File" of "Logging" of "Prefs".

I do not use USB audio player as a "Real" Media player. Its just not meant to be a player from the begining, no Album art ...etc...
I would have gotten the HTC one, but the 16GB version is the only variant available here, and no microSD support, what more bad news.....
 
Shame that Samsung did this with their S4.
 
Edit : I also confirm that Samsung S4 international version-3G variant does not work with the Glacier.
 
Test done in a Showroom, so I am limited to what I can do/test.
 
May 9, 2013 at 8:25 AM Post #2,259 of 9,526
Quote:
So, you have the day off tomorrow and feel like playing with your soldering iron, what do you do?
 
  Oh god Coop, you're not posting pics of another OTG cable you made, are you!?
 
Nope, wanted to do something else.
 
  Good!
 
You know how people are always looking for the smallest possible DAC/AMP for their portable rig?
 
  Sure, there's some pretty small ones these days, like the D-zero and the U-skin
 
What if I told you there's a smaller option?
 
  You mean like the Dragonfly? That doesn't have an amp!
 
No, not that small, a little bigger, and it does have an amp.
 
  Oh cut the crap Coop, spill the beans already!
 
I'll give you a hint... Do the dimensions 41x40.2x9mm sound familiar?
 
 Vaguely... Hey wait... Isn't that the exact same size as the Fiio E6?
 
Correct.
 
  Uhm but that's just an amp, not a DAC!
 
Well, not my E6... *Light effects / Smoke machines / Dramatic music building up to a climax*
 
 
In TV-gameshow announcer voice: I PRESENT YOU! THE STONED E6!!
 
 
 

 
 
The Fiio E6 headphone amp with internal Stoner Acoustics UD100...
 
  You're an idiot Coop...
 
I know... But I did make this really neat toy out of 2 separate devices...
 
<schitzo mode off>
 
 
 
Yup, I took an E6, and stuffed a UD100 inside. I did have to sacrifice the internal battery of the E6 to make room, but as the USB host port of the S3 has enough power to power both the amp & dac, it's not a big deal.
The USB port of the E6 is now used as power supply for the E6 and as fully functional USB port for the UD100. The Input jack of the E6 can function as Line out for the UD100 when the amp is switched off. and if the UD100 isn't receiving data via USB, it can still be used as analog input. 
 
It's almost 4am now, I need to go get some sleep, just wanted to share this with you guys... 
biggrin.gif

 
 

Did you make your own cable? that looks like a double Micro B . Can you show me the connectors and give out more infor please.
 
May 9, 2013 at 1:47 PM Post #2,260 of 9,526
Did you make your own cable? that looks like a double Micro B . Can you show me the connectors and give out more infor please.


Yes, I made that cable and pretty poorly I must add. The sleeving is too short for the cable but I was being cheap and used it anyway as it's a cable for personal use and not one of the cables I make to sell. So now I need to do some corrective surgery on my little OTG cable.

But it's a Micro B with sense to ground connection to serve as OTG host. On the other end is a Mini B.
 
May 9, 2013 at 9:48 PM Post #2,261 of 9,526
Here's my portable OTG rig I use with the S3:
 

 
Galaxy S3 <OTG cable> Belkin Hub <Griffin mini-USB cable> ODAC <Fiio L8> Meier Corda PCSTEP.
 
Yes, the PCSTEP's DAC is OTG-compatible (and sounds terrific), so the ODAC isn't required.. but I've got a QUICKSTEP (which has no DAC) on the way; which'll seamlessly drop into this setup.  My rig should become even neater since this hub & OTG cable replacement is coming, as well.
 
The reason I'm using a hub between the ODAC & S3 is cause the S3 returns that (dreaded) "..high powered device connected.." error when the ODAC is connected directly to it via OTG.  For some reason, using a hub (that doesn't even have to be powered) as an intermediary solves this problem (thankfully, a simple, inexpensive solution).
 
May 10, 2013 at 1:00 AM Post #2,262 of 9,526
That's odd... I've used the PCSTEP and S3 numerous times and haven't had that issue. (I've had to unplug and replug a few times when the Android OS looked askance at me, but I don't recall getting that specific message). I'm using the US variant, as I'm assuming you are in Washington. I've got the Verizon version, you? 
 
May 10, 2013 at 6:41 AM Post #2,265 of 9,526
 

 
 
The Fiio E6 headphone amp with internal Stoner Acoustics UD100...
 
 
Yup, I took an E6, and stuffed a UD100 inside. I did have to sacrifice the internal battery of the E6 to make room, but as the USB host port of the S3 has enough power to power both the amp & dac, it's not a big deal.
The USB port of the E6 is now used as power supply for the E6 and as fully functional USB port for the UD100. The Input jack of the E6 can function as Line out for the UD100 when the amp is switched off. and if the UD100 isn't receiving data via USB, it can still be used as analog input. 
 
It's almost 4am now, I need to go get some sleep, just wanted to share this with you guys... 
biggrin.gif

Hahaha nice one Coop....I've actually done a similar mod with the UD-100 here but with a C5 amp instead
biggrin.gif

 

 
 
 
 
Quote:
Here's my portable OTG rig I use with the S3:
 

 
Galaxy S3 <OTG cable> Belkin Hub <Griffin mini-USB cable> ODAC <Fiio L8> Meier Corda PCSTEP.
 
Yes, the PCSTEP's DAC is OTG-compatible (and sounds terrific), so the ODAC isn't required.. but I've got a QUICKSTEP (which has no DAC) on the way; which'll seamlessly drop into this setup.  My rig should become even neater since this hub & OTG cable replacement is coming, as well.
 
The reason I'm using a hub between the ODAC & S3 is cause the S3 returns that (dreaded) "..high powered device connected.." error when the ODAC is connected directly to it via OTG.  For some reason, using a hub (that doesn't even have to be powered) as an intermediary solves this problem (thankfully, a simple, inexpensive solution).

 
That's odd indeed as the my ODAC works just fine with the S3.
 

 

Users who are viewing this thread

Back
Top