• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required as is 20 years of participation in forums (not all true). Come here to have fun, be ready to be teased and not take online life too seriously. We now measure and review equipment for free! Click here for details.

Get the best sound quality in windows using wasapi

helloworld

Active Member
Joined
Jul 10, 2018
Messages
223
Likes
191
#1
I am still confused about the bit-perfect using usbdac in windows. I did some research and it looks like we need to either use asio or wasapi to bypass the windows system volume control. Take foorbar 2000 for example, when I use wasapi output, should I set foorbar volume to 100% and use the usb dac volume control or the foorbar volume control is actually connecting to the Dac volume control so I could use foorbar volume control? Thanks!
 

Ron Texas

Major Contributor
Joined
Jun 10, 2018
Messages
3,683
Likes
4,548
Location
A mysterious place with no name.
#2
Unless your DAC is designed to respond to the windows volume control with it's hardware volume control, the windows volume control will do nothing when using WASAPI or ASIO. The Topping D30 tracks the windows volume control, for example. Not knowing what DAC you are using makes answering the question difficult.
 
OP
H

helloworld

Active Member
Joined
Jul 10, 2018
Messages
223
Likes
191
Thread Starter #3
Unless your DAC is designed to respond to the windows volume control with it's hardware volume control, the windows volume control will do nothing when using WASAPI or ASIO. The Topping D30 tracks the windows volume control, for example. Not knowing what DAC you are using makes answering the question difficult.
I use khadas tone board and it did not come with a hardware volume control, but @Ben1987 said next month they are going to make a small pcb board to give the hardware volume control of this board. Let's assume my dac do have a hardware volume control, so it actually depends on if my dac tracks the foorbar volume control right? otherwise I had to set the foorbar volume to 100% to get the best sound quality? Thanks!
 
Joined
Sep 25, 2018
Messages
79
Likes
38
#4
I think it's better to have windows volume set to 100% and control the attenuation with foobar, if you have no external control (dac or amp)
 

Ron Texas

Major Contributor
Joined
Jun 10, 2018
Messages
3,683
Likes
4,548
Location
A mysterious place with no name.
#5
I use khadas tone board and it did not come with a hardware volume control, but @Ben1987 said next month they are going to make a small pcb board to give the hardware volume control of this board. Let's assume my dac do have a hardware volume control, so it actually depends on if my dac tracks the foorbar volume control right? otherwise I had to set the foorbar volume to 100% to get the best sound quality? Thanks!
For the time being use the Foobar volume control. When you get the hardware volume control it may or may not offer an audible improvement. The windows volume control should be irrelevant if you are using WASAPI or ASIO and setting it at 100% will be annoying for audio not coming from Foobar. The only problem with an add on volume control is you have to get up to use it. Not for couch potatoes like me.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,244
Likes
1,094
#6
Try to play the attached VolumeTest.wav with foobar's volume control, try it with other playback software, try it with ASIO/WASAPI/DirectSound as well.

(A)
0dB: The middle part of the file should be silent.
-1dB: The middle part can be heard.
-2dB: The middle part can be heard, and should sound different from -1dB in timbre.
-3dB: The middle part can be heard, and should sound different from -2dB in timbre.
Below -3dB: The whole file should sound like -3dB in timbre, but in lower volume.

simulation.flac contains 4 parts showing how VolumeTest.wav should sound from 0 to -3dB. This flac file is only a simulation of what you should hear, so don't judge the file data-wise.

(B)
Then keep foobar's volume at 0dB and try to change the volume elsewhere, for example, Windows' main volume control, the mixer app from your audio device's vendor (if any), the physical volume knob/button on the DAC (if any). If those volume controls don't behave like (A), then they are potentially problematic.

This post has a calculator to demonstrate the math:
https://www.audiosciencereview.com/...depth-should-i-set-my-dac-to.8956/post-255104

This post explains why floating point compatibility is important:
https://archimago.blogspot.com/2019/06/guest-post-why-we-should-use-software.html
 

Attachments

