Sound
๐ง 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.โ
