Difference between revisions of "Audio Output Modes"
|Line 51:||Line 51:|
The only way to prevent a Creative Labs X-Fi based card or Asus Xonar card from resampling all incoming audio is to use ASIO. WASAPI exclusive will not change the master clock of the card.
The only way to prevent a Creative Labs X-Fi based card or Asus Xonar card from resampling all incoming audio is to use ASIO . WASAPI exclusive will not change the master clock of the card.
Revision as of 11:23, 31 August 2010
Tools > Options > Audio
Player > Playback Options
See also: Audio Playback Options
Media Center can output audio data in a variety of ways. This is important, because different hardware requires different communication methods to obtain the best possible audio quality and performance.
To get the best audio quality, your software should communicate directly with your sound hardware, without Windows or any other layer doing resampling or other processing of the signal.
ASIO, WASAPI, and Kernel Streaming are all hardware direct.
There are some things to be aware of when using hardware direct communication:
- During audio playback, the soundcard will be locked. You will not be able to play sounds from a web browser or other program while audio is playing.
- Playback of sample rates your soundcard does not support will not be possible. Use DSP Studio > Output Format to allow Media Center to convert to a supported sample rate.
Choosing Audio Quality Output Mode
Choose the best output for your hardware in this order:
1) If your hardware has a native, well-behaved, ASIO driver, use ASIO.
2) Otherwise, on Windows Vista, Windows 7, or newer, use WASAPI exclusive.
3) Otherwise, use Kernel Streaming if it works.
4) If none of the above are possible, use DirectSound or WaveOut. Neither of these provide hardware direct output, so choose based on performance.
ASIO is a sound card communication system created by Steinberg.
If your soundcard has a native ASIO driver, this is the most direct (and normally best) way to communicate with it.
Please note that ASIO4All is basically Kernel Streaming with an ASIO wrapper. There's no good reason to use ASIO + ASIO4All vs just using Kernel Streaming directly in Media Center.
Windows Audio Session API (WASAPI)
WASAPI is a hardware communication system in Vista, Windows 7, and newer. When used in 'exclusive' mode (available in Output mode settings... below WASAPI selection), the Windows system mixer is bypassed.
Kernel Streaming is a hardware direct way to speak directly to a WDM audio driver. It works on XP, so is useful when the above two options are not possible.
This is Windows default and the most compatible output method. It plays through the system mixer. This means all formats will be converted by Windows to the native format of the card. It is highly compatible, but it is not the highest quality method.
This is a legacy output mode. With some misbehaved hardware, it may work better than DirectSound.
This writes whatever would have gone to the soundcard to a WAV file on disk.
The only way to prevent a Creative Labs X-Fi based card or Asus Xonar card from resampling all incoming audio is to use ASIO and the driver that came with the card. With these cards, WASAPI exclusive will not change the master clock of the card.