Difference between revisions of "Audio Output Modes"

From JRiverWiki
Jump to: navigation, search
 
Line 3: Line 3:
  
 
==Hardware Direct==
 
==Hardware Direct==
If you want to get the best possible audio quality, you want to talk to your sound hardware in as direct of a way as possible.  You do not want Windows or any other layer resampling or doing other processing to the signal.  ASIO, WASAPI, and Kernel Streaming are all hardware direct.
+
To get the best possible audio quality, you want to talk to your sound hardware in as direct of a way as possible.  You do not want Windows or any other layer resampling or doing other processing to the signal.  ASIO, WASAPI, and Kernel Streaming are all hardware direct.
  
 
There are some drawbacks to hardware direct communication:
 
There are some drawbacks to hardware direct communication:
Line 21: Line 21:
 
If your soundcard has a native ASIO driver, this is the most direct (and normally best) way to communicate with it.
 
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 in Media Center.
+
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.
  
 
==Output mode: Windows Audio Session API (WASAPI)==
 
==Output mode: Windows Audio Session API (WASAPI)==
WASAPI is a hardware communication system built into Vista, Windows 7, and newer.  When used in 'exclusive' mode, the system mixer is bypassed.
+
WASAPI is a hardware communication system built into Vista, Windows 7, and newer.  When used in 'exclusive' mode (available in ''Output mode settings...'' below WASAPI selection), the system mixer is bypassed.
  
 
==Output mode: Kernel Streaming==
 
==Output mode: Kernel Streaming==
Line 30: Line 30:
  
 
==Output mode: Direct Sound==
 
==Output mode: Direct Sound==
This is the default and 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 compatible but not the highest quality method.
+
This is the default and 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 not the highest quality method.
  
 
==Output mode: Wave Out==
 
==Output mode: Wave Out==
Line 36: Line 36:
  
 
==Output mode: Disk Writer==
 
==Output mode: Disk Writer==
 +
This writes whatever would have gone to the soundcard to a WAV file on disk.
 +
 +
==Notes==
 +
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.
 +
 +
[[category:Options]]

Revision as of 12:01, 10 August 2010

Overview

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.

Hardware Direct

To get the best possible audio quality, you want to talk to your sound hardware in as direct of a way as possible. You do not want Windows or any other layer resampling or doing other processing to the signal. ASIO, WASAPI, and Kernel Streaming are all hardware direct.

There are some drawbacks to 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.

Best Audio Quality Output Mode

Work down this ladder to choose the best output for your hardware: 1) If your hardware has a native, well-behaved, ASIO driver, use ASIO. Otherwise see #2. 2) If you are on Windows Vista, Windows 7, or newer, use WASAPI exclusive. Otherwise see #3. 3) If Kernel Streaming works, use Kernel Streaming. Otherwise see #4. 4) Use DirectSound or WaveOut. Neither provide hardware direct output, so choose based on performance.

Output mode: ASIO

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.

Output mode: Windows Audio Session API (WASAPI)

WASAPI is a hardware communication system built into Vista, Windows 7, and newer. When used in 'exclusive' mode (available in Output mode settings... below WASAPI selection), the system mixer is bypassed.

Output mode: Kernel Streaming

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.

Output mode: Direct Sound

This is the default and 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 not the highest quality method.

Output mode: Wave Out

This is a legacy output mode. With some misbehaved hardware, it may work better than DirectSound.

Output mode: Disk Writer

This writes whatever would have gone to the soundcard to a WAV file on disk.

Notes

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.