Audio settings

From Official Kodi Wiki
Revision as of 15:48, 21 April 2013 by >UNiversal (→‎AMD GPU fglrx Driver Limitations: ffffffffffffff)
Jump to navigation Jump to search

 Audio: AudioEngine HOW-TO: Configure audio Windows Settings Intel Linux Modifications for HD Audio 


OS Specific Information

Each OS has differing requirements and limitations, in most cases these are due to the capabilities of the drivers available for each OS.

Windows

For detailed information on Windows OS settings see Windows Settings for AudioEngine

AMD GPU

If using WASAPI do not use the Realtek HD Audio drivers as they do not work with the event driven mode XBMC uses for WASAPI. To use WASAPI you must use the AMD High Definition Audio drivers.

The Realtek HD Audio drivers will however work with the Directsound mode.

Intel GPU

To support HD Audio on Windows the Intel Management Engine Interface driver must be installed, it's this driver that provides the HDCP DRM necessary for the HD Audio formats to works. If this driver is not installed then the HD formats will be missing from the Supported Formats tab.

In order to verify you have the Intel Management Engine Interface driver installed, follow the relevant step at Blu-Ray* Disc Playback with Intel® HD Graphics FAQ

Linux

AMD GPU fglrx Driver Limitations

The AMD fglrx drivers on Linux limit the number of real audio channels to 2.0, this only provides enough bandwidth for LPCM 2.0, DTS (5.1) and AC3 (5.1) and so HD audio is NOT possible on Linux for AMD GPU's and that "Output stereo to all speakers" must be disabled. Further to this the fglrx drivers limit HDMI audio to a 48Khz sample rate however 96KHz is possible on SPDIF.

When using AMD HDMI to an AVR then use the "AVR (no HD Audio)" settings.

Intel GPU HD Audio

HD Audio on Intel SandyBridge & IvyBridge systems require a patch from Intel to be included within the kernel, Linux 3.7 and higher include this patch as standard. In addition modification to system files maybe required in order to get the HDMI audio working.

For more detail on the required Linux modifications see Intel Linux Modifications for HD Audio

GUI Settings

Audio Output GUI

AE brings several new settings to the graphical user interface (GUI) as well as to advancedsettings.xml.

Settings -> System -> Audio output
NOTICE The screenshot below is just for illustration/documentation purposes, do not setup your XBMC audio that way, unless with compatible hardware connected.


Settings - Audio Output.png

Audio output

This allows you to tell XBMC about the type of connection to the audio equipment so it can set the available GUI options appropriately, in addition it tells XBMC the LPCM capabilities of the connection. Note: This unrelated with telling XBMC where the audio is actually sent, this is done via Audio output device and Passthrough output device settings.

- Analog: Disables all the "capable receiver" options for passthrough and allows multi-channel LPCM to be pass to a soundcard.
Note: Analog in this case does not mean a D/A conversion is done by XBMC, this setting purely enables the hand-off of the LPCM data to allow either a on-board soundcard or off-board USB soundcard to do the actual D/A conversion before sending audio to speaker outputs.
- Optical/Coax: This enables the selection of the Dolby Digital and DTS capable receiver options and limits the output of LPCM to 2 channels. :
Note: If you want to transcode one format to another, for example DTS is not supported on your receiver but AC3 is, then select just AC3 however as the DTS is decoded to LPCM before being encoded again to AC3 then the resulting audio will be AC3 2.0 only due to the LPCM 2.0 limit imposed by selecting Optical/Coax, if you want a full 5.1 channel transcode you'll have to select the HDMI option even if you're not using a HDMI output.
- HDMI: This enables all the capable receiver options, so in addition to what's available for Optical/Coax, TrueHD, DTS-HD and Multichannel LPCM capable receiver options are now selectable, in addition there is no limit on how LPCM is passed.
Speaker Configuration

Select your physical speaker layout. Note: If connected to a TV then don't set higher than 2.0 as it's not likely that it'll will be supported, only set higher if it's known for sure that channel configuration is supported e.g. 5.1

Boost volume level on downmix

Boosts AC3 streams that have been downmixed to 2 channels

Output stereo to all speakers

This upmixes 2 channel stereo sources to what specified by the Speaker Configuration so audio is output on all speakers


- Dolby Digital (AC3) capable receiver
Select this option if your receiver is capable of decoding AC3 streams.
Note: AAC is transcoded to AC3 when this option is checked. (AC3 capable receiver is required.)
- DTS capable receiver
Select this option if your receiver is capable of decoding DTS streams.
- AAC capable receiver
Select this option if your receiver is capable of decoding AAC streams.
Note: AAC receivers likely do not natively decode AAC in passthrough, likely shows up as LPCM. This is not a XBMC/AE limitation
- MultiChannel LPCM capable receiver
Select this option if your receiver is capable of decoding LPCM streams.

- TrueHD capable receiver
Select this option if your receiver is capable of decoding TrueHD streams.
- DTS-HD capable receiver
Select this option if your receiver is capable of decoding DTS-HD streams.

Audio output device

