Skip to main content
Topic: Windows 7 Direct Sound default sample rate. WASAPI. (Read 2434 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Windows 7 Direct Sound default sample rate. WASAPI.

Hi folks,

I know this or similar questions were already discussed. I read few threads, but need some details.

My current setup is Windows 7, Audioengine D3 DAC ( 48.1kHz-96kHz native playback), FB2000 with either Direct Sound or Wasapi.

When I look at the default audio settings as per screenshot - 96 kHz is selected. In this case, if I use Direct Sound (DS) output, the blue indicator of my DAC is always lit, which means that the signal Windows sends to the DAC  is 96 kHz.



1. But why 96 kHz is the default option?

Majority of my files are 16 / 44.1? Aren't we creating another useless link in the chain by upsampling 44.1 to 96 kHz, which might distort the signal?

2. I have tried switching between Wasapi and DS. At glance, I don't hear any differences, but as you might guess - I'm strongly biased to rather use WASAPI. However, I don't like that all other applications are muted in this case and I get occasional sound freezes and glitches using it. I just doubled WASAPI buffer and will test it later.

4. Should I select 44.1 as default sample rate in Windows?

5. Is WASAPI any better than DS if latency is not a problem?

Thanks in advance!

Re: Windows 7 Direct Sound default sample rate. WASAPI.

Reply #1
Ok, here are my answers:

1) The default most probably depends on the driver. Integrated soundcards usually set the default to 48Khz.

Now, let me explain what this default option is:
Since Windows Vista (where WASAPI first appeared), the "MME/WaveOut" and Directsound APIs became just a wrapper on top of WASAPI.
- WASAPI, by default, works at the default sample rate, and sources from MME and Directsound get automatically resampled by the wrappers to the WASAPI default sample rate in order to get mixed.
- WASAPI shared-mode sources do not get automatic resampler. Concretely, it's the application responsibility to resample to the default samplerate and use the system-determined buffer sizes/latencies. Then, WASAPI mixes them as-is and sends it to the soundcard.
- For WASAPI exclusive-mode sources, WASAPI mixing gets bypassed, and the application takes responsibility to negotiate with the soundcard what samplerates and bit depths it supports and to use one of them.

Note: At the beginning, there was a problem with this resampler especially when resampling from MME/Waveout, and Microsoft released a patch in order to improve the quality of the resampling. Nowadays, the resampling of those sources is good, but several factors can affect the final result, so comparisons always need to verify that everything is setup correctly.

2) Differences shouldn't be obvious, since usually, there shouldn't be any, other than different roundings.
In case of foobar 2000, I should mention that it uses WASAPI-exclusive, so that's why it blocks other applications, but that also means that the soundcard receives the audio at the sample rate and bit depth of the source (if supported).

I use Foobar2000 with directsound also to allow other applications to access the soundcard. With some other applications I've been using WASAPI shared for the low latency: ( I could have 20ms on a 10 year old core 2 duo, and can have 10ms on a core i7, but I can have even 1ms with ASIO with the i7).


3)  oh wait. there's no 3..

4) I would say yes. If that is the sampling rate of most of your audio, why not? That means that there will be less resampling steps.

5) I sort of explained this on point 2.  WASAPI output on foobar2000 can send the audio directly to the soundcard without additional resampling and changing bit sizes. That doesn't imply that it will sound better, because the benefits might be simply theoretical.

 
SimplePortal 1.0.0 RC1 © 2008-2019