Author Topic: Can Wasapi exclusive mode bypass the windows resampler?  (Read 5941 times)

scapehips

  • Jr. Member
  • **
  • Posts: 29
Hello. For some reason my windows only supports 48kHz, and I have lots of 44.1kHz files. Should I enable "resample to" inside Musicbee? Or is listening in just Wasapi exclusive mode enough? Some forums said that windows resamples audio in a poor way.

I couldn't find a thread about it and on top of that am a n00b in audio side of things, so I came here. Thanks
Last Edit: February 05, 2021, 09:35:57 PM by mr.popo

hiccup

  • Sr. Member
  • ****
  • Posts: 7884
Welcome to the forum mr.popo.

It's probably not Windows that sets this limitation but the soundcard that you are using.
What is the exact make and model of the soundcard?

Are you able to hear differences between playing 44.1 and 48 kHz files?


sveakul

  • Sr. Member
  • ****
  • Posts: 2469
Wasapi Exclusive DOES by-pass the Windows mixer/resampler.

I find it very strange that you said your Windows only supports 48khz, I think you meant that was the sampling rate set in the Device properties (Control panel/Sound/properties/Advanced).  Wasapi-exclusive will ignore that setting and send whatever the audio file's original sample rate is to your audio drivers, whether it's 44.1k or 192k.  What this means though is that your audio device must be able to support the rates of your files.  E.g., my device supports 44.1, 48, 96, and 192k.  In the BASS audio engine world, if my device gets sent a sample rate it does not support, for example a 22.05k radio stream, bass.dll will "kick in" and internally resample that to a supported rate, i.e. 44.1k.  Otherwise, you would have no audio output.

There is no need to engage the built-in MusicBee resampler with wasapi-exclusive unless you have files whose rates are neither supported by your audio device, nor able to be handled by the bass.dll fall-back.

hiccup

  • Sr. Member
  • ****
  • Posts: 7884
 In the BASS audio engine world, if my device gets sent a sample rate it does not support, for example a 22.05k radio stream, bass.dll will "kick in" and internally resample that to a supported rate, i.e. 44.1k.  Otherwise, you would have no audio output.

Does bass.dll also do that for 44.1 to 48, when an (ancient) audio device doesn't support 44.1?

sveakul

  • Sr. Member
  • ****
  • Posts: 2469
Does bass.dll also do that for 44.1 to 48, when an (ancient) audio device doesn't support 44.1?

hiccup:  my experience with the bass.dll doing its internal resampling has only been with 22.05, 24, 32, and 88.8k streams, none supported by my device, and all were resampled to 44.1 kHz, so my guess is that is the default fall-back rate when the file is otherwise unplayable.  If it would use 48k if the device ONLY supported that, I don't know.  I verified a while ago that bass.dll does resample otherwise non-playable files with Ian Luck its developer, but I don't have any more info than that.

scapehips

  • Jr. Member
  • **
  • Posts: 29
What is the exact make and model of the soundcard? Are you able to hear differences between playing 44.1 and 48 kHz files?

Its a fairly new laptop with realtek drivers.

I honestly cannot tell the difference but different resampling methods can introduce varying artifacts right? Maybe?

hiccup

  • Sr. Member
  • ****
  • Posts: 7884
The realtek audio chipset will easily handle 44.1 kHz.
I believe you are misinterpreting Windows audio settings.
(there is plenty info on that to be found on the web)

I would suggest to just leave things as they are. Nothing artifact-like will be going on.
Especially not when you are using wasapi exclusive.

scapehips

  • Jr. Member
  • **
  • Posts: 29
Wasapi Exclusive DOES by-pass the Windows mixer/resampler.
I find it very strange that you said your Windows only supports 48khz, I think you meant that was the sampling rate set in the Device properties (Control panel/Sound/properties/Advanced).  Wasapi-exclusive will ignore that setting and send whatever the audio file's original sample rate is to your audio drivers, whether it's 44.1k or 192k.  What this means though is that your audio device must be able to support the rates of your files.  E.g., my device supports 44.1, 48, 96, and 192k.  In the BASS audio engine world, if my device gets sent a sample rate it does not support, for example a 22.05k radio stream, bass.dll will "kick in" and internally resample that to a supported rate, i.e. 44.1k.  Otherwise, you would have no audio output.

thank you for your help, understood

The realtek audio chipset will easily handle 44.1 kHz.

But I can't tell what's wrong with my device as it doesn't show me the option to select 44.1khz. I'll have to figure this out. Thanks

sveakul

  • Sr. Member
  • ****
  • Posts: 2469
But I can't tell what's wrong with my device as it doesn't show me the option to select 44.1khz. I'll have to figure this out. Thanks

Please send us a screenshot (follow the instructions that are linked when you compose a post) and show us what makes you feel you only have 48kHz as an output option in Windows, and then we can tell you how to reveal the actual choices.


sveakul

  • Sr. Member
  • ****
  • Posts: 2469
What kind of computer do you have?  Is it some kind of tablet?  Does it have only a headphones output?  Are the headphones some kind of wireless device with its own audio chip built-in?  I admit your pic stumped me, never seen a device that ONLY handled 48k!

In any case, if MB with wasapi-exclusive is producing audio for you on all your files, all should be OK.  It would mean bass.dll is resampling all the non-48k material to 48k for the headphones device.


hiccup

  • Sr. Member
  • ****
  • Posts: 7884
Bluetooth headphone?

sveakul already beat you to that ;-) :

Are the headphones some kind of wireless device with its own audio chip built-in?

scapehips

  • Jr. Member
  • **
  • Posts: 29
What kind of computer do you have?  Is it some kind of tablet?  Does it have only a headphones output?  Are the headphones some kind of wireless device with its own audio chip built-in?  I admit your pic stumped me, never seen a device that ONLY handled 48k!

In any case, if MB with wasapi-exclusive is producing audio for you on all your files, all should be OK.  It would mean bass.dll is resampling all the non-48k material to 48k for the headphones device.

Sorry for replying late. It's my laptop (hp pavilion) and has only one (wired) headphone output. There is another output but for the speaker and its sample rate option is greyed out.

Cannot do much here I think. I am going to clean reinstall windows tomorrow and see if it fixes the problem. Thanks for the help.

The Incredible Boom Boom

  • Sr. Member
  • ****
  • Posts: 1277
here



My understanding may be incorrect, but doesn't this just the maximum bitrate and sample rate his output device is able to support under WASAPI shared mode?