Last edited:

JohnPM

Active Member
Technical Expert
Joined
Apr 9, 2018
Messages
193
Likes
529
Location
UK
#7
Is there a standard that defines how playback software should respond to floats >1 in a WAV file?
 

graz_lag

Major Contributor
Joined
Oct 13, 2018
Messages
1,296
Likes
1,501
Location
Le Mans, France
#9
I am still confused about the bit-perfect using usbdac in windows. I did some research and it looks like we need to either use asio or wasapi to bypass the windows system volume control. Take foorbar 2000 for example, when I use wasapi output, should I set foorbar volume to 100% and use the usb dac volume control or the foorbar volume control is actually connecting to the Dac volume control so I could use foorbar volume control? Thanks!
Use ASIO if it's available for your audio device instead of WASAPI.

For the volume control, pls. be aware that foobar - within the bit-perfect playing configuration (which is the one you want definitively to have), takes exclusive control of your audio device, so your DAC in this case. Thus, as a result, the Windows DirectSound volume control is not - and should not, be active whilst foobar plays. If it still, you're not in bit-perfect playing configuration.
Once foobar has got the exclusive control of the external DAC, it's become irrelevant to control the volume via foobar or via the DAC, you can use the most ergonomic way you like.

i.e. The Foobar2000 Controller app for Android lets you control the foobar player that is playing in the computer remotely from your phone. I keep my DAC volume set to 50% and I adjust the sound volume into the room via the Foobar2000 app from my phone ...
 
OP
H

helloworld

Active Member
Joined
Jul 10, 2018
Messages
223
Likes
191
Thread Starter #10
Use ASIO if it's available for your audio device instead of WASAPI.

For the volume control, pls. be aware that foobar - within the bit-perfect playing configuration (which is the one you want definitively to have), takes exclusive control of your audio device, so your DAC in this case. Thus, as a result, the Windows DirectSound volume control is not - and should not, be active whilst foobar plays. If it still, you're not in bit-perfect playing configuration.
Once foobar has got the exclusive control of the external DAC, it's become irrelevant to control the volume via foobar or via the DAC, you can use the most ergonomic way you like.

i.e. The Foobar2000 Controller app for Android lets you control the foobar player that is playing in the computer remotely from your phone. I keep my DAC volume set to 50% and I adjust the sound volume into the room via the Foobar2000 app from my phone ...
so foobar can control your dac volume? Through dac’s hardware volume control?
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,244
Likes
1,094
#11
Is there a standard that defines how playback software should respond to floats >1 in a WAV file?
As long as the software can understand float, it should response to >1 floats by using the 20*log(x) formula in volume control, where x is the float value.

It is not uncommon to find >1 float in audio files, and those files are not necessarily WAV.
https://forum.cockos.com/showpost.php?s=7a06f4d4ca76d2ca560cb8f0b240c6f0&p=2001665&postcount=30

Wavpack also support lossless float formats.
http://www.wavpack.com/
 

graz_lag

Major Contributor
Joined
Oct 13, 2018
Messages
1,296
Likes
1,501
Location
Le Mans, France
#12
so foobar can control your dac volume? Through dac’s hardware volume control?
No, as in bit-perfect foobar takes full control of the audio device (your DAC, which - when connected to the computer is seen as an external sound card), it's (foobar) volume control replaces the Windows volume master control. (Fortunately ... :))

Scenario #1 : -100.00dB on your DAC volume control combined to 0.00dB on foobar volume control = you hear no sound
Scenario #2 : 0.00dB on your DAC volume control combined to -100.00dB on foobar volume control = you hear no sound
Scenario #3 : Any combination between the above two lets you hear sound. At this point, you adjust the dB level either on the DAc or via foobar.

If you desire to match the dB volume step between your DAC and foobar, you can do that within foobar "File-Preferences-Advanced-Playback-Volume step" ...
 
Last edited:

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,244
Likes
1,094
#13
I don't know what @helloworld is caring about...

