All guides   ·   Download DOCX

Q2PRO-X 1.6 Final by ly

Audio and music

Q2PRO-X document image

Project author: ly

Spatial audio, reverberation and music settings.

English edition • Q2PRO-X 1.6 Final by ly • November 7, 2026


Contents

The entries are links: click one to jump to that section.

Q2PRO-X: detailed sound guide

Audio when the game loses focus

Player-state ambient and playback priority

1. Sound modes

2. Where to find all of this in the menu

3. The base model: how sound is structured in Q2PRO-X

4. The main split: DMA or OpenAL

5. s_enable: the master backend switch

6. General theory: sample rate, format, precision, resampling

7. Settings that matter in both DMA and OpenAL

8. What exists only, or primarily, in DMA

9. What exists only in OpenAL

10. al_profile: the difference between OpenAL Q2PRO-X and R1Q2-like

11. al_sound_profile: ready-made acoustic profiles

12. HRTF: what it is and how it works

13. Binaural sound: what it is and how it differs from plain HRTF

14. Reverb / room acoustics: what it is

15. Reverb parameters: each one explained

16. Commands for OpenAL / reverb / binaural

17. al_resampler: the OpenAL resampler

18. Per-weapon and per-category volume controls

19. What requires snd_restart, and what changes live

20. Current important defaults

21. Recommended starting configurations

22. What to tune for which problem

23. Feature availability matrix: what works where

24. Built-in voice chat

25. The shortest practical cheat sheet

26. Suggested setup order

27. AVFX audio

28. Music

29. Item timer audio

30. Separate audio controls


Q2PRO-X: detailed sound guide

Choosing and tuning sound

Q2PRO-X offers a classic software mixer and OpenAL with spatial audio, headphone processing and room acoustics. This guide explains how to choose between them and adjust the sound for your headphones or speakers:

which sound modes actually exist;
how DMA and OpenAL differ;
which options are available in each mode;
which settings apply live and which ones require snd_restart;
what HRTF, binaural sound, reverb, decay, diffusion, crossfeed, and the other parameters really mean;
what the difference is between OpenAL Q2PRO-X and R1Q2-like;
how to tune sound for different scenarios: speakers, headphones, competitive play, or a more immersive presentation.


Audio when the game loses focus

The audio menu offers three s_auto_focus modes: 0 — always play; 1 — play while the window is visible, even without focus; 2 — play only while the game has focus. The separate s_mute_when_inactive setting can also mute an inactive window.

When inactive-window muting applies, OpenAL also mutes voice chat and effect tails, then restores the selected volume when focus returns. A manually paused track stays paused. Starting a demo fades the intro before its separate music profile begins; without a demo profile, the normal background-music pause and resume rules apply.


Player-state ambient and playback priority

The sound menu includes optional health/armor ambience next to Online Music. It is off by default, has independent SP/DM switches and nine adjustable states. FLAC loops and state changes overlap smoothly over 2–3 seconds. Death keeps the critical state until respawn or level exit. Protection is estimated from armor type and available HUD information, not simply health plus armor.

A track selected manually or started by a musical AVFX preset takes priority over player-state ambience. Disconnecting restores ordinary autoplay.

A separate Audio Assets guide lists PAK and loose-file paths, content and replacement options, including the supported intro file layout.



1. Sound modes

The s_enable setting selects one of three modes:

1. s_enable 0

Sound is fully disabled.

1. s_enable 1 = software (DMA)

The classic software mixer path.

This is the traditional Quake II model: the client mixes PCM audio itself and feeds the finished stream into the system sound driver.

1. s_enable 2 = OpenAL

A modern 3D backend with spatial positioning, HRTF, a binaural layer, room acoustics, extra sound profiles, OpenAL resamplers, and a broader runtime feature set.

The current default backend in Q2PRO-X is `OpenAL`.


2. Where to find all of this in the menu

What you are settingMenu path
Sound engine, acoustics, submenusMain menu → Options → Sound & Acoustics
Advanced sound settingsMain menu → Options → Sound & Acoustics → Q2PRO-X / Advanced audio
Binaural and 3D soundMain menu → Quick Setup → Binaural / 3D Sound
Sound volumesMain menu → Options → Sound & Acoustics → Sound Volumes
Weapon volumesMain menu → Options → Sound & Acoustics → Sound Volumes → Weapon Volumes
Other sound volumesMain menu → Options → Sound & Acoustics → Sound Volumes → Other Sound Volumes
AVFX sound volumesMain menu → Advanced Visual Effects → AVFX Detailed Settings → Local FX & Sound → AVFX Sound Volumes
Online musicMain menu → Online Music (PROMODJ)
Voice chatMain menu → Quick Setup → Q2PRO-X / Voice Chat

The main sound page

Sound & Acoustics