This is the device you use to play LPCM or audio decoded by XBMC such as mp3's and FLAC. Note: If XBMC plays a file which has audio that the system does not support (thus the above capable receiver option is not selected e.g. DTS capable receiver is not selected) then it is either transcoded to a supported format or decoded and sent as LPCM, in both cases this will be the audio device used.

Passthrough output device

This device you use to play the encoded formats, these are any of the formats checked above in the "capable receiver" options.


Play GUI sounds

This sets how interface sounds are handled such as when navigating the menus, select from Never, Only when playback stopped, or Always.


IMPORTANT NOTE:

The "capable receiver" options relate only to the passthrough of audio to another device such as an AVR, where that device must support decoding of the format. Before leaving any "capable receiver" option enabled check to make sure that both the playback device running XBMC (e.g. HTPC) and the connected device (e.g. AVR) both support that format.

If you have a "capable receiver" option enabled that your device does not support then this will result in poor playback of video typically with a very low frames-per-second and no audio, so for example if the TrueHD capable receiver option were enabled then make sure that the playback device can passthrough TrueHD and that the connected device can decode TrueHD, if either of the devices do not support TrueHD then the TrueHD capable receiver option MUST be left disabled.

For any format where the "capable receiver" option is not selected, XBMC will still playback any content containing those audio types, however instead of the audio being passed through, XBMC will decode audio and then send the audio in a compatible format.

If connected directly to a TV be aware that TV are not compatible with DTS, TrueHD or DTS-HD, typically the only encoded format a TV will be compatible with is AC3.


Audio Output Settings Guide

Depending on how your equipment is connected together you'll need to adjust the audio setting.

NOTICE The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.
XBMC Settings PC Speakers
(2.0)
PC Speakers
(5.1)
TV AVR SPDIF AVR HDMI
(no HD Audio) ★
AVR HDMI
(HD Audio)
SPDIF
(Transcode to AC3)
Audio Output Analog Analog Analog Optical/Coaxial HDMI HDMI SPDIF
Speaker configuration 2.0 5.1 2.0 5.1 5.1 7.1 5.1
Boost volume level on downmix Enabled Enabled Enabled Enabled Enabled Enabled Enabled
Output stereo to all speakers Disabled Disabled Disabled Disabled Disabled Disabled Disabled
Dolby Digital (AC3) capable receiver N/A N/A N/A Enabled Enabled Enabled Enabled
DTS capable receiver N/A N/A N/A Enabled Enabled Enabled Disabled
AAC capable receiver N/A N/A N/A Disabled Disabled Disabled Disabled
MultiChannel LPCM capable receiver N/A N/A N/A Disabled Enabled Enabled Disabled
TrueHD capable receiver N/A N/A N/A Disabled Disabled Enabled Disabled
DTS-HD capable receiver N/A N/A N/A Disabled Disabled Enabled Disabled
Linux / OSX - Output Device Settings
Audio output device Speakers Speakers SPDIF/HDMI SPDIF HDMI HDMI SPDIF
Passthrough output device N/A N/A N/A SPDIF HDMI HDMI SPDIF
Windows - Output Device Settings
Audio output device ★★ WASAPI/Directsound - Speakers WASAPI/Directsound - Speakers WASAPI/Directsound - SPDIF/HDMI WASAPI/Directsound - SPDIF WASAPI/Directsound - HDMI WASAPI - HDMI WASAPI/Directsound - SPDIF
Passthrough output device ★★ N/A N/A N/A WASAPI/Directsound - SPDIF WASAPI/Directsound - HDMI WASAPI - HDMI WASAPI/Directsound - SPDIF

Where AVR has HDMI inputs but can't decode HD audio

★★ WASAPI offers best quality if connected to an AVR or DAC but may not always work, and Directsound offers better compatibility and should work in just about all equipment configurations. The only time WASAPI must be used is when trying to passthrough HD audio.

Advanced settings

Current advancedsettings.xml tags for audioengine:

 <advancedsettings>
   <audio>
     <resample>0</resample>
     <forceDirectSound>0</forceDirectSound>
     <audiophile>0</audiophile>
     <audiosinkbufferdurationmsec>50</audiosinkbufferdurationmsec>
     <allowtranscode44100>0</allowtranscode44100>
     <streamsilence>0</streamsilence>
   </audio>
 </advancedsettings>

Default values are shown above in the code box - these values are used if that tag does not exist.

<resample> force resampling of audio at a given frequency e.g. 48000 = 48khz
<forceDirectSound> win-specific - will not use Wasapi API 0 = false, 1 = true
<audiophile> forces playback of original format, will not down/upmix next song to match current, not compatible with cross-fading 0 = false, 1 = true
<audiosinkbufferdurationmsec> win-specific, buffer time in msec, hard minimum of 50msec
<allowtranscode44100> allows 44100hz when trancoding for SPDIF devices 0=false, 1=true
<streamsilence> Forces original AE behaviour where an audio signal is constantly streamed to the audio device, even if silent. If 1 or true, this prevents some receivers from losing the signal/source, and prevents sinks re-opening and possible receiver switching with each new stream after any silence. If 0 or false, enables Eden-style releasing of the audio device so external players, programs and the system can access the audio device, i.e. prevents XBMC from hogging the audio device.