How does the volume in foobar and windows work if i have an external DAC?
Feb 18, 2015 at 5:06 AM Thread Starter Post #1 of 3

Dobrescu George

Reviewer: AudiophileHeaven
Joined
Jan 30, 2011
Posts
15,675
Likes
9,196
Location
Bucharest, Romania
I have an external DAC, and i was wondering how exactly does the volume work when i set it in foobar or windows, if i use my fiio x5 as a DAC. x5 has an analog volume control on itself, which i use, but sometimes it is faster, and easier to set the volume straight from foobar, and i was wondering how does it work?
 
more specifically does it affect the SQ or just the volume?
 
does it delete data?
 
Feb 18, 2015 at 6:22 AM Post #2 of 3
  I have an external DAC, and i was wondering how exactly does the volume work when i set it in foobar or windows, if i use my fiio x5 as a DAC. x5 has an analog volume control on itself, which i use, but sometimes it is faster, and easier to set the volume straight from foobar, and i was wondering how does it work?
 
more specifically does it affect the SQ or just the volume?

 
The foobar volume control is digital, and most likely the Windows one too (unless the device supports digitally controlled analog volume, and it is exposed to the OS/applications via a driver, which I doubt). In theory, digital volume control reduces the sound quality by lowering the dynamic range, but in practice this should only have an audible effect in rather sub-optimal cases, such as very low digital volume combined with high analog volume and gain. Obviously, if the DAC supports 24-bit input, then the Windows audio output format should be set to that resolution.
 
Feb 18, 2015 at 7:28 PM Post #3 of 3
   
The foobar volume control is digital, and most likely the Windows one too (unless the device supports digitally controlled analog volume, and it is exposed to the OS/applications via a driver, which I doubt). In theory, digital volume control reduces the sound quality by lowering the dynamic range, but in practice this should only have an audible effect in rather sub-optimal cases, such as very low digital volume combined with high analog volume and gain. Obviously, if the DAC supports 24-bit input, then the Windows audio output format should be set to that resolution.


 @stv014 I am in a position to solve this one, since I work with USB.  I have not looked at this specific class spec but I've been dragged into many a long discussion about Mass Storage and CDC and a few others.  Generally all these protocols utilize a control layer with special short packets, which are separate than the main data transfers which will be 512/1024 Byte packets depending on the mode.   Mass Storage uses 38B control packets, for example. 
 
The special packet format is totally up to whoever invents the class spec.  That is where a request for volume change will be transmitted to the external DAC and it can ack or nak that, and then presumably it will use the internal digitally-controlled analog volume present in all the leading DAC chips.
 
I did some reading on this a few months ago and I came to the conclusion that more probably than not this is how it works for both internal and external USB DACs - the driver asks the chips to do it rather than resorting to doing it completely digitally in the host which as you say could degrade quality at low levels.  That would only be a fallback.  
 
BUT, I did not prove this.  Frankly I could not easily find a spec online it would be quicker if I had handy a USB DAC to have one of the lab guys throw it on Lecroy/CATC and look at the packets. 
 
But since I don't the easiest would be for the OP to use your Quantize program to lower the bits to something drastic like 8 bit and then hear the quantization noise change drastically with volume level.  If the relative noise is almost immune to volume level then it's being done in the DAC chip by analog. 
 

Users who are viewing this thread

Back
Top