TypeSectionRowVariable or targetWhat it does
NavigationHit feedback...q2prox_hitsoundEnable hit feedback, choose its sound and volume.
SectionBasicsBasics
ListBasicsSound engines_enables_enable: OpenAL is required for al_profile, HRTF, room acoustics. Applies immediately. [no sound / software / OpenAL]
ToggleBasicsFollow default output devices_auto_deviceFollow the OS default audio output live. When you switch the Windows output (headphones <-> speakers), the game moves to it automatically with no snd_restart. OpenAL + default device only (a specific al_device is left alone). Default ON. Applies immediately.
SliderBasicsMaster volumes_volumes_volume: master sound volume (0..1). Applies immediately.
SliderBasicsMusic volumeogg_volumeogg_volume: OGG music / soundtrack volume (0..1). Applies immediately.
ListBasicsAmbient soundss_ambients_ambient: looping ambient world sounds. 0 = off, 1 = on, 2 = only from visible (model) entities, e.g. rocket flybys. Applies immediately. [no / yes / only player's own]
SliderBasicsMax voicess_maxchannelss_maxchannels: max simultaneous voices (default 64). Raise if sounds drop in heavy storms/AVFX; driver may cap OpenAL lower (see soundinfo). Applies via snd_restart.
SectionSubmenusSubmenus
NavigationSubmenusOpenAL & acoustics...q2prox_soundOpenAL profile, reverb, HRTF, room acoustics.
NavigationSubmenusHeadphone 3D sound...q2prox_binauralHeadphone 3D / HRTF / crossfeed / encoding.
NavigationSubmenusSound volumes...q2prox_sound_volSound volume hub: weapons, other categories, AVFX sounds
NavigationSubmenusAdvanced audio...q2prox_advanced_audioUnderwater filter, focus, mix-ahead, swap stereo, music (ogg) options.
NavigationSubmenusVoice chat...q2prox_voiceIn-game voice chat (PTT / VAD, LiveKit; OpenAL required for transmit and receive).
NavigationSubmenusOnline music...q2prox_online_musicOpen the online music player (PROMODJ): search, play, overlay.
NavigationSubmenusPlayer state ambient...q2prox_health_ambientAdaptive music based on health and protection.
SectionBehaviorBehavior
ToggleBehaviorMute when inactives_mute_when_inactiveMute audio when the window is not focused (Alt+Tab). Applies immediately.
NavigationBehaviorRestart sound...snd_restartRestart the sound engine to apply s_enable / s_maxchannels changes.

Some older base variables and music options are still reachable only from the console or the cvar reference, even though the main modern sound controls are already exposed on dedicated Q2PRO-X pages.


3. The base model: how sound is structured in Q2PRO-X

3.1 What DMA means in Q2PRO-X

DMA uses the classic software mixer:

the client mixes all sounds itself;
chooses format, sample rate, and resampler;
writes the final PCM stream into the system sound driver.

Advantages:

simple and predictable;
closer to the classic Quake II client feel;
fewer advanced spatial and acoustics layers;
useful when you want a conservative sound path without HRTF and room acoustics.

Disadvantages:

no OpenAL layer;
no modern room acoustics;
no OpenAL HRTF / binaural path;
no OpenAL-specific resamplers;
less flexibility in spatial processing.

3.2 What OpenAL means in Q2PRO-X

OpenAL is a dedicated audio backend/API for spatial sound.

In Q2PRO-X it provides:

spatial source positioning;
multiple distance models;
HRTF;
binaural headphone rendering;
EFX / room acoustics;
routing by source class;
OpenAL-specific resamplers.

Advantages:

modern spatial sound;
especially useful for headphones;
more control over acoustics;
much easier to adapt to competitive and immersive scenarios.

Disadvantages:

more complex;
bad tuning can make the sound too processed;
some changes require snd_restart;
some behavior depends on the OpenAL Soft runtime and device support.


4. The main split: DMA or OpenAL

When DMA usually makes sense

Choose DMA if you want:

the simplest and most classic sound path;
the minimum number of extra processing layers;
a sound character as close as possible to the traditional client;
no HRTF, binaural mode, or room acoustics.

Typical scenario:

playing on speakers;
wanting a conservative sound presentation;
not needing modern 3D headphone rendering.

When OpenAL usually makes sense

Choose OpenAL if you want:

stronger control over spatial sound;
headphone use with HRTF;
room acoustics / reverb;
sound profiles;
a binaural layer;
access to the full modern Q2PRO-X sound feature set.

Typical scenario:

playing on headphones;
wanting maximum spatial information;
wanting to tune the acoustic character more deeply;
using the built-in voice chat, which also requires OpenAL for send/receive.


5. s_enable: the master backend switch

What it does

s_enable selects the backend:

0 = no sound
1 = software (DMA)
2 = OpenAL

When to apply it

When you change s_enable, you will normally need:

either restart sound... in the menu;
or in the console:

snd_restart

Practical advice

If you are not sure where to begin:

start with OpenAL if you play on headphones;
start with DMA if you want the simplest and most classic sound path.


6. General theory: sample rate, format, precision, resampling

Before the concrete cvars, it helps to understand a few basic audio terms.

6.1 What sample rate / output rate means

This is the output sampling frequency — how many “snapshots” of the audio signal are produced each second.

Examples:

11 kHz
22 kHz
44 kHz
48 kHz
96 kHz

The higher the rate:

the more high-frequency detail can be represented;
the more work the backend must do;
the more stress there can be on the audio path and runtime.

In Q2PRO-X, this is controlled by:

s_khz

Important:

s_khz is the requested output rate;
the actual opened rate may differ;
to verify the real result, use:

soundinfo

6.2 What sample format means

This is how a single audio sample is represented internally or on output.

In current Q2PRO-X, the relevant choices are:

auto
s16
float32

s16

Classic 16-bit PCM.

Advantages:

maximum compatibility;
familiar and lightweight;
usually good enough for Quake II.

Disadvantages:

less headroom;
less internal precision during more complex processing.

float32

32-bit floating-point audio.

Advantages:

more headroom;
less risk of rough cumulative error under complex processing;
useful when the path includes multiple layers and you want a cleaner internal representation.

Disadvantages:

depends on backend/runtime support;
if the runtime cannot do float32, the client will fall back.

This is controlled by:

s_sampleformat

After changing it, use:

snd_restart

6.3 What a resampler is

A resampler is the algorithm that converts sound from one frequency / representation into another.

This matters when:

the original sound asset is stored at one rate;
the backend/device runs at another;
the client must convert between them.

A poor resampler can cause:

graininess;
“stepped” sound;
rough high-frequency texture;
less pleasant transients.

A better resampler can provide:

smoother output;
fewer conversion artifacts;
a cleaner overall impression.

But:

it can cost more CPU;
in practice the difference is more obvious on some sound types than on others.


7. Settings that matter in both DMA and OpenAL

Below are the shared controls that are useful regardless of backend.

s_volume

The main master game volume.

Current base default in code:

0.7

This is the overall game level on top of which narrower weapon/category volumes can later be applied.

s_khz

Requested output rate.

Common choices:

11
22
44
48
96

In practice:

44 or 48 are the most sensible general-purpose choices;
96 is more of an “I know exactly why I want this” option.

s_sampleformat

Preferred sample format:

auto
s16
float32

A good practical choice:

auto if you want the runtime to decide;
float32 if you use OpenAL and want a modern high-precision output path.

s_ambient

Controls ambient/world sounds.

Values:

0 = no
1 = yes
2 = only the player’s own sounds

Useful if you want less map noise without removing every useful cue.

s_mute_when_inactive

When the game window loses focus (Alt+Tab, click another window), the client can mute itself.

Values:

0 = do not mute
1 = mute

ogg_enable

Enables OGG background music.

ogg_volume

Music volume relative to the master sound level.

ogg_shuffle

Random music order.

These cvars do not change combat positional audio, but they do shape the overall sound environment.

soundinfo

Displays the current audio configuration.

Use it to see:

which backend is actually active;
which sample rate and format the device really opened;
what happened after auto / fallback decisions.

snd_restart

The main “restart the sound backend” command.

It is needed after most major sound-path changes:

backend choice;
output format;
HRTF settings;
OpenAL profile;
many binaural engine options.


8. What exists only, or primarily, in DMA

s_driver

This selects the DMA driver.

On Windows, typical values are:

dsound = DirectSound
wave = Windows waveform audio
sdl = SDL2 audio

If empty, auto-detection is used.

Practical meaning:

most players only touch this if there is a compatibility problem;
for normal use, auto is usually enough.

s_mixahead

This is the DMA mix-ahead window.

In practical terms:

how far in advance the engine prepares sound.

If the value is lower:

latency can be lower;
but the risk of glitches, crackle, or instability is higher.

If the value is higher:

more stable;
but with more perceived delay.

Practical range:

roughly 0.05 .. 0.3

This setting affects DMA playback.

s_swapstereo

Swaps left and right channels.

Only works in DMA.

Useful only rarely:

when hardware or a virtual audio device reverses the channels.

s_resampler

This is the DMA resampler.

Values:

legacy
linear
cubic

What they mean

legacy

The old, simplest path.

Advantages:

maximally “as before”;
least likely to change the familiar character.

Disadvantages:

usually the weakest quality of the DMA choices.

linear

Linear interpolation.

A compromise:

better than legacy;
not too expensive;
often a good middle ground.

cubic

Cubic interpolation.

Usually:

the smoothest DMA option;
better when you care about resampling artifacts;
somewhat heavier computationally.

When DMA still makes sense today

DMA is a logical choice if you want:

the most classic path;
no HRTF;
no room acoustics;
no OpenAL-specific voicing;
manual control through s_mixahead, s_driver, and s_resampler.


9. What exists only in OpenAL

Everything below is part of the main reason to choose OpenAL.

Key OpenAL-only feature families

al_profile
al_sound_profile
al_hrtf
al_resampler
al_reverb / al_eax
the entire al_reverb_* family
the entire al_eax_* family
the entire al_binaural_* family
al_resampler_list
al_reverb_info
al_reverb_reload
al_binaural_info


10. al_profile: the difference between OpenAL Q2PRO-X and R1Q2-like

What the profile changes

al_profile selects the OpenAL sound behavior: 0 is Q2PRO-X and 1 is R1Q2-like. The profiles differ in distance attenuation, looping world sounds and the presentation of positional cues. Volume and resampling quality have separate controls.

Q2PRO-X profile

Main idea:

the modern Q2PRO-X path;
linear-distance voicing;
richer room-acoustics stack;
better fit with current Q2PRO-X acoustics, routing, and profiles.

Under the hood it is closer to:

AL_LINEAR_DISTANCE_CLAMPED

In practice:

useful if you want room acoustics;
pairs well with al_sound_profile;
feels like the current “modern Q2PRO-X” presentation.

R1Q2-like profile

Main idea:

to bring the OpenAL presentation closer to the classic R1Q2 school.

Under the hood it is closer to:

a more old-school, drier positional feel.

In practice:

often preferred by players who want more traditional competitive cues;
can feel more familiar to users who historically liked R1Q2 behavior;
often combines well with headphones and a more restrained acoustics path.

Practical rule of thumb

If you want:

a more modern, richer Q2PRO-X soundfield → start with Q2PRO-X
a more classic, sharper, more conservative competitive feel → try R1Q2-like


11. al_sound_profile: ready-made acoustic profiles

Available profiles

al_sound_profile applies a set of room-acoustics values. It lets you choose an overall sound character before adjusting individual reverb controls. The available profiles are custom, competitive, balanced, immersive, cinematic and cathedral.

Important logic

These profiles do not govern everything. They mainly govern the acoustic layer:

al_reverb
al_eax_preset
al_reverb_lerp_time
al_eax_wet
al_eax_local_wet
al_eax_occlusion
explosion and transport wetness
the reverb tuning parameters

And they must not override:

al_hrtf
al_profile
al_resampler
s_resampler
s_enable
s_khz
s_sampleformat

Changing an acoustic profile leaves the audio backend, output format, resamplers and HRTF selection as you set them.

Choosing a profile

custom keeps your manual settings for room acoustics.
competitive uses a drier sound with less reverberation, making combat cues easier to distinguish.
balanced keeps moderate room ambience without an especially dry or heavily processed sound.
immersive emphasizes the surrounding space and a fuller reverberant sound.
cinematic places more emphasis on the impression of a large space; it can suit recordings and demo playback.
cathedral uses strong reverberation for a pronounced sense of scale, which can make combat cues harder to separate.


12. HRTF: what it is and how it works

How HRTF works

HRTF stands for Head-Related Transfer Function. It models how the head and outer ears change sound arriving from different directions, then reproduces those differences through stereo headphones.

Ordinary stereo provides left/right separation, but sounds from behind, in front or above can be harder to distinguish. HRTF can improve these cues and make sound seem to come from outside the headphones. The result depends on the listener and the selected HRTF model: some combinations colour the sound or make direction harder to judge. Compare it with ordinary stereo using familiar in-game sounds.

In Q2PRO-X

HRTF is controlled through OpenAL / binaural settings.

Practical recommendation:

if you play on headphones, compare it with ordinary stereo;
if you play on speakers, HRTF is normally not the right tool.


13. Binaural sound: what it is and how it differs from plain HRTF

Binaural rendering and HRTF

Binaural rendering prepares stereo output for headphones using the differences between what each ear would hear. HRTF is the model of the head and ears within that process; the broader binaural configuration also controls encoding, filter length and crossfeed.

Q2PRO-X lets you use the OpenAL HRTF path by itself or configure the dedicated binaural layer with its own headphone profiles.

Main binaural cvars

al_binaural
al_binaural_profile
al_binaural_encoding
al_binaural_hrtf_mode
al_binaural_hrtf_size
al_binaural_crossfeed

al_binaural

Master on/off switch for the binaural layer.

Typical values:

0 = off
1 / 2 = enabled variants depending on runtime/menu path

al_binaural_profile

Curated headphone voicing profile for the binaural layer.

The idea is similar to al_sound_profile, but specifically for headphone rendering.

al_binaural_encoding

Selects how the binaural path encodes the output.

Think of this as:

which concrete headphone rendering path / representation is preferred.

al_binaural_hrtf_mode

Controls how HRTF is selected or enforced inside the binaural path.

Typical meaning:

runtime default;
stronger forced mode;
or a more conservative/automatic path.

al_binaural_hrtf_size

Theory: what filter size means

This is effectively the size/length of the HRTF filter.

Larger filters can:

potentially carry more detail;
preserve subtler direction information.

But they can also:

cost more CPU;
change the character of the output;
be unnecessary if the runtime default is already good.

al_binaural_crossfeed

What crossfeed changes

Crossfeed mixes a controlled amount of the left signal into the right channel and vice versa. With speakers, each ear hears some sound from both sides; headphones separate the channels much more strongly. A small amount of crossfeed can make that separation less tiring, but too much blurs directional cues. Start low and compare it with crossfeed disabled.


14. Reverb / room acoustics: what it is

Room reflections and the reverb tail

Reverb consists of reflections that follow the direct sound and gradually fade. It helps distinguish a corridor, a large hall or an open area, but a strong tail can mask footsteps and other short sounds during a match. Q2PRO-X provides a room-acoustics switch and separate controls for the amount, duration and character of those reflections.


15. Reverb parameters: each one explained

al_reverb

Master enable for room acoustics / reverb.

Values:

0 = off
1 = on

If you want the simplest OpenAL path:

keep this off

If you want room simulation:

enable it

al_reverb_lerp_time

How transitions work

al_reverb_lerp_time controls the transition when the client changes room presets. A longer transition makes the change smoother; a shorter one responds more quickly when you move between spaces.

al_eax_preset

Room preset selector.

Typical meaning:

-1 = automatic room classification
other values = force a specific preset

Usually:

auto is the right baseline;
forcing a preset is more for testing or very specific taste.

al_eax_wet

Direct and reverberated sound

“Wet” is the reverberated part of the signal; “dry” is the direct sound. Raise al_eax_wet to hear more room reflections, or lower it for a drier, more direct result.

al_eax_local_wet

This is the wetness for local / near-player sounds.

Very useful because many players want:

room acoustics in the world;
but not too much reverb on their own immediate actions.

If local wet is too high:

your own close-range sounds may feel overly washed.

al_eax_occlusion

Theory: what occlusion means

Occlusion means a sound is partially blocked by geometry or material between the source and the listener.

Typical audible effect:

less high-frequency content;
more muffled / obstructed sound.

If this is enabled:

blocked sounds can feel more believable.

If disabled:

the sound field is cleaner but less realistic.

al_eax_explosion_wet

Specific wetness / reverb send for explosions.

Useful when you want:

explosions to feel bigger and more environmental;
without making the entire world more reverberant.

al_eax_explosion_decay

Reverb duration

Decay controls how long the reverb tail takes to fade. A higher al_eax_explosion_decay makes the aftermath of an explosion last longer; reduce it if blasts obscure other sounds for too long.

al_eax_explosion_late

Late reverb emphasis for explosions.

Useful if you want:

more long-tail “bloom” after a blast.

al_eax_transport_wet

Reverb send / environment treatment for transport-like world spaces or loops.

Useful if:

a moving platform / ambient transport layer feels too dry or too present.

al_reverb_reflections

Theory: what early reflections are

These are the first, more distinct reflections that arrive after the direct sound.

They help the ear feel:

how near walls are;
how enclosed the space is;
what kind of room shape is implied.

If reflections are stronger:

the room “starts speaking” sooner.

al_reverb_late

Theory: what late reverb is

This is the later, more diffuse tail of the room, where individual reflections blur into one cloud-like reverberant field.

If late is higher:

the tail feels bigger and more massive.

al_reverb_decay

General decay-time multiplier.

If increased:

room tails become longer.

If reduced:

room tails become shorter.

al_reverb_delay

Reflection delay

al_reverb_delay controls the separation between the direct sound and its reflections. A longer delay suggests a larger room; a shorter one makes the space sound tighter.

al_reverb_hf

Theory: what HF brightness means

HF = high frequency.

This controls how bright or dark the reverberant tail is.

If higher:

brighter, glassier, more present highs.

If lower:

darker, softer, more muffled tail.

al_reverb_diffusion

Theory: what diffusion means

Diffusion controls how smooth and dense the reverberant field feels.

If higher:

smoother, denser, less grainy tail.

If lower:

sparser, rougher, more discrete-feeling tail.

al_eax_debug

Diagnostic/debug mode.

Useful to inspect:

which room preset is active;
how the environment was classified;
how routing is currently behaving.


16. Commands for OpenAL / reverb / binaural

al_reverb_info

Prints:

current room class;
classifier data;
routing mode;
wet-state;
diagnostic details about the current acoustic state.

Use it to see which room settings are active while you adjust the acoustics.

al_reverb_reload

Forces the client to rebuild / re-snap the current reverb preset.

Useful:

after a set of manual changes;
to re-apply the current room state immediately.

al_binaural_info

Prints:

requested vs actual binaural runtime state;
what really enabled;
which values the runtime actually accepted.

al_resampler_list

Prints the actual list of OpenAL resamplers available from the runtime.

This matters because the theoretical set can include:

default
point
linear
cubic
bsinc12
bsinc24

But the actual runtime should always be checked in practice.


17. al_resampler: the OpenAL resampler

This is the OpenAL-specific resampler choice.

Typical values:

default
point
linear
cubic
bsinc12
bsinc24

What these mean in practice

point

The roughest and simplest path.

Think of it as:

almost no smooth interpolation.

This is more of an experiment / fallback path than a best daily choice.

linear

Simple compromise.

cubic

A smoother and usually higher-quality option.

bsinc12 / bsinc24

More advanced sinc-like choices.

Usually:

cleaner;
more refined;
potentially heavier;
useful if you really care about extracting the best quality from OpenAL Soft.

Practical choices

If you do not want to think too much:

default

If you want a good high-quality but not too exotic option:

cubic

If you want to experiment with OpenAL Soft’s highest-quality path:

bsinc12 or bsinc24

After changing it:

snd_restart


18. Per-weapon and per-category volume controls

Adjust individual weapons and sound groups without changing the overall game volume.

How the scale works

The menu scale is:

50 = default
0 = completely mute
100 = roughly 2x compared to default

The scale is relative to the standard sound level: 50 is neutral, and 100 doubles it rather than representing an ordinary 100% ceiling.

Weapon volumes

There are dedicated cvars for:

s_weapon_blaster_volume
s_weapon_shotgun_volume
s_weapon_supershotgun_volume
s_weapon_machinegun_volume
s_weapon_chaingun_volume
s_weapon_handgrenade_volume
s_weapon_grenadelauncher_volume
s_weapon_rocketlauncher_volume
s_weapon_hyperblaster_volume
s_weapon_railgun_volume
s_weapon_bfg_volume

This lets you:

reduce weapons that feel too aggressive to your ears;
raise weapon classes you want to read more clearly;
build your own match mix without bluntly flattening everything.

Category volumes

There are also category cvars:

s_player_volume — movement: jumps, falls, landings, steps
s_voice_volume — pain, death, taunts, drowning, and other player vocal events
s_pickup_volume — pickups
s_environment_volume — doors, glass, platforms, debris, and other world actions
s_monster_volume — enemy / monster sounds
s_announcer_volume — announcer / computer updated / secrets
s_interface_volume — menu / UI sounds
s_other_volume — anything not caught by a narrower class
s_ambient_volume — ambient/world loops: hums, movers, teleports

Practical examples

For competitive play

It often makes sense to:

slightly reduce your loudest weapons;
keep or raise player-relevant classes;
avoid inflating ambient/world loops.

For a more cinematic sound

You can:

raise environment / ambient;
keep weapons richer;
enable reverb.


19. What requires snd_restart, and what changes live

Usually requires snd_restart

s_enable
s_khz
s_sampleformat
al_profile
al_resampler
al_reverb
al_hrtf
al_binaural
al_binaural_encoding
al_binaural_hrtf_mode
al_binaural_hrtf_size
al_binaural_crossfeed

Usually applies live

al_eax_wet
al_eax_local_wet
al_eax_occlusion
al_eax_explosion_wet
al_eax_explosion_decay
al_eax_explosion_late
al_eax_transport_wet
al_reverb_reflections
al_reverb_late
al_reverb_decay
al_reverb_delay
al_reverb_hf
al_reverb_diffusion
per-weapon volume cvars
per-category volume cvars
s_mute_when_inactive

Practical rule

If you change:

the backend;
the output format;
HRTF/binaural engine settings;
the OpenAL profile;

you should immediately think:

snd_restart

If you are only tuning:

wetness;
decay;
reflections;
category volumes;

the change is usually already live.


20. Current important defaults

Below are not all sound cvars in the project, but the ones that matter most for real-world setup.

Base sound defaults

CvarCurrent default valueWhat it means
s_enable0=sound is disabled / 1=use DMA sound engine / 2=use OpenAL sound engineSpecifies which sound engine to use. Default value is 1.
s_khz11/22/44/48sound output sample rate (kHz)
s_sampleformatu8/s16/f32sample format
s_resamplerlinear/cubicsoftware sound resampler
s_volume0..1master sound volume
s_ambient0=all ambient sounds are disabled / 1=all ambient sounds are enabled / 2=only ambient sounds from visible entities are enabled (rocket flybys, etc) / 3=only ambient sounds from player entity are enabled (railgun hum, hand grenade ticks, etc)Specifies if ambient sounds are played. Default value is 1.
s_underwater0/1Enables lowpass sound filter when underwater. Default value is 1 (enabled).
s_underwater_gain_hf0..1Specifies HF gain value for lowpass sound filter. Default value is 0.25.
s_mute_when_inactive0=use s_auto_focus (default) / 1=mute when inactive regardless of s_auto_focusMute the sound engine when the game window loses focus (Alt+Tab or clicking away). Prevents Q2PRO-X from bleeding audio into other applications.
ogg_enable0/1Enables automatic playback of background music in supported formats. Default value is 1.
ogg_volume0..1Background music volume, relative to master volume. Default value is 1.
ogg_shuffle0/1Play _all_ supported files from the music directory in random order, ignoring track numbers. Default value is 0 (disabled).

OpenAL defaults

CvarCurrent default valueWhat it means
al_profilestringOpenAL tuning profile preset
al_reverb0=dry OpenAL (no reverb) / 1=room-acoustics reverb; default 0Master switch for the Q2PRO-X OpenAL EFX room-acoustics reverb layer. When on, each level zone is classified and a matching reverb preset is applied with smooth parameter lerp on transitions. When off, OpenAL still runs but without reverb — dry sound.
al_reverb_lerp_time0..5 (seconds)Reverb parameter smoothing time on preset change, in seconds. Higher = smoother but more audible lag between zones.
al_eax_presetauto=classifier-driven (default) / indoor / outdoor / genericEAX preset for the current map / zone. auto runs the internal classifier per zone. indoor / outdoor / generic override the classifier with a fixed preset for cases where the classifier misreads a level.
al_eax_wet0..1 (0 = dry, 1 = wet)EAX wet gain: master volume of the reverb send. 0 = no reverb, 1 = full reverb.
al_eax_local_wet0..1EAX wet gain override for locally-emitted sounds (your own footsteps, jumps, land sounds). Usually lower than environmental sound wet — your own sounds should feel present, not echoed.
al_eax_occlusion0=no occlusion / 1=EAX occlusion activeEnable EAX occlusion: sounds behind walls / blocking geometry are muffled with a low-pass filter simulating the occluding material. Adds realism but costs a bit of audio CPU.
al_reverb_reflections0..10Reverb early-reflection gain — volume of the 'early' portion (first few bounces) of the reverb response.
al_reverb_late0..10Reverb late-reflection gain — controls the volume of the 'tail' portion of the reverb after the early reflections.
al_reverb_decay0.1..20 (seconds)Reverb tail decay time, in seconds — larger = longer echo tail (cathedral). Smaller = shorter tail (small room).
al_reverb_delay0..0.1 (seconds)Reverb pre-delay (sec). Delay between the dry sound and the first reflections.
al_reverb_hf0..1Reverb high-frequency gain. Lower values attenuate high frequencies in the reverb tail (simulates soft surfaces / carpeting).
al_reverb_diffusion0..1Reverb diffusion — density of reflections. 0 = sparse / flutter; 1 = smooth dense reverb.
al_resamplerdefault/linear/cubicOpenAL resampler
al_sound_profilestringsound profile preset (acoustic target)

Binaural defaults

CvarCurrent default valueWhat it means
al_binaural0/1enable binaural 3D sound path
al_binaural_profilestringbinaural tuning profile
al_binaural_encodingauto/stereo/hrtfbinaural encoding backend
al_binaural_hrtf_modeauto/on/offHRTF mode for binaural rendering
al_binaural_hrtf_sizesmall/medium/largeHRTF dataset size
al_binaural_crossfeed0..1binaural crossfeed amount

Per-weapon / per-category defaults

All weapon/category volume cvars start at:

50

That means:

a neutral baseline;
not “50% volume”, but the standard Q2PRO-X reference level for that scale.


21. Recommended starting configurations

Option 1: speakers, simple and clean sound

set s_enable 1

set s_khz 48

set s_sampleformat auto

set s_resampler linear

snd_restart

Meaning:

DMA;
no HRTF and no room acoustics;
simple and predictable.

Option 2: general-purpose OpenAL on speakers

set s_enable 2

set al_profile 0

set al_hrtf 0

set al_reverb 1

set al_sound_profile balanced

set al_resampler cubic

snd_restart

Meaning:

modern OpenAL;
no headphone HRTF;
moderate acoustics.

Option 3: headphones, competitive OpenAL

set s_enable 2

set al_profile 1

set al_hrtf 2

set al_reverb 0

set al_binaural 2

set al_binaural_profile default

snd_restart

Meaning:

classic R1Q2-like spatial feel;
HRTF enabled;
minimum extra room coloration.

Option 4: headphones, spatial modern Q2PRO-X

set s_enable 2

set al_profile 0

set al_hrtf 2

set al_reverb 1

set al_sound_profile balanced

set al_binaural 2

set al_binaural_profile deep

snd_restart

Meaning:

more modern OpenAL profile;
room acoustics;
binaural layer;
good all-round headphone baseline.


22. What to tune for which problem

Problem: “it feels too dry”

Try:

al_reverb 1
al_sound_profile balanced or immersive
slightly raise al_eax_wet

Problem: “it feels too smeared / too much tail”

Try:

lower al_eax_wet
lower al_reverb_late
lower al_reverb_decay
switch to competitive
or disable al_reverb for a while

Problem: “on headphones I still do not read direction well”

Try:

al_hrtf on
al_binaural on
al_binaural_profile default or auto
if the stage feels too sharp, add a little al_binaural_crossfeed

Problem: “my own sounds are too boomy inside the room”

Try:

lower al_eax_local_wet

Problem: “explosions do not feel big enough”

Try:

raise al_eax_explosion_wet
slightly raise al_eax_explosion_decay
slightly raise al_eax_explosion_late

Problem: “movers / loops / hum are too loud”

Try:

lower s_ambient_volume
lower al_eax_transport_wet


23. Feature availability matrix: what works where

Feature / parameterDMAOpenAL
s_driverdsound=DirectSound / wave=Windows waveform audio / sdl=SDL2 audioSpecifies which DMA sound driver to use. Default value is empty (detect automatically). Possible sound drivers are (not all of them are typically available at the same time, depending on how client was compiled):
s_mixahead0.05..0.3sound mix-ahead time (sec)
s_swapstereo0/1Swap left and right audio channels. Only effective when using DMA sound engine. Default value is 0 (dont swap).
s_resamplerlinear/cubicsoftware sound resampler
al_profilestringOpenAL tuning profile preset
al_hrtf0=force HRTF off / 1=use OpenAL Soft default setting (typically auto) / 2=force HRTF onSpecifies if HRTF mixing is allowed when using OpenAL Soft. Default value is 0.
al_binaural*noyes
al_reverb* / al_eax*noyes
al_resamplerdefault/linear/cubicOpenAL resampler
al_resampler_listnoyes
al_reverb_infonoyes
al_binaural_infonoyes
per-weapon volumesyesyes
per-category volumesyesyes
ogg_* music controlsyesyes
s_mute_when_inactive0=use s_auto_focus (default) / 1=mute when inactive regardless of s_auto_focusMute the sound engine when the game window loses focus (Alt+Tab or clicking away). Prevents Q2PRO-X from bleeding audio into other applications.


24. Built-in voice chat

Voice chat requires OpenAL for both microphone transmission and playback. Select s_enable 2 if you want to use it alongside game audio.


25. The shortest practical cheat sheet

If you want the shortest version:

want simple and classic → try DMA
want modern spatial sound → use OpenAL
play on headphones → definitely test al_hrtf
want a richer environment → enable al_reverb
want faster setup without hand-tuning everything → use al_sound_profile
want to balance the match mix → use weapon / player volumes
if you change backend/profile/HRTF/binaural/output format → do snd_restart
if you do not know what the backend actually opened → check soundinfo


26. Suggested setup order

Start by choosing DMA or OpenAL. With OpenAL, compare the Q2PRO-X and R1Q2-like profiles, then decide whether to enable HRTF and room acoustics. Once direction and room sound suit you, balance the weapon and sound-category volumes. Keeping that order makes it easier to hear what each change does.



27. AVFX audio

The AVFX layer has audio of its own, with volumes separated from the game's overall volume.

Separate sounds accompany rain, snow, lava steam, surface steam, puddle and snow footsteps, and landing splashes.
Landing in a puddle uses an extra splash and footstep layer on top of the stock fall sound.
Factory AVFX presets include their sound settings; you can reduce those volumes separately.
The release sound files live under baseq2\sound\q2prox\avfx.

27.1. AVFX sound volumes

Menu path: Main menu → Advanced Visual Effects → AVFX Detailed Settings → Local FX & Sound → AVFX Sound Volumes

AVFX Sound Volumes

TypeSectionRowVariable or targetWhat it does
SectionMasterMaster
ToggleMasterSoundscl_avfx_audioMaster gate for all AVFX sound layers (thunder, rain/wind/snow/water beds, drop ticks, ring plips, footsteps). Silent if a layer's WAV is missing. Applies immediately.
SliderMasterSound volumecl_avfx_audio_volumeOverall loudness of AVFX sound effects (multiplies s_volume and every sub-layer). Applies immediately.
SectionWeather & environmentWeather & environment
ToggleWeather & environmentWind soundcl_avfx_audio_windGate for the wind audio layer: ambient wind/dust/ash/fog loops, storm variant and gust one-shots. Silent if WAV missing. Applies immediately.
ToggleWeather & environmentRain soundcl_avfx_audio_rainGate for the main rain-noise loops (light/normal/heavy + underwater). Drop ticks and ring plips have their own gates. Silent if WAV missing. Applies immediately.
ToggleWeather & environmentRain drop soundcl_avfx_audio_rain_dropsAllow close raindrop tick sounds (rain preset only). Silent if WAV missing. Applies immediately.
ToggleWeather & environmentSnow soundcl_avfx_audio_snowGate for the snow-preset ambience: a deliberately soft winter-wind loop (snow_wind_loop.wav), not loud snow noise. Silent if WAV missing. Applies immediately.
ToggleWeather & environmentWater soundcl_avfx_audio_waterAllow ring-plip and soft water-surface sounds for AVFX water contacts (if WAVs present). Applies immediately.
ToggleWeather & environmentThundercl_avfx_audio_thunderAllow thunder sound tied to lightning events. Applies immediately.
NavigationWeather & environmentEvents & sky...q2prox_avfxvol_eventsOpen steam, sky-event, spaceship and Black-Hole sound controls.
NavigationWeather & environmentContacts & wildlife...q2prox_avfxvol_contactsOpen surface-contact and positional wildlife sound controls.
SectionServiceService
NavigationServiceAVFX sounds offset cl_avfx_audio 0Mute AVFX through its master only. Child preferences and all visual/non-AVFX settings stay untouched.
NavigationServiceRestore AVFX sound defaultscl_avfx_defaults_audioRestore every AVFX sound control to its registered default. Optional Black-Hole audio remains OFF by default.

Separate child pages own the events and the contacts:

AVFX Sounds / Events & Sky

TypeSectionRowVariable or targetWhat it does
SectionSteamSteam
ToggleSteamSteam soundcl_avfx_audio_lava_steamShort evaporation hiss when rain/snow hits lava; loudness scales with particle size. Visual steam is separate. Applies immediately.
ToggleSteamSurface steam soundcl_avfx_audio_lava_surface_steamSofter positional hiss from melting snow/water at lava edges (steam_surface_hiss1..3), at the soft surface-steam point. Applies immediately.
ToggleSteamSnow impact steam audiocl_avfx_weapon_snow_steam_audioSeparate steam hiss for hot weapon hits on snow. The visual steam stays part of the weapon effect. Applies immediately.
SectionCelestialCelestial
ToggleCelestialImpact bangcl_avfx_audio_impactAllow an explosion bang at the lightning strike point (rocket-style, fades with distance). Applies immediately.
ToggleCelestialImpact meteor audiocl_avfx_audio_meteor_impactFalling impact meteor audio (entry hiss, flyby whoosh, impact boom, debris). Missing WAVs silent. Applies immediately.
ToggleCelestialSky meteor audiocl_avfx_audio_meteorSky meteor audio (burnup crack). Missing WAV silent. Applies immediately.
ToggleCelestialSpaceship flyby audiocl_avfx_spaceships_soundSky spaceship flyby sound. Default ON. 0 = silent ships. Missing WAVs silent. Applies immediately.
SliderCelestialSpaceship flyby volumecl_avfx_spaceships_sound_volumeSky spaceship flyby volume. 0.35 (default). 0 = silent. Applies immediately.
ToggleCelestialBlack Hole audiocl_avfx_blackhole_consumption_audioBlack Hole presence sound: a deep gravitational bed that grows with the hole's APPARENT size, plus a shear layer positioned toward the hole. Requires AVFX audio and a visible Black Hole; independent of the optional consumption master. Default OFF. Missing WAVs silent. Applies immediately.
SliderCelestialBlack Hole volumecl_avfx_blackhole_consumption_audio_volumeBlack Hole presence volume before the global AVFX gain. 0.70 (default). Applies immediately.
SliderCelestialView focuscl_avfx_blackhole_consumption_audio_focusHow much looking at the hole lifts the shear layer. The hole stays audible behind you: this shapes the mix, it never mutes it. 0.30 (default). Applies immediately.
ToggleCelestialBlack Hole eventscl_avfx_blackhole_consumption_audio_eventsBounded Black Hole events: object in-draw, celestial shear and positional rock fracture from Surface Lift. Bursts use fixed voice/cooldown limits. Default OFF. Applies immediately.
SliderCelestialBlack Hole event volumecl_avfx_blackhole_consumption_audio_events_volumeVolume of the Black Hole in-draw and shear events, before the global AVFX gain. Independent of the presence bed volume. 0.80 (default). Applies immediately.
NavigationCelestialBackq2prox_avfxvolBack to master, weather and contact AVFX sounds.

AVFX Sounds / Contacts & Wildlife

TypeSectionRowVariable or targetWhat it does
SectionSurface footstepsSurface footsteps
ToggleSurface footstepsSurface step soundscl_avfx_audio_surface_stepsMaster gate for AVFX surface-contact step audio. Enables snow, wet and puddle step layers when their own sub-gates and assets are present. Applies immediately.
ToggleSurface footstepsPuddle step soundscl_avfx_audio_puddle_stepsAllow wet footstep sounds when the player walks or runs through visible AVFX puddles. Requires Surface step sounds and the AVFX sound master. Applies immediately.
ToggleSurface footstepsSnow step soundscl_avfx_audio_snow_stepsAllow snow footstep sounds on visible snow cover. Volume and depth follow visible snow and snowdrift growth. Applies immediately.
SectionWildlifeWildlife
ToggleWildlifeHiss on tongue flickcl_avfx_surface_materials_crawlers_audio_hissPlay a positional hiss when a Snake opens its mouth and shoots its tongue. Several Snakes may hiss independently. Requires the global AVFX sound master. Default off. Applies immediately.
SliderWildlifeHiss volumecl_avfx_surface_materials_crawlers_audio_hiss_volumeSnake hiss volume before the global AVFX audio volume. Applies immediately.
ToggleWildlifeFly buzzingcl_avfx_surface_materials_crawlers_audio_fliesPlay varied positional buzzing around Snake remains after flies arrive. Different carcasses sound independently. Default off. Applies immediately.
SliderWildlifeFly volumecl_avfx_surface_materials_crawlers_audio_flies_volumeCorpse-fly buzz volume before the global AVFX audio volume. Applies immediately.
NavigationWildlifeBackq2prox_avfxvolBack to master, weather and contact AVFX sounds.

That separation lets you keep the weather visible but quiet — a frequent choice for competitive play.


28. Music

28.1. Three independent sources

The three music sources have separate controls and playback priorities:

SourceWhat it isWhat controls it
Startup introA separate presentation on a cold launch into the menuIts own switch; game-music settings do not reach it
Online musicThe PROMODJ player with search, playback and an overlayThe online music menu
Game musicThe classic Quake II musicIts own game-music variables

The order at launch is fixed: the intro always plays first, and online-music autoplay begins when it ends.

Details about the presentation are in the startup intro guide.

28.2. Online music

Online Music (PROMODJ)

TypeSectionRowVariable or targetWhat it does
SectionPlaybackPlayback
ListPlaybackMusic visualization in menuscl_music_online_menu_visualizationMusic-only fullscreen background behind menus, synchronized to playback. Global; off by default. Applies immediately. [Off / Spectrum / Waveform / Radial spectrum / Spectrogram / Automatic]
SliderPlaybackVisualization opacitycl_music_online_menu_transparencyVisualization alpha: 0 = invisible, 1 = full intensity; default 0.10. Global, independent of menu opacity. Applies immediately.
TogglePlaybackOnline musiccl_music_online_enableMaster (off = no network). Applies immediately.
FieldPlaybackProvidercl_music_online_providercl_music_online_provider (one provider today: promodj).
SliderPlaybackVolumecl_music_online_volumecl_music_online_volume (s_volume stays master). Applies immediately.
TogglePlaybackConsole messagescl_music_online_console_statusShow online-player status/debug messages in the console. Off keeps routine playback silent. Applies immediately.
TogglePlaybackAutoplaycl_music_online_autoplaycl_music_online_autoplay. Applies immediately.
TogglePlaybackPause in gamecl_music_online_autopause_gamecl_music_online_autopause_game. Applies immediately.
TogglePlaybackResume after gamecl_music_online_resume_after_gamecl_music_online_resume_after_game. Applies immediately.
SectionGenres & QueueGenres & Queue
ListGenres & QueueGenre modecl_music_online_genre_modecl_music_online_genre_mode. Applies immediately. [All / Selected / Random]
ToggleGenres & QueueRandomcl_music_online_randomcl_music_online_random. Applies immediately.
ToggleGenres & QueueAutoplay resultscl_music_online_autoplay_resultscl_music_online_autoplay_results. Applies immediately.
ListGenres & QueueQueue modecl_music_online_queue_modecl_music_online_queue_mode. Applies immediately. [Sequential / Roulette]
ListGenres & QueueEnd modecl_music_online_end_modecl_music_online_end_mode. Applies immediately. [Stop / Loop playlist / Loop track]
ListGenres & QueueLucky scopecl_music_online_lucky_scopecl_music_online_lucky_scope. Applies immediately. [Selected genre / Random genre / All music]
ToggleGenres & QueueLucky continuouscl_music_online_lucky_continuouscl_music_online_lucky_continuous. Applies immediately.
FieldGenres & QueueBase URLcl_music_online_base_urlcl_music_online_base_url.
FieldGenres & QueuePreferred genrescl_music_online_preferred_genresGenre slugs separated by ;, for example dark_ambient;trance. Spaces in a name become underscores.
SectionPlayer & OverlayPlayer & Overlay
NavigationPlayer & OverlayOpen player...music_online_openOpen the online music overlay.
NavigationPlayer & OverlayI'm feeling luckymusic_online_luckyPlay a random track (lucky).
NavigationPlayer & OverlayProbe...music_online_probeDiagnostic probe (console output).
NavigationPlayer & OverlayOverlay appearance...q2prox_online_music_overlayOverlay appearance settings.
NavigationPlayer & OverlayDemo player profile...q2prox_online_music_demoDemo player music profile.
KeyPlayer & OverlayToggle playermusic_online_toggleBind a key to open/close the online music player overlay.
NavigationPlayer & OverlaySound settings...g_soundOpen the main sound & acoustics menu.
SectionResetReset
NavigationResetReset...set cl_music_online_enable 0; set cl_music_online_provider promodj; set cl_music_online_base_url https://promodj.com/music; set cl_music_online_preferred_genres ""; set cl_music_online_volume 0.70; set cl_music_online_console_status 0; set cl_music_online_autoplay 0; set cl_music_online_autopause_game 1; set cl_music_online_resume_after_game 1; set cl_music_online_genre_mode 0; set cl_music_online_random 0; set cl_music_online_autoplay_results 0; set cl_music_online_queue_mode 0; set cl_music_online_end_mode 0; set cl_music_online_lucky_scope 0; set cl_music_online_lucky_continuous 1; set cl_music_online_menu_visualization 0; set cl_music_online_menu_transparency 0.10Reset online music to defaults.

The player has its own overlay and a separate mode for watching recordings:

Online Music / Overlay

TypeSectionRowVariable or targetWhat it does
SliderOpacitycl_music_online_overlay_alphacl_music_online_overlay_alpha. Applies immediately.
SliderScalecl_music_online_overlay_scalecl_music_online_overlay_scale. Applies immediately.
ToggleCompactcl_music_online_overlay_compactcl_music_online_overlay_compact. Applies immediately.
ToggleShow stylescl_music_online_overlay_show_stylescl_music_online_overlay_show_styles. Applies immediately.
SliderAutohidecl_music_online_overlay_autohide_seccl_music_online_overlay_autohide_sec (0=off). Applies immediately.
NavigationReset placement...set cl_music_online_overlay_x -2147483648; set cl_music_online_overlay_y -2147483648; set cl_music_online_overlay_w 0; set cl_music_online_overlay_h 0Reset overlay placement (x/y/w/h).
NavigationReset appearance...set cl_music_online_overlay_alpha 0.90; set cl_music_online_overlay_scale 1.20; set cl_music_online_overlay_compact 0; set cl_music_online_overlay_show_styles 1; set cl_music_online_overlay_autohide_sec 0Reset overlay appearance.

Online Music / Demo Profile

TypeSectionRowVariable or targetWhat it does
SectionPlaybackPlayback
TogglePlaybackEnable for demoscl_demoplayer_music_online_enablecl_demoplayer_music_online_enable. Applies immediately.
FieldPlaybackProvider (demo)cl_demoplayer_music_online_providercl_demoplayer_music_online_provider.
FieldPlaybackBase URL (demo)cl_demoplayer_music_online_base_urlcl_demoplayer_music_online_base_url.
SliderPlaybackDemo volumecl_demoplayer_music_online_volumecl_demoplayer_music_online_volume. Applies immediately.
TogglePlaybackDemo autoplaycl_demoplayer_music_online_autoplaycl_demoplayer_music_online_autoplay. Applies immediately.
TogglePlaybackPause with democl_demoplayer_music_online_pause_with_democl_demoplayer_music_online_pause_with_demo. Applies immediately.
SectionGenres & queueGenres & queue
FieldGenres & queuePreferred genres (demo)cl_demoplayer_music_online_preferred_genrescl_demoplayer_music_online_preferred_genres (slugs, ; separated).
ListGenres & queueDemo genre modecl_demoplayer_music_online_genre_modecl_demoplayer_music_online_genre_mode. Applies immediately. [All / Selected / Random]
ToggleGenres & queueDemo randomcl_demoplayer_music_online_randomcl_demoplayer_music_online_random. Applies immediately.
ToggleGenres & queueDemo autoplay resultscl_demoplayer_music_online_autoplay_resultscl_demoplayer_music_online_autoplay_results. Applies immediately.
ListGenres & queueDemo queuecl_demoplayer_music_online_queue_modecl_demoplayer_music_online_queue_mode. Applies immediately. [Sequential / Roulette]
ListGenres & queueDemo endcl_demoplayer_music_online_end_modecl_demoplayer_music_online_end_mode. Applies immediately. [Stop / Loop playlist / Loop track]
ListGenres & queueDemo lucky scopecl_demoplayer_music_online_lucky_scopecl_demoplayer_music_online_lucky_scope. Applies immediately. [Selected genre / Random genre / All music]
ToggleGenres & queueDemo lucky continuouscl_demoplayer_music_online_lucky_continuouscl_demoplayer_music_online_lucky_continuous. Applies immediately.
NavigationGenres & queueReset...set cl_demoplayer_music_online_enable 0; set cl_demoplayer_music_online_provider promodj; set cl_demoplayer_music_online_base_url https://promodj.com/music; set cl_demoplayer_music_online_volume 0.70; set cl_demoplayer_music_online_autoplay 0; set cl_demoplayer_music_online_pause_with_demo 0; set cl_demoplayer_music_online_preferred_genres ""; set cl_demoplayer_music_online_genre_mode 0; set cl_demoplayer_music_online_random 0; set cl_demoplayer_music_online_autoplay_results 0; set cl_demoplayer_music_online_queue_mode 0; set cl_demoplayer_music_online_end_mode 0; set cl_demoplayer_music_online_lucky_scope 0; set cl_demoplayer_music_online_lucky_continuous 1Reset demo music profile.

28.3. The music buttons beside the logo

While the intro plays, small round buttons are visible beside the main-menu logo: mute the intro sound, and end it smoothly. A separate button mutes the online music. These buttons never change the stored volumes.

28.4. Music never delays the game

Loading, playing and fading music are never allowed to delay a map load, a server connection or quitting. Beginning a map load ends the intro smoothly, and the fade runs on its own without holding anything up.

An unreachable online track does not leave the player stuck: the exact address that failed to open is shown, and a bounded move to another track is performed.


29. Item timer audio

Live item timers have an audio layer of their own: a general warning cue, a per-second countdown and a separate item-respawn cue. In rich mode, phrases for specific items are used.

Every file of that layer is optional: a missing file is silently skipped and never breaks the game. Details are in the live item timers guide.


30. Separate audio controls

Sound settings are grouped into four areas:

1. Game sound — the engine, spatialization, acoustics, volumes.

2. AVFX audio — weather, events and contacts with their own volumes.

3. Music — the intro, the online player and the classic game music.

4. Voice chat — a separate subsystem described in its own guide.

Each part is configured separately and does not cancel the others.

Music while the window is inactive

When inactive-window audio is muted, intro and online-music playback keep advancing silently. An intro that has finished does not resume when focus returns. Manual pause and separate online-music auto-pause rules remain supported.

Hit feedback sound

A short hit sound can confirm a hit on an opponent. Enable it in the online-game or sound settings and adjust its volume there or in the volume hub. The settings are shared across mods; English and Russian help is available in the menus, console and Cvar Browser.

The hit sound is off by default (s_hitsound 0). Updating the client preserves your saved choice.

s_hitsound: 0 off, 1 on.
s_hitsound_style: 0 single tone; 1 four damage tones when the server supplies the exact damage amount. Ordinary servers use the single tone.
s_hitsound_volume: 0–100, default 50. At 50 the original amplitude is used; at 100 it is doubled. Master volume still applies.

Audio is independent of the visual hit marker, blood and AVFX switches. It can also follow a received victim pain or death event after the shooter moves behind cover. Blood and voice evidence for the same tracked shot do not create two feedback sounds.

Online-music visualization

Online music settings offers Menu music visualization: Off, Spectrum, Waveform, Radial spectrum, Spectrogram or Automatic. Off is the default. The background fills the screen behind the open menu and follows the current online track. It fades in and dissolves with falling particles when music stops. Radial layout follows screen dimensions.

Opacity ranges from 0 (invisible) to 1 (fully visible), default 0.10, controlled globally by cl_music_online_menu_transparency. The mode is cl_music_online_menu_visualization. Game sound effects do not drive this display. Disabling in-game music also remains effective across local bot map changes.

Intro music

Intro music follows Startup intro in the settings. It defaults to on. Disabling it keeps the visual intro without its music. The global cl_q2prox_startup_intro_music setting is shared with the intro's sound button.