If you worry about audio quality, the function of a DAC is to convert digital to analog, what matters is the analog output. Unless the intermediate digital processing produces measurable differences at analog output and shows one method is inferior to another, there is no reason to assume hardware volume control is in any form superior to software volume control.

If you care about functionalities, I think it is technically possible to control the playback software's volume control via the physical buttons on a USB DAC. The DAC manufacturer can implement a HID interface to behave like a keyboard's media keys or other keys. If the playback software has configurable hotkeys and/or media key support then it can be used to receive the key commands from the DAC.
 
Joined
Sep 16, 2018
Messages
58
Likes
25
#14
wasapi is windows driver which it doesn't disable other resources. If you don't use serial and parallel ports, you can disable in bios or windows
asio will disable other apps that won't allow to listen until you close Foobar2000
I use with BenchMark DAC2, asio is sound better. Max windows volume, use Foobar2000 volume instead, do not use DAC volume. ASIO4ALL 2.14 version is pretty good. 1/4 volume on preamp.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
2,943
Location
Zg, Cro
#16
No, as in bit-perfect foobar takes full control of the audio device (your DAC, which - when connected to the computer is seen as an external sound card), it's (foobar) volume control replaces the Windows volume master control. (Fortunately ... :))

Scenario #1 : -100.00dB on your DAC volume control combined to 0.00dB on foobar volume control = you hear no sound
Scenario #2 : 0.00dB on your DAC volume control combined to -100.00dB on foobar volume control = you hear no sound
Scenario #3 : Any combination between the above two lets you hear sound. At this point, you adjust the dB level either on the DAc or via foobar.

If you desire to match the dB volume step between your DAC and foobar, you can do that within foobar "File-Preferences-Advanced-Playback-Volume step" ...
Let me add to this that even DACs that doesn't claim to have volume control, like Topping D10 for example, actually can control volume via XMOS USB chip. Even USB to SPDIF "bridge" device are capable of controlling the volume if they are equipped with XMOS chip.
 
OP
H

helloworld

Active Member
Joined
Jul 10, 2018
Messages
223
Likes
191
Thread Starter #17
Let me add to this that even DACs that doesn't claim to have volume control, like Topping D10 for example, actually can control volume via XMOS USB chip. Even USB to SPDIF "bridge" device are capable of controlling the volume if they are equipped with XMOS chip.
Could you explain more details about how to use the xmos to control topping d10’s volume? Through xmos control panel or through foobar in the exclusive mode? Thanks!
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
2,943
Location
Zg, Cro
#18
Could you explain more details about how to use the xmos to control topping d10’s volume? Through xmos control panel or through foobar in the exclusive mode? Thanks!
I wouldn't know if it is possible to do that from XMOS control panel or foobar, but it is via linux ALSA. This is how it looks with Volumio, which also uses ALSA for playout:



Btw, this volume control operates in a same way when DAC chip does it. it is well described here.

If I have to guess I would imagine XMOS ASIO control panel does it the same way. If XMOS control panel volume moves together with foobar than foobar uses that method as well.
 

graz_lag

Major Contributor
Joined
Oct 13, 2018
Messages
1,296
Likes
1,501
Location
Le Mans, France
#19
I wouldn't know if it is possible to do that from XMOS control panel or foobar, but it is via linux ALSA. This is how it looks with Volumio, which also uses ALSA for playout
Exactly, MPD software volume control is another example, however going back to @helloworld 's original question for foobar, no I am not aware that can be done with foobar (with either ASIO or WASAPI drivers) ... also after browsing the list of components that are available for foobar ...
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
2,943
Location
Zg, Cro
#20
Exactly, MPD software volume control is another example, however going back to @helloworld 's original question for foobar, no I am not aware that can be done with foobar (with either ASIO or WASAPI drivers) ... also after browsing the list of components that are available for foobar ...
I believe XMOS control volume works the way I described. If XMOS volume control reacts to the volume adjustments in foobar then foobar is using it to control volume, which may be the case in ASIO exclusive mode.
 
Top Bottom