1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.

    Dismiss Notice

Android phones and USB DACs

Discussion in 'Portable Source Gear' started by nztechfreak, Feb 9, 2012.
411 412 413 414 415 416 417 418 419 420
422 423 424 425 426 427 428 429 430 431
  1. DanBa
    "Choosing the right audiophile playback software can be a daunting task. While audible differences can occur in going from an entry-level software like iTunes to one of the audiophile playback engines mentioned below, the transition between high-end software boils down to a preference between real cherry flavor and artificial cherry flavor.
    ... Some people will hear a tremendous difference while others will not.
    Because many operating systems can be optimized outside of playback software, the benefits of these audio applications may diminish. This doesn’t mean they make no difference, it just explains why some people will hear a tremendous difference while others will not. There are lots of layers here, and I’ll talk about them more in-depth in our upcoming optimization guides.
    Before diving into the software comparison, I need to address bit-perfect playback. There are three camps here. 
    Finally the third camp, my camp, gets two paragraphs because it's my camp and I'm writing this. Let's all start by agreeing that audio is a real-time process. Even if an application loads data into memory for processing, everything before and the whole operation after is a real time operation. Real time processes in a computer take the form of a square wave, specifically a pulse width modulation. This pulse width modulation is an analog representation of what we conceptualize as a digital signal and is created by voltage in the power supply. This PWM signal has both amplitude characteristics and timing characteristics. The timing, or duty cycle, along with the amplitude determine the frequency response of that square wave. A computer is made up of billions of transistors, all switching very quickly to changes in logic (mathematical algorithms created by the operating system and software). Based on the input voltages, logic switches create a new version, a duplicate, of the square wave (either theoretically identical or altered). That new version of the square wave is also created from power in the power supply. Because audio is real time, there is no error correction that can be done to this square wave, any resulting wave form IS your music.
    Looking at the concept of bit-perfect, it's arguably impossible to have bit perfect playback in a real-time system because there are no bits. If the power supply introduces noise or there is jitter on the square wave this results in a square wave that is not identical to the original. Because the square wave is an analog signal it is still susceptible to noise and distortion. A square wave, however, reacts a little differently than its sine wave counterpart. Jitter is an alteration of the duty cycle, when that jitter hits the digital interface chips, a DAC for instance, that jitter is seen as an amplitude error and creates an alteration of the frequency response. Amplitude distortion itself is created by noise voltages that either add or subtract from the amplitude of the square wave. This introduces harmonic content into the square wave that shouldn't exist in the music. The square wave may still resemble a one or a zero, but it contains additional frequency content. So as far that bits are concerned, it's bit perfect, but with additional harmonic content that shouldn't be there.
    So, high-end playback software works to buffer the audio signal and keep as much of the processing in the non-real-time zone (memory playback) as possible. The next step is to create as few duplications of the square wave as possible and get it to the computer's output as quickly as possible so as to avoid the introduction of jitter and amplitude errors. All of the software below is bit perfect, the camp you pitch your tent in shouldn't affect the software you wish to use, just how you choose to integrate it into your system."
    1. Sources of non-quality
    Assuming the output is bit-perfect, the computer as a source creates two main sources on non-quality:
    . Software-induced jitter
    Digital signal is in fact an analogue waveform composed of two states separated by a voltage threshold (1 if above, 0 if under). 
    As presented in [MeitnerGendron91], the receiver detects the value change the moment the analogue value crosses the threshold. In addition, the shift from one state to another is not instantaneous but more slope like.
    So a slight change in the reference voltage of the source will lead to a slight temporal shift in the value change detection.
    So fluctuations in the source reference voltage create jitter, as explained in details in [HawksfordDunn96]. This is the same on the receiver side with measurement threshold fluctuations from its power supply and/or ground instability. Moreover the computer can still cause this as the grounds are linked most of the time through the same signal cables.
    Computer load means rapidly changing power demands from the CPU and its peripherals, with peak demands that are directly related to the software behaviour.
    . Radio-Frequency & other interferences
    In addition, computation, disk access, … activities mean complex current waveforms are carried on electrical lines and thus generate electromagnetic interferences. Apple computers are now made of “unibody” aluminium cases that are good protectors from inside RF interferences. But this is not sufficient as the cables connected to the computer act as antennas. And these current waveforms are also going back through the computer PSU, polluting the mains power supply.
    4. The player software impact
    First of all the player should ensure bit-perfect reproduction of the signal by:
    . Adapting the DAC sample rate to each track native to avoid any unwanted sample rate conversion
    . Taking exclusive access ("hog mode") of the device to prevent other opened applications from interfering
    Furthermore, as we have seen in section 1, the computer load (and its variations) has an impact on sound quality. Minimizing such current demands and sources of interferences is key:
    . Loading tracks before playback (“memory play”) to reduce disk access and its audible, power and RFI impacts
    . Minimizing synchronous CPU load taken for the audio data streaming operations. In addition to reduce jitter, this also helps to reduce audible RF interferences patterns, especially in low frequencies."
    " Clock Jitter: how much is it important?
    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.
    Then I moved the PSU back towards the main power supply output stages and cabling, but there was an immediate increase of jitter up to 346ps (338-351ps), so I moved the PSU into another position nearby: this quieter position was just above the main PSU rectifying diodes.... and don't ask me why this appeared a quieter position!"
    "The myth that "0s are 0s and 1s are 1s -- it's all digital don't care about" is simply said wrong and misleading.
    It's not about just digital 1s or 0s actually. The data receiver must be able to read a certain analog voltage and need to declare it a 1 or 0. Since timing and shape of that bit and its distortion are continuously changing and usually far far away from being ideal, the receiver will see all but a clean rectangular evenly separated noise-free signal."
    MikeyFresh and gixxerwimp like this.
  2. DanBa
    They are stored on some Head-Fi server.
  3. StanD
    Aside from measurements in picoseconds (10-12 seconds) using technical instruments, one needs to identify the atrefacts and how they measure in audio terms as well as how that compares to the human thresholds of perception.
  4. SubSTI
    Does the HibyMusic player differ from UAPP in the way it uses User Space USB audio, or does this also depend on the DAC you use?
    Nexus 7 2013 5.02 -> UAPP -> iFi Nano iDSD - Feeds the Nano correctly up to 192kHZ according to the LED on the Nano.
    Nexus 7 2013 5.02 -> HibyMusic -> iFi Nano iDSD - Output limits to 44.1kHZ according to the LED on the Nano.
  5. Mytheroo
    ground-loop isolator complete fixes the interference issues I was having from the 12v-USB convertors and the head unit.
    However, the firm-bricking needing the battery to be briefly unplugged wasn't (only?) to do with the 5v line being cut. If I am running both the Y-cable power and the USB hub plus DAC from the cigarette lighter socket, when I turn the ignition off (cutting power to both things simultaneouly) then it "firm-bricks" the phone.
    If I run the Y-cable power from a battery powered USB supply instead everything is fine.
    So, I've designed a circuit to include a small SLA battery, and my SkyRC imax6 mini can provide charge to that battery while the ignition is on. I'll add some method of using the head unit 12v remote wire to power a relay to switch on the USB chargers, or may make it so that it switches in the SLA battery only during starter-motor activity so as to keep the head unit and USB chargers at 12v when the main battery voltage drops to 9v while cranking. I can have an ignition switched Qi charger running as backup charge while the head unit is off.
    An issue i've been having is forgetting to turn the head-unit off, as sound stops when I turn off the ignition (but head and amps stay on), so I need to have the music continue irrespective of the key position. I think my design manages it but yes it's a little involved.
    The other thing is that CM11 does show "charging" unlike Lollipop, so that is a plus.
  6. Theogenes

    Thanks DanBa!
  7. Beelzenef
    I have a Galaxy S2, can it work with an E7 or E17? Is any of those recommended over the other if using an S2? I am currently using Android version 4.1.2, will I need to upgrade in order to use a DAC? Is there any special cable I should buy to connect the two?
    Thanks in advance for any help!
  8. DanBa
    The Galaxy S2 can't drive any USB DAC because its USB host driver doesn't have the isochronous transfer feature that is needed to interact with a USB DAC.
  9. DanBa
    It's weird that HibyMusic can't play 192kHz music file and output 192kHz PCM audio stream to the iFi Nano iDSD. 
    May be, the USB descriptors (more precisely the supported sampling frequencies) of the iFi Nano iDSD are misread by the USB audio user-space driver of HibyMusic.
    Like UAPP or Onkyo HF Player, the HibyMusic player has its own USB audio user-space driver (i.e. USB DAC user-space driver or USB DAC driver).
    In other words, the USB DAC driver included in HibyMusic is different than the one included in UAPP or in Onkyo HF Player.
    As HibyMusic doesn't use the Android media player framework to interact with a USB DAC, HibyMusic should play and output high resolution audio.
    352.8 kHz music file > HibyMusic running on Galaxy Note3 > 352.8 kHz PCM audio stream >> XMOS USB 384K/32bit DAC with 352.8K LED light up
    The UI of UAPP & Onkyo HF Player are clearer.
    352.8 kHz music file > UAPP running on Galaxy Note3 > 352.8 kHz PCM audio stream >> XMOS USB 384K/32bit DAC with 352.8K LED light up
    352.8 kHz music file > Onkyo HF Player running on Galaxy Note3 > 352.8 kHz PCM audio stream >> XMOS USB 384K/32bit DAC with 352.8K LED light up
  10. SubSTI
    Thanks DanBa,
    Indeed looks like a mismatch between HibyMusic and the iFi for now.
    Haven't tried the Onkyo in HighRes yet. First need to decide on my travel setup before buying yet another license. The nexus is limited in storage, my Z10 with Neutron doesn't support USB OTG at all.
    Considering a 8" windows tablet with JRiver MC20 as well, at least no USB hassle there.
  11. DanBa
    Real-time DSD Convert feature introduced with upcoming Onkyo HF Player v2.0.0?
    " Onkyo HF Player Ver.2.0.0 has added a new function which calls “Real time DSD convert” function. It converts PCM (WAV, FLAC, ALAC, e.t.c.) high & normal resolution audio files to DSD high res audio signals."
    regular FLAC-encoded music file > Onkyo HF Player v2.0.0 (?) with DSD Convert feature enabled running on Sony Xperia Z3 > DSD over PCM stream >> USB OTG cable >> DSD input > Ratoc REX-KEB03 USB DAC/amp
    DSD input vs. regular PCM input: different audio signal path, different sound quality?
    Regular PCM audio path:
    regular FLAC-encoded music file > Onkyo HF Player running on Sony Xperia Z3 > regular PCM stream >> USB OTG cable >> PCM input > Ratoc REX-KEB03 USB DAC/amp
  12. Tony1110
    Anybody using USB Audio Player Pro with a Samsung Galaxy S5 to Centrance Hifi M8? I've heard that it works but would like confirmation.
  13. mdiogofs
    Anyone with the new HifimeDIY sabre 9018 Dac? It should work via UAPP on Android 4.4.4, right?
  14. DanBa
    According to the USB Audio Player PRO (UAPP) web site, the Samsung Galaxy S5 and the CEntrance HiFi-M8 are compatible with UAPP.
    A list of USB Audio Player PRO resources (compatible USB DAC, compatible Android devices, ...):

    Galaxy S5 >> USB OTG cable >> CEntrance HiFi-M8 USB DAC/amp >> headphones
  15. DanBa
    Samsung Galaxy S4 using UAPP / HibyMusic / Onkyo HF Player >> USB OTG adapter >> DSD-ready HiFime 9018 Asynchronous High Resolution USB DAC(/amp) >> headphones
    Only UAPP has a functional hardware volume control.
    HiFime 9018 Asynchronous High Resolution USB DAC draws a lot of power from the phone.
    It can draw power from an external battery pack via Y cable or via USB hub.
411 412 413 414 415 416 417 418 419 420
422 423 424 425 426 427 428 429 430 431

Share This Page