Sound: Difference between revisions
No edit summary |
|||
| (58 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
== | = 🎧 Sound Configuration Guide = | ||
=== ''' | == 1️⃣ What Changed in 3374? == | ||
The 3374 patch uses '''OpenAL Soft''', a modern audio engine that replaces the older DirectSound system. | |||
* | <big>Why this is good</big> | ||
* | * Better 3D positional audio | ||
* Proper surround sound (5.1 / 7.1) | |||
* Headphone spatial audio (HRTF) | |||
* More configurable and higher quality sound | |||
* | |||
* | |||
If configured correctly, you’ll hear: | |||
* Footsteps more precisely | |||
* Better directional cues | |||
* Clearer voice chat | |||
* | * Cleaner ambient audio | ||
* | |||
* | |||
* | |||
==== | == 2️⃣ How Sound Configuration Works == | ||
There are '''two layers''' of sound settings: | |||
{| class="wikitable" | |||
!File | |||
!What It Controls | |||
|- | |||
|<code>UT2004.ini</code> | |||
|In-game sound behavior | |||
|- | |||
|<code>alsoft.ini</code> (or <code>alsoft.conf</code>) | |||
|How OpenAL outputs sound to your device | |||
|} | |||
You may only need to adjust one — but for best results, configure both. | |||
===== Stereo speakers ( | <big>📂 Where Are the Sound Config Files?</big> | ||
Windows<syntaxhighlight | |||
For '''Unreal Tournament 2004''' there are '''two main config files''' related to sound: | |||
# <code>UT2004.ini</code> → game audio settings | |||
# <code>alsoft.ini</code> (or <code>alsoft.conf</code>) → OpenAL Soft output settings | |||
Their locations depend on your operating system. | |||
<big>🔊 OpenAL Config</big> | |||
<big>'''Windows location'''</big> | |||
C:\Users\<YourName>\AppData\Roaming\alsoft.ini | |||
🎮 Game Config (recommended) | |||
C:\Games\UT2004\System\alsoft.ini | |||
<big>'''Linux location'''</big> | |||
Global | |||
/etc/xdg/alsoft.conf | |||
User-specific | |||
~/.config/alsoft.conf | |||
🎮 Game Config (recommended) | |||
~/.ut2004/System/alsoft.conf | |||
If installed via Wine/Proton (Steam) | |||
~/.steam/steam/steamapps/common/Unreal Tournament 2004/System/alsoft.ini | |||
If it doesn’t exist, you can create it. | |||
You can find available options and documentation [https://github.com/kcat/openal-soft/blob/master/alsoftrc.sample here] | |||
== 3️⃣ Step-By-Step Setup == | |||
=== 🎮 Step A — Configure the Game (UT2004.ini) === | |||
Find <code>UT2004.ini</code> inside your UT2004 <code>System</code> folder. | |||
Look for this section: | |||
[ALAudio.ALAudioSubsystem] | |||
Here are the important settings: | |||
<syntaxhighlight>[ALAudio.ALAudioSubsystem] | |||
UseEAX=True | |||
Use3DSound=True | |||
UseDefaultDriver=True | |||
CompatibilityMode=False | |||
MaxEAXVersion=255 | |||
UsePrecache=True | |||
ReverseStereo=False | |||
Channels=32 | |||
MusicVolume=0.10000 | |||
AmbientVolume=0.500000 | |||
SoundVolume=0.30000 | |||
VoiceVolume=4.000000 | |||
VolumeScaleRec=0.100000 | |||
DopplerFactor=1.0 | |||
Rolloff=0.5 | |||
TimeBetweenHWUpdates=15 | |||
DisablePitch=False | |||
LowQualitySound=False | |||
UseVoIP=True | |||
UseVAD=False | |||
UseSpatializedVoice=False | |||
SpatializedVoiceRadius=100000 | |||
EnhancedDenoiser=False | |||
LocalZOffset=0.0</syntaxhighlight><big>'''What These Do'''</big> | |||
* '''Use3DSound=True''' Enables positional audio. Keep this ON. | |||
* '''Channels=32''' controls how many simultaneous sounds play — more = richer sound but higher CPU usage. | |||
** 32 = good balance - default | |||
** 64 = richer sound (uses more CPU) | |||
** 128 = highest quality | |||
* '''MusicVolume''' Background music level | |||
* '''SoundVolume''' Weapons, effects, explosions | |||
* '''AmbientVolume''' Environmental sounds | |||
* '''VoiceVolume''' Player voice chat | |||
* '''UseEAX=true''' - Enables EAX (Environmental Audio Extensions) - See [[Sound#🎧 What Is EAX?|🎧 What Is EAX?]] | |||
* '''Rolloff=0.5''' controls '''how quickly sound volume decreases with distance''' | |||
** Higher rolloff → sound gets quiet '''faster''' | |||
** Lower rolloff → sound stays audible '''longer''' | |||
** Recommended range → 0.3 - 0.5 | |||
=== 🔊 Step B — Configure OpenAL === | |||
This file goes in your game System folder (Windows/Linux). If it does not exist, you can create it. | |||
It lets you choose: | |||
* '''Stereo, headphones, or surround setups''' | |||
* '''HRTF on/off (for 3D sound on headphones)''' | |||
* '''Best resampler for quality vs performance''' | |||
== 4️⃣ Choose Your Audio Setup == | |||
The wiki has '''preset blocks''' you can copy/paste depending on your output device: | |||
📌 ''Stereo (speakers)'' | |||
📌 ''Stereo with HRTF (headphones)'' | |||
📌 ''Surround 5.1 / 7.1'' | |||
…and variants for both Windows and Linux<div class="mw-collapsible mw-collapsed"> | |||
==== <span><span>🔈 Stereo Speakers <div class="mw-collapsible-toggle-placeholder"></div> ==== | |||
<div class="mw-collapsible-content"> | |||
<p>Basic stereo setup</p> | |||
<div class="mw-collapsible mw-collapsed"> | |||
<h5> | |||
<span style="color: purple">For Windows</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy=""> | |||
## CONFIG - Default | ## CONFIG - Default | ||
## General stuff | ## General stuff | ||
| Line 238: | Line 348: | ||
## enable: (global) | ## enable: (global) | ||
# Sets whether to enable EAX extensions or not. | # Sets whether to enable EAX extensions or not. | ||
enable=true | enable=true</syntaxhighlight> | ||
</div> | |||
</ | </div> | ||
## CONFIG - | <div class="mw-collapsible mw-collapsed"> | ||
<h5> | |||
<span style="color: purple">For Linux</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy=""> | |||
## CONFIG - Default | |||
## General stuff | ## General stuff | ||
## | ## | ||
| Line 502: | Line 619: | ||
# unconnected and silent (the device format won't change to accommodate). | # unconnected and silent (the device format won't change to accommodate). | ||
connect-ports=true | connect-ports=true | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
===== | ---- | ||
Windows<syntaxhighlight> | <div class="mw-collapsible mw-collapsed"> | ||
## CONFIG - Headphones - Basic Stereo | ==== <span>🎧 Headphones</span> <div class="mw-collapsible-toggle-placeholder"></div> ==== | ||
<div class="mw-collapsible-content"> | |||
<p>Basic stereo setup for headphones</p> | |||
<div class="mw-collapsible mw-collapsed"> | |||
<h5> | |||
<span style="color: purple">For Windows</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy>## CONFIG - Headphones - Basic Stereo | |||
## General stuff | ## General stuff | ||
## | ## | ||
| Line 718: | Line 847: | ||
## enable: (global) | ## enable: (global) | ||
# Sets whether to enable EAX extensions or not. | # Sets whether to enable EAX extensions or not. | ||
enable=true | enable=true</syntaxhighlight> | ||
</div> | |||
</ | </div> | ||
## CONFIG - Headphones - Basic Stereo | <div class="mw-collapsible mw-collapsed"> | ||
<h5> | |||
<span style="color: purple">For Linux</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy>## CONFIG - Headphones - Basic Stereo | |||
## General stuff | ## General stuff | ||
## | ## | ||
| Line 981: | Line 1,116: | ||
# Client ports that fail to connect will leave the remaining channels | # Client ports that fail to connect will leave the remaining channels | ||
# unconnected and silent (the device format won't change to accommodate). | # unconnected and silent (the device format won't change to accommodate). | ||
connect-ports=true | connect-ports=true</syntaxhighlight> | ||
</div> | |||
</ | </div> | ||
</div> | |||
</div> | |||
---- | |||
<div class="mw-collapsible mw-collapsed"> | |||
Windows<syntaxhighlight>## CONFIG - Headphones + HRTF | ==== <span>🎧 Headphones + HRTF (Recommended for Competitive Play)</span> <div class="mw-collapsible-toggle-placeholder"></div> ==== | ||
<div class="mw-collapsible-content"> | |||
For more information about HRTF, see the documentation page [https://github.com/kcat/openal-soft/blob/master/docs/hrtf.txt here] | |||
<div class="mw-collapsible mw-collapsed"> | |||
<h5> | |||
<span style="color: purple">For Windows</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy>## CONFIG - Headphones + HRTF | |||
## General stuff | ## General stuff | ||
## | ## | ||
| Line 1,201: | Line 1,347: | ||
## enable: (global) | ## enable: (global) | ||
# Sets whether to enable EAX extensions or not. | # Sets whether to enable EAX extensions or not. | ||
enable=true</syntaxhighlight>Linux<syntaxhighlight> | enable=true</syntaxhighlight> | ||
## CONFIG - Headphones + HRTF | </div> | ||
</div> | |||
<div class="mw-collapsible mw-collapsed"> | |||
<h5> | |||
<span style="color: purple">For Linux</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy>## CONFIG - Headphones + HRTF | |||
## General stuff | ## General stuff | ||
## | ## | ||
| Line 1,463: | Line 1,617: | ||
# Client ports that fail to connect will leave the remaining channels | # Client ports that fail to connect will leave the remaining channels | ||
# unconnected and silent (the device format won't change to accommodate). | # unconnected and silent (the device format won't change to accommodate). | ||
connect-ports=true | connect-ports=true</syntaxhighlight> | ||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
---- | |||
<div class="mw-collapsible mw-collapsed"> | |||
==== <span>🔊 5.1 Surround Sound</span> <div class="mw-collapsible-toggle-placeholder"></div> ==== | |||
<div class="mw-collapsible-content"> | |||
<p></p> | |||
<div class="mw-collapsible mw-collapsed"> | |||
<h5> | |||
<span style="color: purple">For Windows</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy> | |||
## Surround 5.1 | |||
## General stuff | |||
## | |||
[General] | |||
## stereo-mode: | |||
# Specifies if stereo output is treated as being headphones or speakers. With | |||
# headphones, HRTF or crossfeed filters may be used for better audio quality. | |||
# Valid settings are auto, speakers, and headphones. | |||
stereo-mode=speakers | |||
# Sets the default output channel configuration. If left unspecified, one will | |||
# try to be detected from the system, with a fallback to stereo. The available | |||
# values are: mono, stereo, quad, surround51, surround61, surround71, | |||
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi* | |||
# configurations output ambisonic channels of the given order (using ACN | |||
# ordering and SN3D normalization by default), which need to be decoded to | |||
# play correctly on speakers. | |||
channels=surround51 | |||
## stereo-encoding: | |||
# Specifies the default encoding method for stereo output. Valid values are: | |||
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between | |||
# -30 and +30 degrees. | |||
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some | |||
# continuous surround sound information into stereo output that can be | |||
# decoded with a surround sound receiver. | |||
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix, | |||
# which encodes some discrete surround sound and height information | |||
# into the stereo output that can be decoded with a surround sound | |||
# receiver. | |||
# hrtf - Uses filters to provide better spatialization of sounds while using | |||
# stereo headphones. | |||
# If crossfeed filters are used, basic stereo mixing is used. | |||
stereo-encoding=uhj | |||
## hrtf-mode: | |||
# Specifies the rendering mode for HRTF processing. Setting the mode to full | |||
# (default) applies a unique HRIR filter to each source given its relative | |||
# location, providing the clearest directional response at the cost of the | |||
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will | |||
# instead mix to an ambisonic buffer of the given order, then decode that | |||
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per- | |||
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D | |||
# placement at the cost of a more diffuse response. Higher ambisonic orders | |||
# increasingly improve the directional clarity, at the cost of more CPU usage | |||
# (still less than "full", given some number of active sources). | |||
#hrtf-mode=full | |||
## resampler: (global) | |||
# Selects the default resampler used when mixing sources. Valid values are: | |||
# point - nearest sample, no interpolation | |||
# linear - extrapolates samples using a linear slope between samples | |||
# spline - extrapolates samples using a Catmull-Rom spline | |||
# gaussian - extrapolates samples using a 4-point Gaussian filter | |||
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing) | |||
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales | |||
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing) | |||
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales | |||
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing) | |||
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales | |||
resampler=spline | |||
## period_size: | |||
# Sets the update period size, in sample frames. This is the number of frames | |||
# needed for each mixing update. Acceptable values range between 64 and 8192. | |||
# If left unspecified it will default to 512 sample frames (~10.7ms). | |||
period_size=512 | |||
## periods: | |||
# Sets the number of update periods. Higher values create a larger mix ahead, | |||
# which helps protect against skips when the CPU is under load, but increases | |||
# the delay between a sound getting mixed and being heard. Acceptable values | |||
# range between 2 and 16. | |||
periods=3 | |||
## sources: | |||
# Sets the maximum number of allocatable sources. Lower values may help for | |||
# systems with apps that try to play more sounds than the CPU can handle. | |||
sources=256 | |||
## slots: | |||
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot | |||
# can use a non-negligible amount of CPU time if an effect is set on it even | |||
# if no sources are feeding it, so this may help when apps use more than the | |||
# system can handle. | |||
slots=64 | |||
## front-stablizer: | |||
# Applies filters to "stablize" front sound imaging. A psychoacoustic method | |||
# is used to generate a front-center channel signal from the front-left and | |||
# front-right channels, improving the front response by reducing the combing | |||
# artifacts and phase errors. Consequently, it will only work with channel | |||
# configurations that include front-left, front-right, and front-center. | |||
#front-stablizer=false | |||
## volume-adjust: | |||
# A global volume adjustment for source output, expressed in decibels. The | |||
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will | |||
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A | |||
# value of 0 means no change. | |||
#volume-adjust=0 | |||
## cf_level: | |||
# Sets the crossfeed level for stereo output. Valid values are: | |||
# 0 - No crossfeed | |||
# 1 - Low crossfeed | |||
# 2 - Middle crossfeed | |||
# 3 - High crossfeed (virtual speakers are closer to itself) | |||
# 4 - Low easy crossfeed | |||
# 5 - Middle easy crossfeed | |||
# 6 - High easy crossfeed | |||
# Users of headphones may want to try various settings. Has no effect on non- | |||
# stereo modes. | |||
#cf_level=0 | |||
## | |||
## Ambisonic decoder stuff | |||
## | |||
[decoder] | |||
## hq-mode: | |||
# Enables a high-quality ambisonic decoder. This mode is capable of frequency- | |||
# dependent processing, creating a better reproduction of 3D sound rendering | |||
# over surround sound speakers. | |||
#hq-mode=true | |||
## distance-comp: | |||
# Enables compensation for the speakers' relative distances to the listener. | |||
# This applies the necessary delays and attenuation to make the speakers | |||
# behave as though they are all equidistant, which is important for proper | |||
# playback of 3D sound rendering. Requires the proper distances to be | |||
# specified in the decoder configuration file. | |||
#distance-comp=true | |||
## nfc: | |||
# Enables near-field control filters. This simulates and compensates for low- | |||
# frequency effects caused by the curvature of nearby sound-waves, which | |||
# creates a more realistic perception of sound distance with surround sound | |||
# output. Note that the effect may be stronger or weaker than intended if the | |||
# application doesn't use or specify an appropriate unit scale, or if | |||
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set | |||
# to one of the ambi* values for this to function. | |||
#nfc=false | |||
## speaker-dist: | |||
# Specifies the speaker distance in meters, used by the near-field control | |||
# filters with surround sound output. For ambisonic output modes, this value | |||
# is the basis for the NFC-HOA Reference Delay parameter (calculated as | |||
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder | |||
# configuration is set for the output mode (since they specify the per-speaker | |||
# distances, overriding this setting), or when the NFC filters are off. Valid | |||
# values range from 0.1 to 10. | |||
#speaker-dist=1 | |||
## | |||
## Reverb effect stuff (includes EAX reverb) | |||
## | |||
[reverb] | |||
## boost: (global) | |||
# A global amplification for reverb output, expressed in decibels. The value | |||
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a | |||
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A | |||
# value of 0 means no change. | |||
boost=0 | |||
## | |||
## WASAPI backend stuff | |||
## | |||
[wasapi] | |||
## spatial-api: | |||
# Specifies whether to use a Spatial Audio stream for playback. This may | |||
# provide expanded capabilities for surround sound and with-height speaker | |||
# configurations. Very experimental. | |||
spatial-api=false | |||
## exclusive-mode: | |||
# Enables Exlusive mode for playback devices. This uses the device directly, | |||
# allowing lower latencies but prevents the device from being used multiple | |||
# times simultaneously. Ignores the periods setting when enabled, as WASAPI | |||
# automatically sets a buffer size based on the period size. | |||
#exclusive-mode=true | |||
## allow-resampler: | |||
# Specifies whether to allow an extra resampler pass on the output. Enabling | |||
# this will allow the playback device to be set to a different sample rate | |||
# than the actual output can accept, causing the backend to apply its own | |||
# resampling pass after OpenAL Soft mixes the sources and processes effects | |||
# for output. | |||
allow-resampler=true | |||
## | |||
## DirectSound backend stuff | |||
## | |||
[dsound] | |||
## | |||
## Windows Multimedia backend stuff | |||
## | |||
[winmm] | |||
## | |||
## EAX extensions stuff | |||
## | |||
[eax] | |||
## enable: (global) | |||
# Sets whether to enable EAX extensions or not. | |||
enable=true | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==== | </div> | ||
</div> | |||
<div class="mw-collapsible mw-collapsed"> | |||
<h5> | |||
<span style="color: purple">For Linux</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy> | |||
## Surround 5.1 | |||
## General stuff | |||
## | |||
[General] | |||
## stereo-mode: | |||
# Specifies if stereo output is treated as being headphones or speakers. With | |||
# headphones, HRTF or crossfeed filters may be used for better audio quality. | |||
# Valid settings are auto, speakers, and headphones. | |||
stereo-mode=speakers | |||
# Sets the default output channel configuration. If left unspecified, one will | |||
# try to be detected from the system, with a fallback to stereo. The available | |||
# values are: mono, stereo, quad, surround51, surround61, surround71, | |||
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi* | |||
# configurations output ambisonic channels of the given order (using ACN | |||
# ordering and SN3D normalization by default), which need to be decoded to | |||
# play correctly on speakers. | |||
channels=surround51 | |||
## stereo-encoding: | |||
# Specifies the default encoding method for stereo output. Valid values are: | |||
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between | |||
# -30 and +30 degrees. | |||
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some | |||
# continuous surround sound information into stereo output that can be | |||
# decoded with a surround sound receiver. | |||
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix, | |||
# which encodes some discrete surround sound and height information | |||
# into the stereo output that can be decoded with a surround sound | |||
# receiver. | |||
# hrtf - Uses filters to provide better spatialization of sounds while using | |||
# stereo headphones. | |||
# If crossfeed filters are used, basic stereo mixing is used. | |||
stereo-encoding=uhj | |||
## hrtf-mode: | |||
# Specifies the rendering mode for HRTF processing. Setting the mode to full | |||
# (default) applies a unique HRIR filter to each source given its relative | |||
# location, providing the clearest directional response at the cost of the | |||
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will | |||
# instead mix to an ambisonic buffer of the given order, then decode that | |||
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per- | |||
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D | |||
# placement at the cost of a more diffuse response. Higher ambisonic orders | |||
# increasingly improve the directional clarity, at the cost of more CPU usage | |||
# (still less than "full", given some number of active sources). | |||
#hrtf-mode=full | |||
## resampler: (global) | |||
# Selects the default resampler used when mixing sources. Valid values are: | |||
# point - nearest sample, no interpolation | |||
# linear - extrapolates samples using a linear slope between samples | |||
# spline - extrapolates samples using a Catmull-Rom spline | |||
# gaussian - extrapolates samples using a 4-point Gaussian filter | |||
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing) | |||
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales | |||
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing) | |||
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales | |||
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing) | |||
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales | |||
resampler=spline | |||
## period_size: | |||
# Sets the update period size, in sample frames. This is the number of frames | |||
# needed for each mixing update. Acceptable values range between 64 and 8192. | |||
# If left unspecified it will default to 512 sample frames (~10.7ms). | |||
period_size=512 | |||
## periods: | |||
# Sets the number of update periods. Higher values create a larger mix ahead, | |||
# which helps protect against skips when the CPU is under load, but increases | |||
# the delay between a sound getting mixed and being heard. Acceptable values | |||
# range between 2 and 16. | |||
periods=3 | |||
## sources: | |||
# Sets the maximum number of allocatable sources. Lower values may help for | |||
# systems with apps that try to play more sounds than the CPU can handle. | |||
sources=256 | |||
## slots: | |||
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot | |||
# can use a non-negligible amount of CPU time if an effect is set on it even | |||
# if no sources are feeding it, so this may help when apps use more than the | |||
# system can handle. | |||
slots=64 | |||
## front-stablizer: | |||
# Applies filters to "stablize" front sound imaging. A psychoacoustic method | |||
# is used to generate a front-center channel signal from the front-left and | |||
# front-right channels, improving the front response by reducing the combing | |||
# artifacts and phase errors. Consequently, it will only work with channel | |||
# configurations that include front-left, front-right, and front-center. | |||
#front-stablizer=false | |||
## volume-adjust: | |||
# A global volume adjustment for source output, expressed in decibels. The | |||
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will | |||
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A | |||
# value of 0 means no change. | |||
#volume-adjust=0 | |||
## cf_level: | |||
# Sets the crossfeed level for stereo output. Valid values are: | |||
# 0 - No crossfeed | |||
# 1 - Low crossfeed | |||
# 2 - Middle crossfeed | |||
# 3 - High crossfeed (virtual speakers are closer to itself) | |||
# 4 - Low easy crossfeed | |||
# 5 - Middle easy crossfeed | |||
# 6 - High easy crossfeed | |||
# Users of headphones may want to try various settings. Has no effect on non- | |||
# stereo modes. | |||
#cf_level=0 | |||
## | |||
## Ambisonic decoder stuff | |||
## | |||
[decoder] | |||
## hq-mode: | |||
# Enables a high-quality ambisonic decoder. This mode is capable of frequency- | |||
# dependent processing, creating a better reproduction of 3D sound rendering | |||
# over surround sound speakers. | |||
#hq-mode=true | |||
## distance-comp: | |||
# Enables compensation for the speakers' relative distances to the listener. | |||
# This applies the necessary delays and attenuation to make the speakers | |||
# behave as though they are all equidistant, which is important for proper | |||
# playback of 3D sound rendering. Requires the proper distances to be | |||
# specified in the decoder configuration file. | |||
#distance-comp=true | |||
## nfc: | |||
# Enables near-field control filters. This simulates and compensates for low- | |||
# frequency effects caused by the curvature of nearby sound-waves, which | |||
# creates a more realistic perception of sound distance with surround sound | |||
# output. Note that the effect may be stronger or weaker than intended if the | |||
# application doesn't use or specify an appropriate unit scale, or if | |||
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set | |||
# to one of the ambi* values for this to function. | |||
#nfc=false | |||
## speaker-dist: | |||
# Specifies the speaker distance in meters, used by the near-field control | |||
# filters with surround sound output. For ambisonic output modes, this value | |||
# is the basis for the NFC-HOA Reference Delay parameter (calculated as | |||
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder | |||
# configuration is set for the output mode (since they specify the per-speaker | |||
# distances, overriding this setting), or when the NFC filters are off. Valid | |||
# values range from 0.1 to 10. | |||
#speaker-dist=1 | |||
## | |||
## Reverb effect stuff (includes EAX reverb) | |||
## | |||
[reverb] | |||
## boost: (global) | |||
# A global amplification for reverb output, expressed in decibels. The value | |||
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a | |||
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A | |||
# value of 0 means no change. | |||
boost=0 | |||
## | |||
## ALSA backend stuff | |||
## | |||
[alsa] | |||
## allow-resampler: | |||
# Specifies whether to allow ALSA's built-in resampler. Enabling this will | |||
# allow the playback device to be set to a different sample rate than the | |||
# actual output, causing ALSA to apply its own resampling pass after OpenAL | |||
# Soft resamples and mixes the sources and effects for output. | |||
allow-resampler=true | |||
## mmap: | |||
# Sets whether to try using mmap mode (helps reduce latencies and CPU | |||
# consumption). If mmap isn't available, it will automatically fall back to | |||
# non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0 | |||
# and anything else will force mmap off. | |||
mmap=true | |||
## | |||
## PipeWire backend stuff | |||
## | |||
[pipewire] | |||
## assume-audio: (global) | |||
# Causes the backend to succeed initialization even if PipeWire reports no | |||
# audio support. Currently, audio support is detected by the presence of audio | |||
# source or sink nodes, although this can cause false negatives in cases where | |||
# device availability during library initialization is spotty. Future versions | |||
# of PipeWire are expected to have a more robust method to test audio support, | |||
# but in the mean time this can be set to true to assume PipeWire has audio | |||
# support even when no nodes may be reported at initialization time. | |||
#assume-audio=false | |||
## rt-mix: | |||
# Renders samples directly in the real-time processing callback. This allows | |||
# for lower latency and less overall CPU utilization, but can increase the | |||
# risk of underruns when increasing the amount of work the mixer needs to do. | |||
#rt-mix=false | |||
## | |||
## PulseAudio backend stuff | |||
## | |||
[pulse] | |||
## spawn-server: (global) | |||
# Attempts to autospawn a PulseAudio server whenever needed (initializing the | |||
# backend, enumerating devices, etc). Setting autospawn to false in Pulse's | |||
# client.conf will still prevent autospawning even if this is set to true. | |||
#spawn-server=false | |||
## allow-moves: (global) | |||
# Allows PulseAudio to move active streams to different devices. Note that the | |||
# device specifier (seen by applications) will not be updated when this | |||
# occurs, and neither will the AL device configuration (sample rate, format, | |||
# etc). | |||
#allow-moves=true | |||
## fix-rate: | |||
# Specifies whether to match the playback stream's sample rate to the device's | |||
# sample rate. Enabling this forces OpenAL Soft to mix sources and effects | |||
# directly to the actual output rate, avoiding a second resample pass by the | |||
# PulseAudio server. | |||
#fix-rate=false | |||
## adjust-latency: | |||
# Attempts to adjust the overall latency of device playback. Note that this | |||
# may have adverse effects on the resulting internal buffer sizes and mixing | |||
# updates, leading to performance problems and drop-outs. However, if the | |||
# PulseAudio server is creating a lot of latency, enabling this may help make | |||
# it more manageable. | |||
#adjust-latency=false | |||
## | |||
## JACK backend stuff | |||
## | |||
[jack] | |||
## spawn-server: (global) | |||
# Attempts to autospawn a JACK server when initializing. | |||
#spawn-server=false | |||
## rt-mix: | |||
# Renders samples directly in the real-time processing callback. This allows | |||
# for lower latency and less overall CPU utilization, but can increase the | |||
# risk of underruns when increasing the amount of work the mixer needs to do. | |||
rt-mix=true | |||
## connect-ports: | |||
# Attempts to automatically connect the client ports to physical server ports. | |||
# Client ports that fail to connect will leave the remaining channels | |||
# unconnected and silent (the device format won't change to accommodate). | |||
connect-ports=true | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
---- | |||
<div class="mw-collapsible mw-collapsed"> | |||
==== <span>🔊 7.1 Surround Sound</span> <div class="mw-collapsible-toggle-placeholder"></div> ==== | |||
<div class="mw-collapsible-content"> | |||
<p></p> | |||
<div class="mw-collapsible mw-collapsed"> | |||
<h5> | |||
<span style="color: purple">For Windows</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy=""> | |||
## Surround 7.1 | |||
## General stuff | |||
## | |||
[General] | |||
## stereo-mode: | |||
# Specifies if stereo output is treated as being headphones or speakers. With | |||
# headphones, HRTF or crossfeed filters may be used for better audio quality. | |||
# Valid settings are auto, speakers, and headphones. | |||
stereo-mode=speakers | |||
# Sets the default output channel configuration. If left unspecified, one will | |||
# try to be detected from the system, with a fallback to stereo. The available | |||
# values are: mono, stereo, quad, surround51, surround61, surround71, | |||
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi* | |||
# configurations output ambisonic channels of the given order (using ACN | |||
# ordering and SN3D normalization by default), which need to be decoded to | |||
# play correctly on speakers. | |||
channels=surround71 | |||
## stereo-encoding: | |||
# Specifies the default encoding method for stereo output. Valid values are: | |||
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between | |||
# -30 and +30 degrees. | |||
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some | |||
# continuous surround sound information into stereo output that can be | |||
# decoded with a surround sound receiver. | |||
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix, | |||
# which encodes some discrete surround sound and height information | |||
# into the stereo output that can be decoded with a surround sound | |||
# receiver. | |||
# hrtf - Uses filters to provide better spatialization of sounds while using | |||
# stereo headphones. | |||
# If crossfeed filters are used, basic stereo mixing is used. | |||
stereo-encoding=uhj | |||
## hrtf-mode: | |||
# Specifies the rendering mode for HRTF processing. Setting the mode to full | |||
# (default) applies a unique HRIR filter to each source given its relative | |||
# location, providing the clearest directional response at the cost of the | |||
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will | |||
# instead mix to an ambisonic buffer of the given order, then decode that | |||
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per- | |||
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D | |||
# placement at the cost of a more diffuse response. Higher ambisonic orders | |||
# increasingly improve the directional clarity, at the cost of more CPU usage | |||
# (still less than "full", given some number of active sources). | |||
#hrtf-mode=full | |||
## resampler: (global) | |||
# Selects the default resampler used when mixing sources. Valid values are: | |||
# point - nearest sample, no interpolation | |||
# linear - extrapolates samples using a linear slope between samples | |||
# spline - extrapolates samples using a Catmull-Rom spline | |||
# gaussian - extrapolates samples using a 4-point Gaussian filter | |||
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing) | |||
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales | |||
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing) | |||
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales | |||
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing) | |||
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales | |||
resampler=spline | |||
## period_size: | |||
# Sets the update period size, in sample frames. This is the number of frames | |||
# needed for each mixing update. Acceptable values range between 64 and 8192. | |||
# If left unspecified it will default to 512 sample frames (~10.7ms). | |||
period_size=512 | |||
## periods: | |||
# Sets the number of update periods. Higher values create a larger mix ahead, | |||
# which helps protect against skips when the CPU is under load, but increases | |||
# the delay between a sound getting mixed and being heard. Acceptable values | |||
# range between 2 and 16. | |||
periods=3 | |||
## sources: | |||
# Sets the maximum number of allocatable sources. Lower values may help for | |||
# systems with apps that try to play more sounds than the CPU can handle. | |||
sources=256 | |||
## slots: | |||
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot | |||
# can use a non-negligible amount of CPU time if an effect is set on it even | |||
# if no sources are feeding it, so this may help when apps use more than the | |||
# system can handle. | |||
slots=64 | |||
## front-stablizer: | |||
# Applies filters to "stablize" front sound imaging. A psychoacoustic method | |||
# is used to generate a front-center channel signal from the front-left and | |||
# front-right channels, improving the front response by reducing the combing | |||
# artifacts and phase errors. Consequently, it will only work with channel | |||
# configurations that include front-left, front-right, and front-center. | |||
#front-stablizer=false | |||
## volume-adjust: | |||
# A global volume adjustment for source output, expressed in decibels. The | |||
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will | |||
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A | |||
# value of 0 means no change. | |||
#volume-adjust=0 | |||
## cf_level: | |||
# Sets the crossfeed level for stereo output. Valid values are: | |||
# 0 - No crossfeed | |||
# 1 - Low crossfeed | |||
# 2 - Middle crossfeed | |||
# 3 - High crossfeed (virtual speakers are closer to itself) | |||
# 4 - Low easy crossfeed | |||
# 5 - Middle easy crossfeed | |||
# 6 - High easy crossfeed | |||
# Users of headphones may want to try various settings. Has no effect on non- | |||
# stereo modes. | |||
#cf_level=0 | |||
## | |||
## Ambisonic decoder stuff | |||
## | |||
[decoder] | |||
## hq-mode: | |||
# Enables a high-quality ambisonic decoder. This mode is capable of frequency- | |||
# dependent processing, creating a better reproduction of 3D sound rendering | |||
# over surround sound speakers. | |||
#hq-mode=true | |||
## distance-comp: | |||
# Enables compensation for the speakers' relative distances to the listener. | |||
# This applies the necessary delays and attenuation to make the speakers | |||
# behave as though they are all equidistant, which is important for proper | |||
# playback of 3D sound rendering. Requires the proper distances to be | |||
# specified in the decoder configuration file. | |||
#distance-comp=true | |||
## nfc: | |||
# Enables near-field control filters. This simulates and compensates for low- | |||
# frequency effects caused by the curvature of nearby sound-waves, which | |||
# creates a more realistic perception of sound distance with surround sound | |||
# output. Note that the effect may be stronger or weaker than intended if the | |||
# application doesn't use or specify an appropriate unit scale, or if | |||
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set | |||
# to one of the ambi* values for this to function. | |||
#nfc=false | |||
## speaker-dist: | |||
# Specifies the speaker distance in meters, used by the near-field control | |||
# filters with surround sound output. For ambisonic output modes, this value | |||
# is the basis for the NFC-HOA Reference Delay parameter (calculated as | |||
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder | |||
# configuration is set for the output mode (since they specify the per-speaker | |||
# distances, overriding this setting), or when the NFC filters are off. Valid | |||
# values range from 0.1 to 10. | |||
#speaker-dist=1 | |||
## | |||
## Reverb effect stuff (includes EAX reverb) | |||
## | |||
[reverb] | |||
## boost: (global) | |||
# A global amplification for reverb output, expressed in decibels. The value | |||
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a | |||
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A | |||
# value of 0 means no change. | |||
boost=0 | |||
## | |||
## WASAPI backend stuff | |||
## | |||
[wasapi] | |||
## spatial-api: | |||
# Specifies whether to use a Spatial Audio stream for playback. This may | |||
# provide expanded capabilities for surround sound and with-height speaker | |||
# configurations. Very experimental. | |||
spatial-api=false | |||
## exclusive-mode: | |||
# Enables Exlusive mode for playback devices. This uses the device directly, | |||
# allowing lower latencies but prevents the device from being used multiple | |||
# times simultaneously. Ignores the periods setting when enabled, as WASAPI | |||
# automatically sets a buffer size based on the period size. | |||
#exclusive-mode=true | |||
## allow-resampler: | |||
# Specifies whether to allow an extra resampler pass on the output. Enabling | |||
# this will allow the playback device to be set to a different sample rate | |||
# than the actual output can accept, causing the backend to apply its own | |||
# resampling pass after OpenAL Soft mixes the sources and processes effects | |||
# for output. | |||
allow-resampler=true | |||
## | |||
## DirectSound backend stuff | |||
## | |||
[dsound] | |||
## | |||
## Windows Multimedia backend stuff | |||
## | |||
[winmm] | |||
## | |||
## EAX extensions stuff | |||
## | |||
[eax] | |||
## enable: (global) | |||
# Sets whether to enable EAX extensions or not. | |||
enable=true | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
<div class="mw-collapsible mw-collapsed"> | |||
<h5> | |||
<span style="color: purple">For Linux</span> | |||
<div class="mw-collapsible-toggle-placeholder"></div> | |||
</h5> | |||
<div class="mw-collapsible-content"> | |||
<syntaxhighlight copy=""> | |||
## Surround 7.1 | |||
## General stuff | |||
## | |||
[General] | |||
## stereo-mode: | |||
# Specifies if stereo output is treated as being headphones or speakers. With | |||
# headphones, HRTF or crossfeed filters may be used for better audio quality. | |||
# Valid settings are auto, speakers, and headphones. | |||
stereo-mode=speakers | |||
# Sets the default output channel configuration. If left unspecified, one will | |||
# try to be detected from the system, with a fallback to stereo. The available | |||
# values are: mono, stereo, quad, surround51, surround61, surround71, | |||
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi* | |||
# configurations output ambisonic channels of the given order (using ACN | |||
# ordering and SN3D normalization by default), which need to be decoded to | |||
# play correctly on speakers. | |||
channels=surround71 | |||
## stereo-encoding: | |||
# Specifies the default encoding method for stereo output. Valid values are: | |||
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between | |||
# -30 and +30 degrees. | |||
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some | |||
# continuous surround sound information into stereo output that can be | |||
# decoded with a surround sound receiver. | |||
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix, | |||
# which encodes some discrete surround sound and height information | |||
# into the stereo output that can be decoded with a surround sound | |||
# receiver. | |||
# hrtf - Uses filters to provide better spatialization of sounds while using | |||
# stereo headphones. | |||
# If crossfeed filters are used, basic stereo mixing is used. | |||
stereo-encoding=uhj | |||
## hrtf-mode: | |||
# Specifies the rendering mode for HRTF processing. Setting the mode to full | |||
# (default) applies a unique HRIR filter to each source given its relative | |||
# location, providing the clearest directional response at the cost of the | |||
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will | |||
# instead mix to an ambisonic buffer of the given order, then decode that | |||
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per- | |||
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D | |||
# placement at the cost of a more diffuse response. Higher ambisonic orders | |||
# increasingly improve the directional clarity, at the cost of more CPU usage | |||
# (still less than "full", given some number of active sources). | |||
#hrtf-mode=full | |||
## resampler: (global) | |||
# Selects the default resampler used when mixing sources. Valid values are: | |||
# point - nearest sample, no interpolation | |||
# linear - extrapolates samples using a linear slope between samples | |||
# spline - extrapolates samples using a Catmull-Rom spline | |||
# gaussian - extrapolates samples using a 4-point Gaussian filter | |||
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing) | |||
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales | |||
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing) | |||
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales | |||
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing) | |||
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales | |||
resampler=spline | |||
## period_size: | |||
# Sets the update period size, in sample frames. This is the number of frames | |||
# needed for each mixing update. Acceptable values range between 64 and 8192. | |||
# If left unspecified it will default to 512 sample frames (~10.7ms). | |||
period_size=512 | |||
## periods: | |||
# Sets the number of update periods. Higher values create a larger mix ahead, | |||
# which helps protect against skips when the CPU is under load, but increases | |||
# the delay between a sound getting mixed and being heard. Acceptable values | |||
# range between 2 and 16. | |||
periods=3 | |||
## sources: | |||
# Sets the maximum number of allocatable sources. Lower values may help for | |||
# systems with apps that try to play more sounds than the CPU can handle. | |||
sources=256 | |||
## slots: | |||
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot | |||
# can use a non-negligible amount of CPU time if an effect is set on it even | |||
# if no sources are feeding it, so this may help when apps use more than the | |||
# system can handle. | |||
slots=64 | |||
## front-stablizer: | |||
# Applies filters to "stablize" front sound imaging. A psychoacoustic method | |||
# is used to generate a front-center channel signal from the front-left and | |||
# front-right channels, improving the front response by reducing the combing | |||
# artifacts and phase errors. Consequently, it will only work with channel | |||
# configurations that include front-left, front-right, and front-center. | |||
#front-stablizer=false | |||
## volume-adjust: | |||
# A global volume adjustment for source output, expressed in decibels. The | |||
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will | |||
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A | |||
# value of 0 means no change. | |||
#volume-adjust=0 | |||
## cf_level: | |||
# Sets the crossfeed level for stereo output. Valid values are: | |||
# 0 - No crossfeed | |||
# 1 - Low crossfeed | |||
# 2 - Middle crossfeed | |||
# 3 - High crossfeed (virtual speakers are closer to itself) | |||
# 4 - Low easy crossfeed | |||
# 5 - Middle easy crossfeed | |||
# 6 - High easy crossfeed | |||
# Users of headphones may want to try various settings. Has no effect on non- | |||
# stereo modes. | |||
#cf_level=0 | |||
## | |||
## Ambisonic decoder stuff | |||
## | |||
[decoder] | |||
## hq-mode: | |||
# Enables a high-quality ambisonic decoder. This mode is capable of frequency- | |||
# dependent processing, creating a better reproduction of 3D sound rendering | |||
# over surround sound speakers. | |||
#hq-mode=true | |||
## distance-comp: | |||
# Enables compensation for the speakers' relative distances to the listener. | |||
# This applies the necessary delays and attenuation to make the speakers | |||
# behave as though they are all equidistant, which is important for proper | |||
# playback of 3D sound rendering. Requires the proper distances to be | |||
# specified in the decoder configuration file. | |||
#distance-comp=true | |||
## nfc: | |||
# Enables near-field control filters. This simulates and compensates for low- | |||
# frequency effects caused by the curvature of nearby sound-waves, which | |||
# creates a more realistic perception of sound distance with surround sound | |||
# output. Note that the effect may be stronger or weaker than intended if the | |||
# application doesn't use or specify an appropriate unit scale, or if | |||
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set | |||
# to one of the ambi* values for this to function. | |||
#nfc=false | |||
## speaker-dist: | |||
# Specifies the speaker distance in meters, used by the near-field control | |||
# filters with surround sound output. For ambisonic output modes, this value | |||
# is the basis for the NFC-HOA Reference Delay parameter (calculated as | |||
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder | |||
# configuration is set for the output mode (since they specify the per-speaker | |||
# distances, overriding this setting), or when the NFC filters are off. Valid | |||
# values range from 0.1 to 10. | |||
#speaker-dist=1 | |||
## | |||
## Reverb effect stuff (includes EAX reverb) | |||
## | |||
[reverb] | |||
## boost: (global) | |||
# A global amplification for reverb output, expressed in decibels. The value | |||
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a | |||
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A | |||
# value of 0 means no change. | |||
boost=0 | |||
## | |||
## ALSA backend stuff | |||
## | |||
[alsa] | |||
## allow-resampler: | |||
# Specifies whether to allow ALSA's built-in resampler. Enabling this will | |||
# allow the playback device to be set to a different sample rate than the | |||
# actual output, causing ALSA to apply its own resampling pass after OpenAL | |||
# Soft resamples and mixes the sources and effects for output. | |||
allow-resampler=true | |||
## mmap: | |||
# Sets whether to try using mmap mode (helps reduce latencies and CPU | |||
# consumption). If mmap isn't available, it will automatically fall back to | |||
# non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0 | |||
# and anything else will force mmap off. | |||
mmap=true | |||
## | |||
## PipeWire backend stuff | |||
## | |||
[pipewire] | |||
## assume-audio: (global) | |||
# Causes the backend to succeed initialization even if PipeWire reports no | |||
# audio support. Currently, audio support is detected by the presence of audio | |||
# source or sink nodes, although this can cause false negatives in cases where | |||
# device availability during library initialization is spotty. Future versions | |||
# of PipeWire are expected to have a more robust method to test audio support, | |||
# but in the mean time this can be set to true to assume PipeWire has audio | |||
# support even when no nodes may be reported at initialization time. | |||
#assume-audio=false | |||
## rt-mix: | |||
# Renders samples directly in the real-time processing callback. This allows | |||
# for lower latency and less overall CPU utilization, but can increase the | |||
# risk of underruns when increasing the amount of work the mixer needs to do. | |||
#rt-mix=false | |||
## | |||
## PulseAudio backend stuff | |||
## | |||
[pulse] | |||
## spawn-server: (global) | |||
# Attempts to autospawn a PulseAudio server whenever needed (initializing the | |||
# backend, enumerating devices, etc). Setting autospawn to false in Pulse's | |||
# client.conf will still prevent autospawning even if this is set to true. | |||
#spawn-server=false | |||
## allow-moves: (global) | |||
# Allows PulseAudio to move active streams to different devices. Note that the | |||
# device specifier (seen by applications) will not be updated when this | |||
# occurs, and neither will the AL device configuration (sample rate, format, | |||
# etc). | |||
#allow-moves=true | |||
## fix-rate: | |||
# Specifies whether to match the playback stream's sample rate to the device's | |||
# sample rate. Enabling this forces OpenAL Soft to mix sources and effects | |||
# directly to the actual output rate, avoiding a second resample pass by the | |||
# PulseAudio server. | |||
#fix-rate=false | |||
## adjust-latency: | |||
# Attempts to adjust the overall latency of device playback. Note that this | |||
# may have adverse effects on the resulting internal buffer sizes and mixing | |||
# updates, leading to performance problems and drop-outs. However, if the | |||
# PulseAudio server is creating a lot of latency, enabling this may help make | |||
# it more manageable. | |||
#adjust-latency=false | |||
## | |||
## JACK backend stuff | |||
## | |||
[jack] | |||
## spawn-server: (global) | |||
# Attempts to autospawn a JACK server when initializing. | |||
#spawn-server=false | |||
## rt-mix: | |||
# Renders samples directly in the real-time processing callback. This allows | |||
# for lower latency and less overall CPU utilization, but can increase the | |||
# risk of underruns when increasing the amount of work the mixer needs to do. | |||
rt-mix=true | |||
## connect-ports: | |||
# Attempts to automatically connect the client ports to physical server ports. | |||
# Client ports that fail to connect will leave the remaining channels | |||
# unconnected and silent (the device format won't change to accommodate). | |||
connect-ports=true | |||
</syntaxhighlight> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
== 5️⃣ Recommended Settings by Player Type == | |||
=== 🏆 Competitive Players === | |||
* Headphones + HRTF | |||
* Channels = 32 or 64 | |||
* Lower music volume | |||
* Higher sound effects | |||
=== 🎮 Casual Players === | |||
* Stereo or surround | |||
* Balanced volume levels | |||
* Keep defaults unless something sounds wrong | |||
=== ✔️ Quick Setup (for headphones) === | |||
# Create/edit <code>alsoft.ini</code>: | |||
#* Choose headphone preset from wiki. | |||
# Open <code>UT2004.ini</code> | |||
#* Set <code>Use3DSound=True</code> | |||
#* Raise <code>Channels</code> to at least 32 | |||
# Restart the game and test. | |||
=== ✔️ Quick Surround Setup === | |||
# Pick the '''5.1 or 7.1 preset''' from the wiki for <code>alsoft.ini</code> | |||
# Test in game with maps that have lots of sound effects (like crowded DM or Freon). | |||
== 🎧 What Is EAX? == | |||
'''EAX (Environmental Audio Extensions)''' was a Creative Labs technology that added: | |||
* Reverb effects (echo in large rooms) | |||
* Environmental acoustics (muffled sounds behind walls) | |||
* More immersive indoor/outdoor audio | |||
''Originally, it required specific Sound Blaster hardware.'' | |||
✅ Should You Enable It? | |||
* Better environmental immersion | |||
* More realistic reverb indoors | |||
* No modern hardware downside | |||
* Minimal performance cost | |||
❌ When to Turn It Off | |||
* You want the cleanest, driest competitive audio | |||
* You dislike environmental reverb | |||
* You're troubleshooting weird sound artifacts | |||
Competitive players sometimes disable it to reduce “audio clutter.” | |||
Latest revision as of 15:50, 26 February 2026
🎧 Sound Configuration Guide
1️⃣ What Changed in 3374?
The 3374 patch uses OpenAL Soft, a modern audio engine that replaces the older DirectSound system.
Why this is good
- Better 3D positional audio
- Proper surround sound (5.1 / 7.1)
- Headphone spatial audio (HRTF)
- More configurable and higher quality sound
If configured correctly, you’ll hear:
- Footsteps more precisely
- Better directional cues
- Clearer voice chat
- Cleaner ambient audio
2️⃣ How Sound Configuration Works
There are two layers of sound settings:
| File | What It Controls |
|---|---|
UT2004.ini
|
In-game sound behavior |
alsoft.ini (or alsoft.conf)
|
How OpenAL outputs sound to your device |
You may only need to adjust one — but for best results, configure both.
📂 Where Are the Sound Config Files?
For Unreal Tournament 2004 there are two main config files related to sound:
UT2004.ini→ game audio settingsalsoft.ini(oralsoft.conf) → OpenAL Soft output settings
Their locations depend on your operating system.
🔊 OpenAL Config
Windows location
C:\Users\<YourName>\AppData\Roaming\alsoft.ini
🎮 Game Config (recommended)
C:\Games\UT2004\System\alsoft.ini
Linux location
Global
/etc/xdg/alsoft.conf
User-specific
~/.config/alsoft.conf
🎮 Game Config (recommended)
~/.ut2004/System/alsoft.conf
If installed via Wine/Proton (Steam)
~/.steam/steam/steamapps/common/Unreal Tournament 2004/System/alsoft.ini
If it doesn’t exist, you can create it.
You can find available options and documentation here
3️⃣ Step-By-Step Setup
🎮 Step A — Configure the Game (UT2004.ini)
Find UT2004.ini inside your UT2004 System folder.
Look for this section:
[ALAudio.ALAudioSubsystem]
Here are the important settings:
[ALAudio.ALAudioSubsystem]
UseEAX=True
Use3DSound=True
UseDefaultDriver=True
CompatibilityMode=False
MaxEAXVersion=255
UsePrecache=True
ReverseStereo=False
Channels=32
MusicVolume=0.10000
AmbientVolume=0.500000
SoundVolume=0.30000
VoiceVolume=4.000000
VolumeScaleRec=0.100000
DopplerFactor=1.0
Rolloff=0.5
TimeBetweenHWUpdates=15
DisablePitch=False
LowQualitySound=False
UseVoIP=True
UseVAD=False
UseSpatializedVoice=False
SpatializedVoiceRadius=100000
EnhancedDenoiser=False
LocalZOffset=0.0What These Do
- Use3DSound=True Enables positional audio. Keep this ON.
- Channels=32 controls how many simultaneous sounds play — more = richer sound but higher CPU usage.
- 32 = good balance - default
- 64 = richer sound (uses more CPU)
- 128 = highest quality
- MusicVolume Background music level
- SoundVolume Weapons, effects, explosions
- AmbientVolume Environmental sounds
- VoiceVolume Player voice chat
- UseEAX=true - Enables EAX (Environmental Audio Extensions) - See 🎧 What Is EAX?
- Rolloff=0.5 controls how quickly sound volume decreases with distance
- Higher rolloff → sound gets quiet faster
- Lower rolloff → sound stays audible longer
- Recommended range → 0.3 - 0.5
🔊 Step B — Configure OpenAL
This file goes in your game System folder (Windows/Linux). If it does not exist, you can create it.
It lets you choose:
- Stereo, headphones, or surround setups
- HRTF on/off (for 3D sound on headphones)
- Best resampler for quality vs performance
4️⃣ Choose Your Audio Setup
The wiki has preset blocks you can copy/paste depending on your output device:
📌 Stereo (speakers)
📌 Stereo with HRTF (headphones)
📌 Surround 5.1 / 7.1
…and variants for both Windows and Linux
🔈 Stereo Speakers
Basic stereo setup
For Windows
## CONFIG - Default
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=speakers
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=stereo
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=basic
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
#hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
#cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
#hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
#distance-comp=true
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
#nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## WASAPI backend stuff
##
[wasapi]
## spatial-api:
# Specifies whether to use a Spatial Audio stream for playback. This may
# provide expanded capabilities for surround sound and with-height speaker
# configurations. Very experimental.
#spatial-api=false
## exclusive-mode:
# Enables Exlusive mode for playback devices. This uses the device directly,
# allowing lower latencies but prevents the device from being used multiple
# times simultaneously. Ignores the periods setting when enabled, as WASAPI
# automatically sets a buffer size based on the period size.
#exclusive-mode=true
## allow-resampler:
# Specifies whether to allow an extra resampler pass on the output. Enabling
# this will allow the playback device to be set to a different sample rate
# than the actual output can accept, causing the backend to apply its own
# resampling pass after OpenAL Soft mixes the sources and processes effects
# for output.
allow-resampler=true
##
## DirectSound backend stuff
##
[dsound]
##
## Windows Multimedia backend stuff
##
[winmm]
##
## EAX extensions stuff
##
[eax]
## enable: (global)
# Sets whether to enable EAX extensions or not.
enable=trueFor Linux
## CONFIG - Default
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=speakers
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=stereo
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=basic
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
#hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
#cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
#hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
#distance-comp=true
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
#nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## ALSA backend stuff
##
[alsa]
## allow-resampler:
# Specifies whether to allow ALSA's built-in resampler. Enabling this will
# allow the playback device to be set to a different sample rate than the
# actual output, causing ALSA to apply its own resampling pass after OpenAL
# Soft resamples and mixes the sources and effects for output.
allow-resampler=true
## mmap:
# Sets whether to try using mmap mode (helps reduce latencies and CPU
# consumption). If mmap isn't available, it will automatically fall back to
# non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
# and anything else will force mmap off.
mmap=true
##
## PipeWire backend stuff
##
[pipewire]
## assume-audio: (global)
# Causes the backend to succeed initialization even if PipeWire reports no
# audio support. Currently, audio support is detected by the presence of audio
# source or sink nodes, although this can cause false negatives in cases where
# device availability during library initialization is spotty. Future versions
# of PipeWire are expected to have a more robust method to test audio support,
# but in the mean time this can be set to true to assume PipeWire has audio
# support even when no nodes may be reported at initialization time.
#assume-audio=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
#rt-mix=false
##
## PulseAudio backend stuff
##
[pulse]
## spawn-server: (global)
# Attempts to autospawn a PulseAudio server whenever needed (initializing the
# backend, enumerating devices, etc). Setting autospawn to false in Pulse's
# client.conf will still prevent autospawning even if this is set to true.
#spawn-server=false
## allow-moves: (global)
# Allows PulseAudio to move active streams to different devices. Note that the
# device specifier (seen by applications) will not be updated when this
# occurs, and neither will the AL device configuration (sample rate, format,
# etc).
#allow-moves=true
## fix-rate:
# Specifies whether to match the playback stream's sample rate to the device's
# sample rate. Enabling this forces OpenAL Soft to mix sources and effects
# directly to the actual output rate, avoiding a second resample pass by the
# PulseAudio server.
#fix-rate=false
## adjust-latency:
# Attempts to adjust the overall latency of device playback. Note that this
# may have adverse effects on the resulting internal buffer sizes and mixing
# updates, leading to performance problems and drop-outs. However, if the
# PulseAudio server is creating a lot of latency, enabling this may help make
# it more manageable.
#adjust-latency=false
##
## JACK backend stuff
##
[jack]
## spawn-server: (global)
# Attempts to autospawn a JACK server when initializing.
#spawn-server=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
rt-mix=true
## connect-ports:
# Attempts to automatically connect the client ports to physical server ports.
# Client ports that fail to connect will leave the remaining channels
# unconnected and silent (the device format won't change to accommodate).
connect-ports=true🎧 Headphones
Basic stereo setup for headphones
For Windows
## CONFIG - Headphones - Basic Stereo
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=headphones
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=stereo
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=basic
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
#hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
#cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
#hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
#distance-comp=true
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
#nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## WASAPI backend stuff
##
[wasapi]
## spatial-api:
# Specifies whether to use a Spatial Audio stream for playback. This may
# provide expanded capabilities for surround sound and with-height speaker
# configurations. Very experimental.
#spatial-api=false
## exclusive-mode:
# Enables Exlusive mode for playback devices. This uses the device directly,
# allowing lower latencies but prevents the device from being used multiple
# times simultaneously. Ignores the periods setting when enabled, as WASAPI
# automatically sets a buffer size based on the period size.
#exclusive-mode=true
## allow-resampler:
# Specifies whether to allow an extra resampler pass on the output. Enabling
# this will allow the playback device to be set to a different sample rate
# than the actual output can accept, causing the backend to apply its own
# resampling pass after OpenAL Soft mixes the sources and processes effects
# for output.
allow-resampler=true
##
## DirectSound backend stuff
##
[dsound]
##
## Windows Multimedia backend stuff
##
[winmm]
##
## EAX extensions stuff
##
[eax]
## enable: (global)
# Sets whether to enable EAX extensions or not.
enable=trueFor Linux
## CONFIG - Headphones - Basic Stereo
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=headphones
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=stereo
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=basic
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
#hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
#cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
# hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
#distance-comp=true
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
#nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
# speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## ALSA backend stuff
##
[alsa]
## allow-resampler:
# Specifies whether to allow ALSA's built-in resampler. Enabling this will
# allow the playback device to be set to a different sample rate than the
# actual output, causing ALSA to apply its own resampling pass after OpenAL
# Soft resamples and mixes the sources and effects for output.
allow-resampler=true
## mmap:
# Sets whether to try using mmap mode (helps reduce latencies and CPU
# consumption). If mmap isn't available, it will automatically fall back to
# non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
# and anything else will force mmap off.
mmap=true
##
## PipeWire backend stuff
##
[pipewire]
## assume-audio: (global)
# Causes the backend to succeed initialization even if PipeWire reports no
# audio support. Currently, audio support is detected by the presence of audio
# source or sink nodes, although this can cause false negatives in cases where
# device availability during library initialization is spotty. Future versions
# of PipeWire are expected to have a more robust method to test audio support,
# but in the mean time this can be set to true to assume PipeWire has audio
# support even when no nodes may be reported at initialization time.
#assume-audio=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
#rt-mix=false
##
## PulseAudio backend stuff
##
[pulse]
## spawn-server: (global)
# Attempts to autospawn a PulseAudio server whenever needed (initializing the
# backend, enumerating devices, etc). Setting autospawn to false in Pulse's
# client.conf will still prevent autospawning even if this is set to true.
#spawn-server=false
## allow-moves: (global)
# Allows PulseAudio to move active streams to different devices. Note that the
# device specifier (seen by applications) will not be updated when this
# occurs, and neither will the AL device configuration (sample rate, format,
# etc).
#allow-moves=true
## fix-rate:
# Specifies whether to match the playback stream's sample rate to the device's
# sample rate. Enabling this forces OpenAL Soft to mix sources and effects
# directly to the actual output rate, avoiding a second resample pass by the
# PulseAudio server.
#fix-rate=false
## adjust-latency:
# Attempts to adjust the overall latency of device playback. Note that this
# may have adverse effects on the resulting internal buffer sizes and mixing
# updates, leading to performance problems and drop-outs. However, if the
# PulseAudio server is creating a lot of latency, enabling this may help make
# it more manageable.
#adjust-latency=false
##
## JACK backend stuff
##
[jack]
## spawn-server: (global)
# Attempts to autospawn a JACK server when initializing.
#spawn-server=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
rt-mix=true
## connect-ports:
# Attempts to automatically connect the client ports to physical server ports.
# Client ports that fail to connect will leave the remaining channels
# unconnected and silent (the device format won't change to accommodate).
connect-ports=true🎧 Headphones + HRTF (Recommended for Competitive Play)
For more information about HRTF, see the documentation page here
For Windows
## CONFIG - Headphones + HRTF
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=headphones
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=stereo
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=hrtf
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
# hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
distance-comp=false
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## WASAPI backend stuff
##
[wasapi]
## spatial-api:
# Specifies whether to use a Spatial Audio stream for playback. This may
# provide expanded capabilities for surround sound and with-height speaker
# configurations. Very experimental.
#spatial-api=false
## exclusive-mode:
# Enables Exlusive mode for playback devices. This uses the device directly,
# allowing lower latencies but prevents the device from being used multiple
# times simultaneously. Ignores the periods setting when enabled, as WASAPI
# automatically sets a buffer size based on the period size.
#exclusive-mode=true
## allow-resampler:
# Specifies whether to allow an extra resampler pass on the output. Enabling
# this will allow the playback device to be set to a different sample rate
# than the actual output can accept, causing the backend to apply its own
# resampling pass after OpenAL Soft mixes the sources and processes effects
# for output.
allow-resampler=true
##
## DirectSound backend stuff
##
[dsound]
##
## Windows Multimedia backend stuff
##
[winmm]
##
## EAX extensions stuff
##
[eax]
## enable: (global)
# Sets whether to enable EAX extensions or not.
enable=trueFor Linux
## CONFIG - Headphones + HRTF
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=headphones
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=stereo
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=hrtf
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
# hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
distance-comp=false
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## ALSA backend stuff
##
[alsa]
## allow-resampler:
# Specifies whether to allow ALSA's built-in resampler. Enabling this will
# allow the playback device to be set to a different sample rate than the
# actual output, causing ALSA to apply its own resampling pass after OpenAL
# Soft resamples and mixes the sources and effects for output.
allow-resampler=true
## mmap:
# Sets whether to try using mmap mode (helps reduce latencies and CPU
# consumption). If mmap isn't available, it will automatically fall back to
# non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
# and anything else will force mmap off.
mmap=true
##
## PipeWire backend stuff
##
[pipewire]
## assume-audio: (global)
# Causes the backend to succeed initialization even if PipeWire reports no
# audio support. Currently, audio support is detected by the presence of audio
# source or sink nodes, although this can cause false negatives in cases where
# device availability during library initialization is spotty. Future versions
# of PipeWire are expected to have a more robust method to test audio support,
# but in the mean time this can be set to true to assume PipeWire has audio
# support even when no nodes may be reported at initialization time.
#assume-audio=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
#rt-mix=false
##
## PulseAudio backend stuff
##
[pulse]
## spawn-server: (global)
# Attempts to autospawn a PulseAudio server whenever needed (initializing the
# backend, enumerating devices, etc). Setting autospawn to false in Pulse's
# client.conf will still prevent autospawning even if this is set to true.
#spawn-server=false
## allow-moves: (global)
# Allows PulseAudio to move active streams to different devices. Note that the
# device specifier (seen by applications) will not be updated when this
# occurs, and neither will the AL device configuration (sample rate, format,
# etc).
#allow-moves=true
## fix-rate:
# Specifies whether to match the playback stream's sample rate to the device's
# sample rate. Enabling this forces OpenAL Soft to mix sources and effects
# directly to the actual output rate, avoiding a second resample pass by the
# PulseAudio server.
#fix-rate=false
## adjust-latency:
# Attempts to adjust the overall latency of device playback. Note that this
# may have adverse effects on the resulting internal buffer sizes and mixing
# updates, leading to performance problems and drop-outs. However, if the
# PulseAudio server is creating a lot of latency, enabling this may help make
# it more manageable.
#adjust-latency=false
##
## JACK backend stuff
##
[jack]
## spawn-server: (global)
# Attempts to autospawn a JACK server when initializing.
#spawn-server=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
rt-mix=true
## connect-ports:
# Attempts to automatically connect the client ports to physical server ports.
# Client ports that fail to connect will leave the remaining channels
# unconnected and silent (the device format won't change to accommodate).
connect-ports=true🔊 5.1 Surround Sound
For Windows
## Surround 5.1
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=speakers
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=surround51
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=uhj
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
#hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
#cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
#hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
#distance-comp=true
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
#nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## WASAPI backend stuff
##
[wasapi]
## spatial-api:
# Specifies whether to use a Spatial Audio stream for playback. This may
# provide expanded capabilities for surround sound and with-height speaker
# configurations. Very experimental.
spatial-api=false
## exclusive-mode:
# Enables Exlusive mode for playback devices. This uses the device directly,
# allowing lower latencies but prevents the device from being used multiple
# times simultaneously. Ignores the periods setting when enabled, as WASAPI
# automatically sets a buffer size based on the period size.
#exclusive-mode=true
## allow-resampler:
# Specifies whether to allow an extra resampler pass on the output. Enabling
# this will allow the playback device to be set to a different sample rate
# than the actual output can accept, causing the backend to apply its own
# resampling pass after OpenAL Soft mixes the sources and processes effects
# for output.
allow-resampler=true
##
## DirectSound backend stuff
##
[dsound]
##
## Windows Multimedia backend stuff
##
[winmm]
##
## EAX extensions stuff
##
[eax]
## enable: (global)
# Sets whether to enable EAX extensions or not.
enable=trueFor Linux
## Surround 5.1
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=speakers
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=surround51
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=uhj
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
#hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
#cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
#hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
#distance-comp=true
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
#nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## ALSA backend stuff
##
[alsa]
## allow-resampler:
# Specifies whether to allow ALSA's built-in resampler. Enabling this will
# allow the playback device to be set to a different sample rate than the
# actual output, causing ALSA to apply its own resampling pass after OpenAL
# Soft resamples and mixes the sources and effects for output.
allow-resampler=true
## mmap:
# Sets whether to try using mmap mode (helps reduce latencies and CPU
# consumption). If mmap isn't available, it will automatically fall back to
# non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
# and anything else will force mmap off.
mmap=true
##
## PipeWire backend stuff
##
[pipewire]
## assume-audio: (global)
# Causes the backend to succeed initialization even if PipeWire reports no
# audio support. Currently, audio support is detected by the presence of audio
# source or sink nodes, although this can cause false negatives in cases where
# device availability during library initialization is spotty. Future versions
# of PipeWire are expected to have a more robust method to test audio support,
# but in the mean time this can be set to true to assume PipeWire has audio
# support even when no nodes may be reported at initialization time.
#assume-audio=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
#rt-mix=false
##
## PulseAudio backend stuff
##
[pulse]
## spawn-server: (global)
# Attempts to autospawn a PulseAudio server whenever needed (initializing the
# backend, enumerating devices, etc). Setting autospawn to false in Pulse's
# client.conf will still prevent autospawning even if this is set to true.
#spawn-server=false
## allow-moves: (global)
# Allows PulseAudio to move active streams to different devices. Note that the
# device specifier (seen by applications) will not be updated when this
# occurs, and neither will the AL device configuration (sample rate, format,
# etc).
#allow-moves=true
## fix-rate:
# Specifies whether to match the playback stream's sample rate to the device's
# sample rate. Enabling this forces OpenAL Soft to mix sources and effects
# directly to the actual output rate, avoiding a second resample pass by the
# PulseAudio server.
#fix-rate=false
## adjust-latency:
# Attempts to adjust the overall latency of device playback. Note that this
# may have adverse effects on the resulting internal buffer sizes and mixing
# updates, leading to performance problems and drop-outs. However, if the
# PulseAudio server is creating a lot of latency, enabling this may help make
# it more manageable.
#adjust-latency=false
##
## JACK backend stuff
##
[jack]
## spawn-server: (global)
# Attempts to autospawn a JACK server when initializing.
#spawn-server=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
rt-mix=true
## connect-ports:
# Attempts to automatically connect the client ports to physical server ports.
# Client ports that fail to connect will leave the remaining channels
# unconnected and silent (the device format won't change to accommodate).
connect-ports=true🔊 7.1 Surround Sound
For Windows
## Surround 7.1
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=speakers
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=surround71
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=uhj
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
#hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
#cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
#hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
#distance-comp=true
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
#nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## WASAPI backend stuff
##
[wasapi]
## spatial-api:
# Specifies whether to use a Spatial Audio stream for playback. This may
# provide expanded capabilities for surround sound and with-height speaker
# configurations. Very experimental.
spatial-api=false
## exclusive-mode:
# Enables Exlusive mode for playback devices. This uses the device directly,
# allowing lower latencies but prevents the device from being used multiple
# times simultaneously. Ignores the periods setting when enabled, as WASAPI
# automatically sets a buffer size based on the period size.
#exclusive-mode=true
## allow-resampler:
# Specifies whether to allow an extra resampler pass on the output. Enabling
# this will allow the playback device to be set to a different sample rate
# than the actual output can accept, causing the backend to apply its own
# resampling pass after OpenAL Soft mixes the sources and processes effects
# for output.
allow-resampler=true
##
## DirectSound backend stuff
##
[dsound]
##
## Windows Multimedia backend stuff
##
[winmm]
##
## EAX extensions stuff
##
[eax]
## enable: (global)
# Sets whether to enable EAX extensions or not.
enable=trueFor Linux
## Surround 7.1
## General stuff
##
[General]
## stereo-mode:
# Specifies if stereo output is treated as being headphones or speakers. With
# headphones, HRTF or crossfeed filters may be used for better audio quality.
# Valid settings are auto, speakers, and headphones.
stereo-mode=speakers
# Sets the default output channel configuration. If left unspecified, one will
# try to be detected from the system, with a fallback to stereo. The available
# values are: mono, stereo, quad, surround51, surround61, surround71,
# surround714, 3d71, ambi1, ambi2, ambi3, ambi4. Note that the ambi*
# configurations output ambisonic channels of the given order (using ACN
# ordering and SN3D normalization by default), which need to be decoded to
# play correctly on speakers.
channels=surround71
## stereo-encoding:
# Specifies the default encoding method for stereo output. Valid values are:
# basic - Standard amplitude panning (aka pair-wise, stereo pair, etc) between
# -30 and +30 degrees.
# uhj - Creates a stereo-compatible two-channel UHJ mix, which encodes some
# continuous surround sound information into stereo output that can be
# decoded with a surround sound receiver.
# tsme - Creates a stereo-compatible two-channel surround matrix encoded mix,
# which encodes some discrete surround sound and height information
# into the stereo output that can be decoded with a surround sound
# receiver.
# hrtf - Uses filters to provide better spatialization of sounds while using
# stereo headphones.
# If crossfeed filters are used, basic stereo mixing is used.
stereo-encoding=uhj
## hrtf-mode:
# Specifies the rendering mode for HRTF processing. Setting the mode to full
# (default) applies a unique HRIR filter to each source given its relative
# location, providing the clearest directional response at the cost of the
# highest CPU usage. Setting the mode to ambi1, ambi2, ambi3, or ambi4 will
# instead mix to an ambisonic buffer of the given order, then decode that
# buffer with HRTF filters. Ambi1 has the lowest CPU usage, replacing the per-
# source HRIR filter for a simple 4-channel panning mix, but retains full 3D
# placement at the cost of a more diffuse response. Higher ambisonic orders
# increasingly improve the directional clarity, at the cost of more CPU usage
# (still less than "full", given some number of active sources).
#hrtf-mode=full
## resampler: (global)
# Selects the default resampler used when mixing sources. Valid values are:
# point - nearest sample, no interpolation
# linear - extrapolates samples using a linear slope between samples
# spline - extrapolates samples using a Catmull-Rom spline
# gaussian - extrapolates samples using a 4-point Gaussian filter
# bsinc12 - extrapolates samples using a band-limited Sinc filter (varying between 12 and 24 points, with anti-aliasing)
# fast_bsinc12 - same as bsinc12, except without interpolation between down-sampling scales
# bsinc24 - extrapolates samples using a band-limited Sinc filter (varying between 24 and 48 points, with anti-aliasing)
# fast_bsinc24 - same as bsinc24, except without interpolation between down-sampling scales
# bsinc48 - extrapolates samples using a band-limited Sinc filter (48 points, with anti-aliasing)
# fast_bsinc48 - same as bsinc48, except without interpolation between down-sampling scales
resampler=spline
## period_size:
# Sets the update period size, in sample frames. This is the number of frames
# needed for each mixing update. Acceptable values range between 64 and 8192.
# If left unspecified it will default to 512 sample frames (~10.7ms).
period_size=512
## periods:
# Sets the number of update periods. Higher values create a larger mix ahead,
# which helps protect against skips when the CPU is under load, but increases
# the delay between a sound getting mixed and being heard. Acceptable values
# range between 2 and 16.
periods=3
## sources:
# Sets the maximum number of allocatable sources. Lower values may help for
# systems with apps that try to play more sounds than the CPU can handle.
sources=256
## slots:
# Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
# can use a non-negligible amount of CPU time if an effect is set on it even
# if no sources are feeding it, so this may help when apps use more than the
# system can handle.
slots=64
## front-stablizer:
# Applies filters to "stablize" front sound imaging. A psychoacoustic method
# is used to generate a front-center channel signal from the front-left and
# front-right channels, improving the front response by reducing the combing
# artifacts and phase errors. Consequently, it will only work with channel
# configurations that include front-left, front-right, and front-center.
#front-stablizer=false
## volume-adjust:
# A global volume adjustment for source output, expressed in decibels. The
# value is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will
# be a scale of 4x, etc. Similarly, -6 will be x1/2, and -12 is about x1/4. A
# value of 0 means no change.
#volume-adjust=0
## cf_level:
# Sets the crossfeed level for stereo output. Valid values are:
# 0 - No crossfeed
# 1 - Low crossfeed
# 2 - Middle crossfeed
# 3 - High crossfeed (virtual speakers are closer to itself)
# 4 - Low easy crossfeed
# 5 - Middle easy crossfeed
# 6 - High easy crossfeed
# Users of headphones may want to try various settings. Has no effect on non-
# stereo modes.
#cf_level=0
##
## Ambisonic decoder stuff
##
[decoder]
## hq-mode:
# Enables a high-quality ambisonic decoder. This mode is capable of frequency-
# dependent processing, creating a better reproduction of 3D sound rendering
# over surround sound speakers.
#hq-mode=true
## distance-comp:
# Enables compensation for the speakers' relative distances to the listener.
# This applies the necessary delays and attenuation to make the speakers
# behave as though they are all equidistant, which is important for proper
# playback of 3D sound rendering. Requires the proper distances to be
# specified in the decoder configuration file.
#distance-comp=true
## nfc:
# Enables near-field control filters. This simulates and compensates for low-
# frequency effects caused by the curvature of nearby sound-waves, which
# creates a more realistic perception of sound distance with surround sound
# output. Note that the effect may be stronger or weaker than intended if the
# application doesn't use or specify an appropriate unit scale, or if
# incorrect speaker distances are set. For HRTF output, hrtf-mode must be set
# to one of the ambi* values for this to function.
#nfc=false
## speaker-dist:
# Specifies the speaker distance in meters, used by the near-field control
# filters with surround sound output. For ambisonic output modes, this value
# is the basis for the NFC-HOA Reference Delay parameter (calculated as
# delay_seconds=speaker_dist/343.3). This value is not used when a decoder
# configuration is set for the output mode (since they specify the per-speaker
# distances, overriding this setting), or when the NFC filters are off. Valid
# values range from 0.1 to 10.
#speaker-dist=1
##
## Reverb effect stuff (includes EAX reverb)
##
[reverb]
## boost: (global)
# A global amplification for reverb output, expressed in decibels. The value
# is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
# scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
# value of 0 means no change.
boost=0
##
## ALSA backend stuff
##
[alsa]
## allow-resampler:
# Specifies whether to allow ALSA's built-in resampler. Enabling this will
# allow the playback device to be set to a different sample rate than the
# actual output, causing ALSA to apply its own resampling pass after OpenAL
# Soft resamples and mixes the sources and effects for output.
allow-resampler=true
## mmap:
# Sets whether to try using mmap mode (helps reduce latencies and CPU
# consumption). If mmap isn't available, it will automatically fall back to
# non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
# and anything else will force mmap off.
mmap=true
##
## PipeWire backend stuff
##
[pipewire]
## assume-audio: (global)
# Causes the backend to succeed initialization even if PipeWire reports no
# audio support. Currently, audio support is detected by the presence of audio
# source or sink nodes, although this can cause false negatives in cases where
# device availability during library initialization is spotty. Future versions
# of PipeWire are expected to have a more robust method to test audio support,
# but in the mean time this can be set to true to assume PipeWire has audio
# support even when no nodes may be reported at initialization time.
#assume-audio=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
#rt-mix=false
##
## PulseAudio backend stuff
##
[pulse]
## spawn-server: (global)
# Attempts to autospawn a PulseAudio server whenever needed (initializing the
# backend, enumerating devices, etc). Setting autospawn to false in Pulse's
# client.conf will still prevent autospawning even if this is set to true.
#spawn-server=false
## allow-moves: (global)
# Allows PulseAudio to move active streams to different devices. Note that the
# device specifier (seen by applications) will not be updated when this
# occurs, and neither will the AL device configuration (sample rate, format,
# etc).
#allow-moves=true
## fix-rate:
# Specifies whether to match the playback stream's sample rate to the device's
# sample rate. Enabling this forces OpenAL Soft to mix sources and effects
# directly to the actual output rate, avoiding a second resample pass by the
# PulseAudio server.
#fix-rate=false
## adjust-latency:
# Attempts to adjust the overall latency of device playback. Note that this
# may have adverse effects on the resulting internal buffer sizes and mixing
# updates, leading to performance problems and drop-outs. However, if the
# PulseAudio server is creating a lot of latency, enabling this may help make
# it more manageable.
#adjust-latency=false
##
## JACK backend stuff
##
[jack]
## spawn-server: (global)
# Attempts to autospawn a JACK server when initializing.
#spawn-server=false
## rt-mix:
# Renders samples directly in the real-time processing callback. This allows
# for lower latency and less overall CPU utilization, but can increase the
# risk of underruns when increasing the amount of work the mixer needs to do.
rt-mix=true
## connect-ports:
# Attempts to automatically connect the client ports to physical server ports.
# Client ports that fail to connect will leave the remaining channels
# unconnected and silent (the device format won't change to accommodate).
connect-ports=true5️⃣ Recommended Settings by Player Type
🏆 Competitive Players
- Headphones + HRTF
- Channels = 32 or 64
- Lower music volume
- Higher sound effects
🎮 Casual Players
- Stereo or surround
- Balanced volume levels
- Keep defaults unless something sounds wrong
✔️ Quick Setup (for headphones)
- Create/edit
alsoft.ini:- Choose headphone preset from wiki.
- Open
UT2004.ini- Set
Use3DSound=True - Raise
Channelsto at least 32
- Set
- Restart the game and test.
✔️ Quick Surround Setup
- Pick the 5.1 or 7.1 preset from the wiki for
alsoft.ini - Test in game with maps that have lots of sound effects (like crowded DM or Freon).
🎧 What Is EAX?
EAX (Environmental Audio Extensions) was a Creative Labs technology that added:
- Reverb effects (echo in large rooms)
- Environmental acoustics (muffled sounds behind walls)
- More immersive indoor/outdoor audio
Originally, it required specific Sound Blaster hardware.
✅ Should You Enable It?
- Better environmental immersion
- More realistic reverb indoors
- No modern hardware downside
- Minimal performance cost
❌ When to Turn It Off
- You want the cleanest, driest competitive audio
- You dislike environmental reverb
- You're troubleshooting weird sound artifacts
Competitive players sometimes disable it to reduce “audio clutter.”
