Contents:
-
Why is the volume of my audio so wide ranging? e.g. voices are quiet, explosions are loud
-
[Why does my sound system only play Stereo/2-channels or PCM/Multi-channel when trying to bitstream a surround sound codec?](#why-does-my-sound…
Contents:
-
Why is the volume of my audio so wide ranging? e.g. voices are quiet, explosions are loud
-
Why does my HTPC change audio/display settings when switching inputs or waking from Sleep/Power up?
-
When I play my content, why is the audio out of sync with the video?
-
When I play my content, why does the audio start playing with a delay?
-
How can I transport Surround sound over a Stereo only audio interface?
-
How do I configure my HTPC to output sound for games to my sound system?
-
How can I send 4k video to my TV and HD audio to my old AVR without cloning/extending my display?
Audio Setup Guide
This page is best viewed with a PC web browser.
Technologies
For simplicity, the term “HTPC” used here can mean either a PC or a streaming device, like a Roku/Fire TV/etc, except where differences are noted. The term “Sound System” can mean an AV Receiver, Amplifier, Soundbar, DAC, Speakers or Headphones. The term “Display” can mean a TV or Projector.
This is a complicated topic due to the sheer number of variations in hardware between HTPCs, Sound Systems and Displays. As such this wiki page is long and detailed. You are urged to read the Audio Formats and Transports sections before you embark on the Setup sections below, so you understand the terms and concepts that will be mentioned later on.
Audio Formats/Codecs
Audio from an HTPC can be consumed in Analog or Digital form. We will be concerning ourselves mostly with the Digital forms here. Implementations of these forms we call “Formats” or “Codecs”. For simplicity, we will use the term “codec” below except where required.
There are many digital forms that audio can take. The two main ones we will be dealing with are:
- Audio encoded in a particular codec. e.g. Dolby TrueHD, DTS, AAC, etc..
- Each codec has its own bandwidth requirements and number of channels it supports
- All codecs are compressed. Lossless codecs (like Dolby TrueHD) are preferred over lossy codecs (like Dolby Digital), for better quality, where available
- Whether you can play a particular codec will depend on the support by the Interfaces and Sound System you use. An Interface may pose a bandwidth limitation for a codec or a Sound System/Display may not be feature-rich enough to support a codec.
- Audio encoded in a common, uncompressed, non-specific format. i.e. what’s called PCM.
- PCM is a base form of digital audio and as such, is the most compatible format
- It’s usually something a codec is converted into for compatibility reasons. For instance, if the DTS codec isn’t supported by your Sound System, your HTPC can decode it into individual PCM channels before sending it to the Sound System
- While it’s the most compatible format across equipment, since it’s uncompressed it requires a lot more bandwidth from audio interfaces than its compressed codec counterparts. So while a particular interface may be able to carry a lossy, compressed 5.1 codec like Dolby Digital, it may only be able to carry lossless, uncompressed 2.0 PCM (e.g. HDMI ARC)
- PCM is the DEFAULT output of the operating system, web browsers and typical gaming audio
In practice, an HTPC can support ALL codecs by either passing them through to a sound system or decoding them. Display and Sound System equipment are what complicate what’s possible, as their support for formats is wide and varied. When researching your digital equipment (such as your a AV Receiver, sound bar, and/or TV for passthrough), make sure it supports the codec(s) you want to decode or passthrough over the interfaces you want. If one piece of equipment in the audio workflow doesn’t support a codec, you may have to settle for conversion to PCM, or no sound at all, when playing that codec. Read spec pages, user manuals, rtings.com reviews, flatpanelshd.com, and/or displayspecifications.com to determine what audio interfaces you have and find the least common denominators/bottlenecks in the entire system
You should know which formats you want to use based on the type of content you want to play. If you’re playing local media content, you probably want Dolby Digital/DTS, perhaps all the way up to Dolby TrueHD Atmos/DTS:X. If you want commercial streaming services, you want Dolby Digital up to Dolby Digital+ Atmos. If you want gaming, you want PCM and/or Dolby MAT Atmos
Some audio tracks will have multiple codecs inside them, for compatibility. For instance, you may see an audio track which has both Dolby TrueHD and Dolby Digital in it, so if TrueHD cannot be played, the lossy DD version can be used.
These are the codecs/encoded formats you’re likely to run into:
PCM/LPCM: Lossless. # of channels dependent on interface. Optical/HDMI ARC only supports 2 channels. More than 2 channels can be played over regular HDMI/eARC/Displayport/RCA/3.5mm. Common in web browsers and typical gaming audio. Default OS output
AAC/HE-AAC: Lossy, <= 320 Kbps. Up to 48 channels. Almost always cannot be decoded (esp. in 5.1 form) by Sound Systems. Decode to PCM or re-encode first. Also applies to FLAC/MP3/OGG.
Dolby Digital/AC-3: “DD”. Lossy, <= 640 kbps. Up to 5.1 channels. Common in commercial streaming media, physical media. Can be played over Optical/HDMI/HDMI ARC
Dolby Digital Live: Encodes PCM 5.1 audio into a compressed 5.1 DD stream for transport over bandwidth-starved Optical/HDMI ARC interfaces. Used in gaming on specific soundcards.
DTS Connect / Interactive: DTS’s version of Dolby Digital Live. Encodes PCM 5.1 into a compressed 5.1 DTS stream.
DTS/DCA: Lossy, <= 1.5 Mbps. Up to 5.1 channels. Common in physical media, not streaming media. DD competitor. Can be played over Optical/HDMI/HDMI ARC
Dolby Digital+/E-AC-3: “DD+”. Lossy, <= 6 Mbps (1.7 on Blu-Ray). Up to 15.1 channels. Can be played over full HDMI or HDMI ARC (5.1)/eARC (7.1). Common in commercial streaming media
Dolby TrueHD: Lossless, <= 18 Mbps. Up to 7.1 channels. Common in physical media, not in streaming media. Can be played over full HDMI (1.3+) or HDMI eARC.
DTS-HD HRA: Lossy, <= 6Mbps. Up to 7.1 channels. DD+ competitor. Can be played over full HDMI or eARC.
DTS-HD MA: Lossless, <= 25.4 Mbps. Up to 7.1 channels. Common in physical media, not in streaming media. TrueHD competitor. Can be played over full HDMI (1.3+) or eARC. DTS lossy included within for over Optical/HDMI ARC.
Dolby Atmos: For Media, Metadata around the TrueHD/DD+ codecs. For Gaming, Metadata embedded in PCM (MAT) for use with Dolby Access. Without an Atmos sound system and height speakers, just the base codecs apply. Lossless/Lossy indirectly. Up to 24.1.10 channels. Gold standard. Lossless can be played over full HDMI (1.3+) or eARC. Lossy DD+ 5.1 version can be played over HDMI ARC.
DTS:X: Metadata around the DTS-HD MA/DTS codec. Lossless. Up to 24.1.10 channels. Gold standard. Atmos competitor. Lossless can be played over full HDMI (1.3+) or eARC. Lossy DTS core for over Optical/HDMI ARC. Lossy IMAX Enhanced DTS:X for over HDMI ARC.
Dolby Atmos/DTS:X > Dolby TrueHD/DTS-HD MA > DD+/DTS-HD HRA > DD/DTS > AAC > Stereo
Audio Transports/Interfaces
HDMI 1.3+ (Full): Digital. Bitstreamed: Lossless Dolby TrueHD/DTS-HD MA (Atmos/DTS:X). PCM: 8 channels (1.x), 32 channels (2.x).
HDMI 1.4+ (ARC): Digital. Bitstreamed: Lossy Dolby Digital+ 5.1 Atmos, Lossy DTS 5.1. PCM: 2.0 channels
HDMI 2.1+ (eARC): Digital. Bitstreamed: Lossless Dolby TrueHD/DTS-HD MA (Atmos/DTS:X). PCM: 32 channels
ARC/eARC: A feature of the HDMI spec that allows audio to travel back from a HDMI “sink” (TV/Projector) to a HDMI “source” (Sound System). Must be supported on both source/sink sides. eARC can fall-back to ARC, where supported. eARC can support up to TrueHD Atmos/DTS:X/PCM 5.1, ARC up to DD+ 5.1 Atmos/DTS/PCM 2.0. it does NOT apply to most Monitors, nor is it a feature of GPUs.
Displayport (native): Digital. Displayport on both ends. Bitstreamed: None. PCM: 8 channels (1.0-1.3). 32 channels (1.4+)
Displayport (Alternate mode): Digital. Displayport->HDMI cable/adapter. Bitstreamed: HDMI supported. PCM: 8 channels
Optical/TOSLINK/RCA (Orange/Black): Digital. S/PDIF. Lossy Dolby Digital 5.1, Lossy DTS 5.1. PCM: 2.0 channels.
RCA (red/white/etc): Analog: 1 channel/connector. Bitstreamed/PCM: None
3.5mm: Analog: 1-2 channel(s)/connector. Bitstreamed/PCM: None
USB/Bluetooth: Digital. Channels dependent on external sound device connected. Bluetooth is NOT recommended for audio in video content due to inherent latency in the protocol. See audio sync section below.
SCART: Old European standard for AV equipment audio and video. Analog: 2 channels/Stereo. Accessible from/to HTPC using scart to RCA switch.
Audio Software
See also: Video Software
Players/Utilities
- Foobar2000 - Audio Player
- Support for Windows, Mac, Mobile
- Exact Audio Copy/Fre:ac - Audio CD Ripper/converter. Burner (EAC)
- Support for Windows, Mac, Linux
- CDBurnerXP - Audio CD Burner
- Support for Windows
- MusicBrainz Picard - Audio ID tagger
- Support for Windows, Mac, Linux
- JRiver Media Center - A commercial media player/center
- Support for Windows, Mac, Linux
- Extensive plug-in support
- Kodi - An open source media player/center.
- Support for Windows, Linux, Mac, Android
- Extensive plug-in support
- Support for Windows
- Extensive feature-set
- Plex - A media player that interfaces with the Plex Media Server and plex.tv video content
- Support for Windows, Linux, Mac, Android
- VLC - A simple media player
- Support for Windows, Linux, Mac, Android
3rd Party
- MediaInfo - Extremely useful tool for getting various video & audio information (codecs, formats, etc..) on media files
- K-lite - Codec pack including various video software
- Video/audio codecs
- Video/audio filters/splitters/mixers
- LAV Filters - ffmpeg based DirectShow media software including:
- Splitters, Decoders, Filters, Mixers and Compressors
- Automatic stream selection
- Equalizer APO - Parametric / graphic equalizer.
- Peace Equalizer GUI - GUI for Equalizer APO.
- APO Driver - Audio Enhancements, re-encoders.
- ffdshow - Defunct. Audio codecs/filters/splitters/mixers.
Setup
Hardware Setup
There are many ways to connect your HTPC/media device to your sound system and Display. This could be with HDMI, DisplayPort, Optical/SPDIF, RCA or 3.5mm or a combination of any of them. This is a complicated topic given that you probably have at least 3 pieces of hardware (HTPC, Sound System, Display) that have various connection types/capabilities and have to agree on what they will do together. As such, it can get confusing quickly, so read this section carefully and multiple times if you have to. Understanding the previously laid out concepts is also very useful.
Before you try any of the following scenarios, consider what you’re trying to achieve and what your hardware is capable of; What resolutions and refresh rates are you trying to display? What audio codecs are you trying to play? Are you gaming and is VRR (g-sync/freesync) required? What ports are on your sound system and display and what specs are they (HDMI 1.x/2.x, DisplayPort 1.x/2.x, optical, rca), etc.. This information is critical and should be gotten from your device manuals and spec pages on the mfgr’s websites. Armed with those and with the information in the Interfaces and Codecs sections above, you should have a good idea of what your hardware is capable of and a good sense of the optimal scenario for what you’re trying to achieve. If you ask us for help, provide all this information, so we can better help you.
Scenarios are listed as Most Desirable to Least Desirable.
Scenario #1 listed below, with video passthrough through your sound system, is the best scenario. However, if you have an older sound system that doesn’t support video passthrough for the features you need, like 4k, HDR or high refresh rates for gaming, then the best scenarios in order are: #2 (earc), #3, #4, #2 (arc/optical).
Consult this section of the Hardware Components Guide for cable/adapter recommendations. Consult this section below for sound system recommendations.
Scenario #1 - The ideal scenario, connecting your HTPC to your sound system and then your sound system to your TV

In this scenario, the sound system gets the audio and video first and then passes the video through to the display, e.g. HTPC (HDMI) -> Sound System (HDMI) in -> Sound System (HDMI) out -> TV (HDMI). When the sound system supports the required video resolution for passthrough to the display, this scenario is simple and provides the highest compatibility and best audio support.
- Connect the HTPC’s primary HDMI output to the Sound System’s HDMI input, e.g. HTPC (HDMI) -> Sound System (HDMI). If you only have a Displayport/USB-C connector, use an ACTIVE adapter first, but expect to be limited to Lossy codec/PCM audio. Otherwise, see Scenario #3.
- Connect the Sound System’s HDMI output to an HDMI input on the Display.
- Configure your media players for the audio codecs you can support per Software/OS Setup
Where this doesn’t work is when the sound system:
- Doesn’t support the required video resolution/refresh rate for passthrough to the display. e.g. you want to pass through 4k video to a 4k tv but the sound system only supports 1080p passthrough. See alternate scenarios below.
- Doesn’t have both input and output hdmi ports (e.g. cheap soundbars with only 1 HDMI ARC port) or no HDMI ports (only S/PDIF/Optical). See alternate scenarios below.
Scenario #2 - Your display & sound system have a HDMI (e)ARC or Optical port
This will send audio through your display. This is common for VRR (gsync/freesync) gaming setups and/or where the desired resolution/refresh rate to the display exceeds what the sound system can pass through.
- Connect the HTPC’s HDMI output to the display’s HDMI non-(e)ARC input, i.e. HTPC (HDMI) -> TV (HDMI).
- Connect the display’s HDMI (e)ARC/Optical output to the sound system’s HDMI (e)ARC/Optical input, i.e. TV (e)ARC (HDMI/Optical) -> Sound System (e)ARC (HDMI/Optical).
- Change the settings in the sound/audio output, CEC sections of your display’s interface.
- Enable HDMI CEC
- Enable pass-through/bitstream digital audio.
- Roku has a good guide for many display mfgrs
- Configure your media players for the audio codecs you can support per Software/OS Setup
Video supported: Negotiated by HTPC and Display
Audio supported:
- Dependent on your display’s audio pass-through support. See your display’s manual or rtings.com reviews for what audio codecs are supported and how to configure your display to pass-through/bitstream audio. If your display can’t pass-through the codecs you want, see below scenarios.
- 5.1 Gaming audio will not work out of the box for regular ARC and Optical, as these do not support 5.1 PCM audio. See our gaming audio section for software workarounds if you must use these transports from your display in this scenario.
- If your display supports eARC but your sound system doesn’t, use an eARC extractor between the display and the sound system’s HDMI input
- ARC: PCM 2.0/Lossy DD+Atmos 5.1/DTS 5.1, eARC: All, Optical: PCM 2.0/Lossy DD 5.1/DTS 5.1
Scenario #3 - Your HTPC has/could have multiple display outputs (hdmi/displayport/usb-c display out)

This will give you a primary display for video output and a secondary, extended display for audio-only output. This is common for VRR (gsync/freesync) gaming setups and/or where the resolution/refresh rate to the display exceeds what the sound system can pass through. If a secondary display is not desirable, see Scenario #4.
- Connect the HTPC’s primary HDMI output to the display’s HDMI input, e.g. HTPC (HDMI) -> TV (HDMI).
- Connect the HTPC’s 2nd display output (either from motherboard or dGPU) to the sound system. If Displayport, use a PASSIVE Displayport->HDMI cable or adapter. e.g. HTPC (HDMI/Displayport) -> Sound System (HDMI).
- Set the 2nd display output in your OS as an extended display at a resolution of 720p@60Hz. Drag this display to the top-right corner of the primary display. NOTE: Even though you are using this only for audio, a video signal IS required.
- In Windows sound control panel, disable the audio device on the primary display output. Enable audio on the 2nd display output.
- Configure your media players for the audio codecs you can support per Software/OS Setup
- OPTIONAL: Use window management software to lock window placement to your primary display (DisplayFusion/MonitorSwitcher).
Video supported: Negotiated by HTPC and Display. DRMed content may not work properly if both display outputs are coming from the same GPU.
Audio supported: All
Scenario #4 - Your HTPC does/does not have multiple display outputs (either hdmi or displayport), you want full audio support, but you don’t want to set up a cloned or extended display in windows for separate video/audio

This is an alternative to Scenario #3 where you don’t want to deal with multiple displays in windows either out of navigational or visual annoyance due to driving multiple display outputs. It could also be used with a single display output (e.g. APU) where you want full audio support but don’t have eARC on your display. If you have only an ARC/eARC port on your sound system (like a cheaper soundbar), use a HDMI Splitter with an eARC output.
You will use an HDMI splitter to split/clone the source signal and send the same signal to both your display and sound system. Note that not all splitters are built the same and can vary dramatically in price, depending on feature set and reliability. See the accessories section.
- Connect the HTPC’s primary HDMI output to a HDMI Splitter.
- Connect the 1st output of the HDMI Splitter to your Display.
- Connect the 2nd output of the HDMI Splitter to your Sound system.
- Set the dip switches on the HDMI Splitter to the desired behavior for display/edid priority.
- Configure your media players for the audio codecs you can support per Software/OS Setup
Video supported: Negotiated by HTPC and Splitter, set by dip switches.
Audio supported: All
NOTES: DRMed content may not work due to old HDCP support on splitters. CEC may not work. HDMI 2.1 splitters are rare and/or expensive. Displayport splitters have a limit of 4K@60Hz on the primary conn. when using audio on the secondary conn.
Scenario #5 - Your HTPC does NOT have multiple display outputs, but does have an Optical/S/PDIF/3.5mm ports

In this scenario you will likely be bitstreaming through Optical, or in the case of 3.5mm jacks, decoding audio on the HTPC. If you do not have these on your motherboard, there are USB and PCIe-based sound cards/adapters.
- Connect the HTPC’s primary HDMI output to the display’s HDMI input, i.e. HTPC (HDMI) -> TV (HDMI).
- Connect the HTPC’s optical/3.5mm output to the sound system’s optical/RCA/3.5mm.. input, e.g. HTPC (Optical) -> Sound System (Optical).
- Configure your media players for the audio codecs you can support per Software/OS Setup
Video supported: Negotiated by HTPC and Display
Audio supported: Stereo PCM, Lossy DD 5.1/DTS 5.1 (optical) or Stereo/Surround analog (3.5mm). Gaming audio setup
Scenario #6 - Your HTPC does NOT have multiple display outputs, does not have an Optical/SPDIF port, and your display does not have a HDMI ARC or Optical port

If you have only an ARC/eARC port on your sound system (like a cheaper soundbar), use a HDMI Extractor with an eARC output. An extractor should be a last resort, especially for optical or analog as there are many USB and PCIe-based sound cards/adapters out there for PCs and interuppting the HDMI signal should be avoided
- Connect the HTPC’s HDMI output to a HDMI Audio Extractor’s HDMI input, i.e. HTPC (HDMI) -> Audio Extractor (HDMI).
- Connect the HDMI Audio Extractor’s HDMI output to the display’s HDMI input, i.e. Audio Extractor (HDMI) -> TV (HDMI).
- Connect the HDMI Audio Extractor’s HDMI audio/Optical/RCA/3.5mm ports to the sound system’s HDMI/Optical/RCA/3.5mm ports.
- Configure your media players for the audio codecs you can support per Software/OS Setup
Video supported: Negotiated by HTPC, Display and HDMI Audio Extractor
Audio supported: HDMI (all), Stereo PCM, Lossy DD 5.1/DTS 5.1 (optical), Stereo PCM (RCA), or Stereo/Surround analog (3.5mm). Gaming audio setup
NOTE: An audio extractor will not DECODE audio codecs, it just passes it through its output connector. If you send such a bitstreamed signal into it and expect audio out of its analog connectors, you will get NO audio; you either have to pass PCM in to get audio out of those connectors, or use an AVR/decoder box behind the HDMI/optical port.
Scenario #7 - Your HTPC does have multiple display outputs (either hdmi or displayport) but your sound system does NOT have a HDMI port

- Connect the HTPC’s primary HDMI output to the display’s HDMI input, i.e. HTPC (HDMI) -> TV (HDMI).
- Connect the HTPC’s 2nd display output (either from motherboard or dGPU) to a HDMI Audio Extractor’s HDMI input. If Displayport, use a PASSIVE Displayport->HDMI cable or adapter. e.g. HTPC (HDMI/Displayport) -> Audio Extractor (HDMI).
- Connect the HDMI Audio Extractor’s Optical/RCA/3.5mm ports to the sound system’s Optical/RCA/3.5mm ports, i.e. Audio Extractor (Optical/RCA/3.5mm) -> Sound System (Optical/RCA/3.5mm).
- Connect a HDMI dummy plug to the HDMI Audio Extractor’s HDMI Out port.
- Set the 2nd display output in your OS as an extended display at a resolution of 720p@60Hz. Drag this display to the top-right corner of the primary display.. NOTE: Even though you are using this only for audio, a video signal IS required.
- In Windows sound control panel, disable the audio device on the primary display output. Enable audio on the 2nd display output.
- Configure your media players for the audio codecs you can support per Software/OS Setup
Video supported: Negotiated by HTPC and Display
Audio supported: Stereo PCM, Lossy DD 5.1/DTS 5.1 (optical), Stereo PCM (RCA), or Stereo/Surround analog (3.5mm). Gaming audio setup
NOTE: An audio extractor will not DECODE Dolby/DTS audio, it just passes it through to the optical connector. If you send such a signal in and expect audio out of the RCA/3.5” connectors, you will get NO audio; you either have to pass PCM in to get audio out of those connectors, or use an AVR/decoder box behind the optical port, like this.
Software/OS Setup
There are 2 separate ways to audio can be processed between your HTPC and your sound system, Decoding and Bitstreaming. Depending on your use-case you may be using one or both. A use-case where you’d use both is where you want to bitstream Dolby/DTS codecs from a media player(s), but send decoded PCM for games and other non-encoded content (music, youtube, etc..); You should configure Scenario #1 for decoded PCM first and then, optionally, configure Scenario #2 for bitstreaming Dolby/DTS encoded content in your OS and media players. Do NOT continue on until you know what codecs your sound system, display and related audio interfaces support (per above research/setup) and which you want to use
Scenario #1: DECODING/CHANNELIZATION
The first way is decoding and channelization. This means the media application playing your content converts the audio to the common PCM format you read about above and sends it to your sound system through the OS mixer/renderer (e.g. Windows DirectSound), for use over a digital or analog audio interface. The target sound system has no knowledge of the codec being played, if there was one.
This scenario applies for such things as Gaming, analog audio interfaces, sound systems/displays where specific encoded codecs, like Dolby/DTS/AAC/etc, are not supported, streaming services that only support Stereo, and/or when you want to modify the audio using middleware (upmixing, equalizing, creating fake spatial audio).
On a Windows HTPC, this is the DEFAULT scenario for audio and Stereo is the default output unless configured below!
Start by setting up your Speaker configuration in your OS so it knows how many channels your sound system has.
To do this in Windows:
- Open Windows Sound control panel (run mmsys.cpl) -> <your_audio_device> -> Configure
- Select your speaker configuration -> Next -> Optionally, configure the speakers you have/don’t have. Click ‘Test’ and confirm all channels you’re configuring are being represented properly.
- Optionally, enable the speakers as Full-Range if you don’t have a subwoofer or if you have a Sound System (AVR, analog speakers, DAC, or sound card) that can/you want to manage the subwoofer cross-over frequency.
To do this in Linux:
- Run
alsamixerfrom a terminal window - Press F6 to select your audio device
- Change Channel Mode/Mappings to your speaker configuration, e.g. 6 for a 5.1 sound system.
- Make sure the device’s master/speaker/relevant channels (S/PDIF for HDMI/Optical) are un-muted (set to 00 and not MM)
- Optionally, run
pavucontrol. HDMI/Displayport/S/PDIF: Set Configuration->Profile to Digital Surround (5.1/7.1) or Digital Stereo (2.0). Output Devices-> Disable <audio codecs> you want to decode and not bitstream. Set Port to HDMI/Displayport/S/PDIF. Analog: Set Configuration->Profile to Analog. Set port to Speakers.
If you’re trying to configure more than Stereo but the option isn’t available or channels aren’t being represented, it’s usually because:
- Your setup is limited by hardware (audio interfaces, sound system support, display passthrough mis-configuration). Double-check that all the connected equipment and interfaces support PCM in the channel config you want. For instance, don’t use an Optical or regular ARC audio interface that only supports PCM 2.0 as per above and try to configure PCM 5.1 surround; if you need must use these interfaces, re-encode your media or game audio to a bitstreamable codec, like Dolby Digital Live with a supported sound card or APO Driver.
- Your setup is limited by software or a mis-configuration. You haven’t set up audio passthrough properly in your display, your sound system is not in direct mode, your speakers are mis-configured at your sound system or you installed/configured middleware audio software (like an APO, Spatial Sound, Mixer, Dolby Access/DTS Connect) before doing this setup.
If you select a speaker configuration that is more than what your played content provides, for instance you choose 5.1 speakers and play a Stereo source, Windows will output the source as 5.1 but with only the Stereo speakers containing audio. This will limit your sound system’s ability to upmix Stereo sources to Surround or Multi-Channel
Now you can proceed to setting up specific applications and decoding of media/games.
Setting up Decoding for Media (if NOT bitstreaming below):
You should configure your media application(s), by setting the sound device/audio renderer to “DirectSound” or “System Default”. “DirectSound” sits between the application and the audio driver, controlling the channel layout and audio stream. In media applications, the most popular ones will have the codecs to decode up to Dolby TrueHD, DTS-HD MA and many others (object metadata overlays like Dolby Atmos/DTS:X can NOT be channelized or meaningfully used by the PC without professional software; you must bitstream those codecs to an AVR or sound processor).
You can force Windows apps that don’t have sound configurations (like browsers) to decode encoded formats like DD/DTS to PCM by disabling the “Allow applications to take exclusive control of this device” setting in the Properties->Advanced section of your control panel’s sound device.
After you’ve configured your app(s)
-
Play test channel-callout content from the sample audio section below
-
Output on your sound system should show as “LPCM”/”Multi Ch In”/”Uncompressed”. If they show as anything else, you either haven’t configured it properly or have turned on a listening mode on your sound system rather than Direct/Decode.
-
When you play audio you SHOULD be able to change the volume on the HTPC and hear a difference.
-
Setting up for Gaming:
-
If you’re playing games with just PCM or using Analog, you’re done. If you’re doing advanced setups like using Dolby Atmos or Dolby Digital Live, see the Gaming section below for caveats and advanced setup.
-
If you want to downmix content:
-
Choose ONE of the following options
-
Configure the speaker configuration in your window’s sound device as your desired channel output.
-
Configure the speaker configuration in your media applications to the speakers you want to downmix to, e.g. 2.1. This varies. Each app usually has their own audio mixing filter
-
See also: Why is the volume of my audio so wide ranging? e.g. voices are quiet, explosions are loud
-
If you want to upmix content:
-
Choose ONE of the following options
-
Use one of the upmixing listening mode(s) on your sound system (e.g. Dolby Surround/Dolby Pro Logic/DTS Neural), if available.
-
Configure the speaker configuration in your media applications to the speakers you want to upmix to, e.g. 5.1. This varies. Each app usually has their own audio mixing filter, but may also include LAV audio decoder filters to do normalize/DRC/etc…
-
Use a system-wide upmixer, such as Equalizer APO + Peace Equalizer GUI, with Stereo Effect.
-
If available, set your window’s sound device to use the ‘Speaker fill’ enhancement.
-
Install Dolby Access and configure Dolby Atmos for Home Theater with the Channel Upmixer option enabled
-
Other:
-
Some OS sounds/applications primarily output audio as PCM exclusively (e.g. youtube in web browsers).
-
If you want to fit Surround into audio interfaces that only support Stereo, see here
-
There are advanced things you can do by using application middleware and external filters like transcoding audio codecs, decoding obscure codecs and advanced mixing. See the 3rd Party sub-section of the Audio Software section above.
Scenario #2: BITSTREAMING
The second scenario is bitstreaming (pass-through). This means the application playing your content sends the audio to your sound system untouched and allows the sound system to decode it, when supported.
This scenario would be used with encoded codecs like Dolby and DTS, on digital audio interfaces like HDMI and Optical (i.e. not 3.5mm/RCA).
For codecs your sound system can’t support for bitstreaming, your HTPC will decode them to PCM per the Decoding section above. This also applies to codecs that are generally not bitstreamable like AAC, MP3, FLAC and WAV. If you want to transcode them into a bitstreamable codec, like Dolby Digital, see here.
On a Windows HTPC, this is usually done per media application by telling the audio renderer in it which codecs to bitstream. It may also involve setting the sound device in the app to “WASAPI Exclusive”. WASAPI allows the application to talk directly to the audio driver.
Follow the application-specific setup instructions for Bitstreaming in the next section
- NOTES:
- You know this way is configured correctly because when you play audio you should NOT be able to change the volume on the HTPC and hear a difference. The volume is only controlled through the sound system. You should also see a codec name or indicator on your AV Receiver display.
- For applications that support bitstreaming, changing settings in the Windows Sound control panel means nothing. Bitstreaming bypasses any Speaker Setup config (Stereo/Surround).
Application-Specific Setup For Bitstreaming
Most media players have audio passthrough support built-in, but it must be configured using the following instructions. If you need more advanced functionality, you can use filters external to your media player (where supported). See the EXTERNAL: sub-section below.
COMMON REQUIREMENTS (Windows):
- Make sure the drivers are installed for your GPU, if using HDMI; if an Intel GPU, the Intel HD Audio driver and the Intel Management Engine driver. If Nvidia, the Nvidia HD Audio driver. If AMD, the AMD High Definition Audio driver. If Optical, the audio drivers for your motherboard or add-in sound card (realtek, soundblaster, xonar, etc..)
- If you’re using Windows 11 24H2 that was installed from scratch, install the AC-3/Dolby Digital codec from here first.
- Open Windows Sound control panel (run mmsys.cpl) -> <your_sound_device> -> Properties
- Supported Formats: Confirm codecs you want to bitstream are listed. If not, confirm support in Hardware Setup steps
- Advanced: Enable “Allow applications to take exclusive control of this device”.
COMMON REQUIREMENTS (Linux):
- Remove pulseaudio packages to use ALSA.
apt remove pulse* - Run alsamixer from a terminal window
- Press F6 to select your audio device
- Choose HDMI or S/PDIF output. Enable IEC958 option, if available. Unmute output (Set to “OO”)
BROWSERS/STREAMING SERVICES:
- Make sure your service supports a bitstreamable codec (Dolby/DD). See: Wiki:FAQ:What resolution and audio is supported on streaming service X?
- Install the app for your service from the Microsoft store or use the Microsoft Edge browser.
- If Netflix DD 5.1+, install and configure Dolby Access as per Netflix’s help page and reboot.
- DD 5.1 on streaming services does not work natively over Optical directly from an HTPC. If you must use Optical, either encode system-wide audio to Dolby Digital per the alternatives instructions of this section of the wiki or run HDMI to your display and then Optical to your sound system.
- Test your browser’s audio capabilities with Dolby’s capabilities test website
MPC-HC: These steps assume you have the latest version of MPC-HC clsid2
- View->Options->Playback->Output->Audio Renderer: System Default/SaneAR Audio Renderer.
- View->Options->Internal Filters->Audio Renderer:
- SaneAR Audio Renderer Enabled: checked
- Device: Select the audio device you will be using for bitstreaming
- Exclusive mode: checked (if unchecked, other apps will be able to play audio while mpc-hc is open, but playback may not be nominal)
- View->Options->Internal Filters->Audio decoder (button)
- Bitstreaming->Formats->Enable the codecs your sound system supports decoding.
- Enable System Tray Icon: checked
- View->Options->Internal Filters->Audio decoder (button)
- Bitstreaming->Formats->Enable the codecs your sound system supports decoding.
- Enable System Tray Icon: checked
- Restart the app and play test channel-callout content from the sample audio section below.
- If configured correctly, you should see the blue LAV Audio icon in the system tray. Click on it and then on the Status Tab to see the audio being bitstreamed.
MPC-BE: These steps assume you have the latest version of MPC-BE
- View->Options->Audio->Audio Renderer: MPC Audio Renderer->Properties->WASAPI Mode: Exclusive->Allow bit-exact output: checked
- View->Options->Internal Filters->Audio Decoders (tab)->Audio decoder configuration (button)->Pass-through->Enable the codecs your sound system supports decoding
- Restart the app and play test channel-callout content from the sample audio section below.
POTPLAYER:
- F5 key->Audio
-
Audio Renderer: Built-in WASAPI Audio Renderer -> “…” button
-
Use exclusive mode: checked, Device: <audio device you will be using for bitstreaming>
-
Set Built-In Audio Decoder->Pass Through->Set “Default Pass-through Muxer” for the codecs your sound system supports decoding
- Restart the app and play test channel-callout content from the sample audio section below.
- If not playing correctly, check the Playback/System Information screen (Cntrl-F1) that the Audio Info decoder is using “Built-In WASAPI..” and not something else.
VLC:
- Tools->Preferences->Show Settings (All)->Audio
- Expand “Output modules”
- Output modules->Audio output module: Windows Multimedia Device output
- MMDevice->Output back-end: Windows Audio Session API output, HDMI/SPDIF Audio Passthrough: Enabled - for all codecs, or Enabled (AC3/DTS only) - for if your sound system only supports decoding regular DD/DTS. Output Device: <audio device you will be using for bitstreaming>
- Linux: Audio->Output modules->ALSA. Audio Output Device: <audio device you will be using for bitstreaming>, Audio Channels: 7.1
- Restart the app and play test channel-callout content from the sample audio section below.
KODI:
- Make sure audio output device is connected
- Kodi->Settings->System->Audio->Audio output device: WASAPI
- Change settings view on bottom-left to “Expert”
- Settings->System->Audio->Allow Passthrough: On, Passthrough Output Device: <HDMI/Optical Device>
- Settings->System->Audio->XXX capable receiver: Enable the codecs your sound system supports decoding
- Restart the app and play test channel-callout content from the sample audio section below.
- Linux: https://forum.kodi.tv/showthread.php?tid=356360
PLEX HTPC/PLEX MEDIA PLAYER:
- Settings->Audio->Device Type: HDMI/SPDIF
- Settings->Audio->Channels: Auto (or 2.0 if spidif)
- Settings->Audio->Device: Auto/<HDMI/SPDIF Device>
- Settings->Audio->Exclusive Mode: Enable
- Settings->Audio->Passthrough: xxx: Enable the codecs your sound system supports decoding
- Restart the app and play test channel-callout content from the sample audio section below.
PLEX FOR WINDOWS:
- Settings->Player->Exclusive Mode: Enable
- Settings->Player->Audio Device: <HDMI/SPDIF Device>
- Settings->Player->Audio Device Kind: <HDMI/SPDIF>
- Settings->Player->Channels: Auto (or 2.0 if spdif)
- Settings->Player->Passthrough xxx: Enable the codecs your sound system supports decoding
- Restart the app and play test channel-callout content from the sample audio section below.
EXTERNAL: OPTIONAL: If you need/want an advanced/specialized audio decoder/filter external to your app/player:
- Install the external LAV Filters software.
- Run the “LAV Audio Configuration” app. Under Audio Settings->Bitstreaming, enable/check the codecs you want to bitstream. Check “Enable System Tray Icon”.
- Configure your media player app to use an external filter (e.g. MPC-HC/BE->View->Options->External Filters->Add Filter->LAV Audio Decoder->Prefer)
- Restart your media player app and play test channel-callout content from the sample audio section below.
- If configured correctly, you should see the blue LAV Audio icon in the system tray. Click on it and then on the Status Tab to see the audio being bitstreamed.
Common Questions
What kind of audio is supported on a HTPC?
Media Player Apps: Up to Dolby TrueHD Atmos, DTS:X
Blu-Ray Media: Required: LPCM <= 7.1, DTS, Dolby Digital <= 5.1. Optional: Dolby Digital+ 6.1-7.1, Dolby TrueHD 1.0-7.1 Atmos, DTS-HD/MA 7.1, DTS:X
Streaming Services: See Wiki:FAQ:What resolution and audio is supported on streaming service X?
Gaming: PCM 5.1/7.1, Dolby Digital Live w/supported sound card or APO, Dolby Atmos w/Dolby Access app
Why is the volume of my audio so wide ranging? e.g. voices are quiet, explosions are loud
If you are playing audio with a different channel configuration than the number of speakers you have, you will be missing some audio fidelity. For example, you may notice that voices are very quiet if you are playing Surround sound (5.1+) when you have less than 5.1 distinct speakers. This is because voices are in the center channel of surround sound audio, which is not present in sounds systems that are stereo only or lower-quality soundbars.
There are a number of ways to solve this, but there is usually not one silver bullet. You may use one or more of the following methods (such as mixing + DRC + normalize) and depending on your sound system configuration (bitstreaming vs not), capabilities, software used, and even just what sounds best to you.
If you ARE bitstreaming, you won’t be able to change anything in your HTPC. Check if your sound system (AVR, soundb