Q2PRO-X 1.5 — Звук Q2PRO-X 1.5
Полная локальная HTML-версия принятого документа. Оригинал DOCX доступен в карточке документации.
Q2PRO-X 1.5
Звук Q2PRO-X 1.5
DMA, OpenAL, HRTF, реверберация, громкости и онлайн-музыка
Русская редакция • Q2PRO-X 1.5 • 25 августа 2026 года
Содержание
Пункты кликабельны: щелчок переходит к разделу.
Q2PRO-X: подробное руководство по звуку
1. Короткая карта: что есть в Q2PRO-X по звуку
2. Где всё это находится в меню
3. Базовая модель: как вообще устроен звук в Q2PRO-X
4. Самая важная развилка: DMA или OpenAL
5. s_enable: главный переключатель режима
6. Общая теория: частота, формат, точность, ресемплинг
7. Настройки, которые касаются и DMA, и OpenAL
8. Что доступно только или в первую очередь в DMA
9. Что доступно только в OpenAL
10. al_profile: разница между OpenAL Q2PRO-X и R1Q2-like
11. al_sound_profile: готовые акустические профили
12. HRTF: что это такое и как это работает
13. Бинауральный звук: что это такое и чем он отличается от просто HRTF
14. Реверберация / room acoustics: что это такое
15. Параметры реверберации: подробно по каждому
16. Команды для OpenAL / reverb / binaural
17. al_resampler: OpenAL-resampler
18. Персональные громкости оружия и категорий
19. Что требует snd_restart, а что меняется сразу
21. Рекомендуемые стартовые конфигурации
23. Матрица доступности: что работает где
24. Связь со встроенным голосовым чатом
25. Самая короткая практическая памятка
30. Заключение по звуку выпуска
Q2PRO-X: подробное руководство по звуку
Зачем нужен этот документ
У Q2PRO-X звуковая подсистема заметно богаче, чем у "обычного Quake 2 клиента", но из-за этого она и сложнее для понимания. Здесь собрана практическая и теоретическая документация по текущему состоянию звука в Q2PRO-X:
Документ написан как пользовательский справочник, а не как внутренняя developer-note.
1. Короткая карта: что есть в Q2PRO-X по звуку
В Q2PRO-X сейчас есть три уровня работы со звуком:
1. s_enable 0
Звук полностью выключен.
1. s_enable 1 = software (DMA)
Классический программный микшер клиента.
Это "традиционный" режим Quake 2: клиент сам микширует PCM-аудио и отдаёт его в системный звуковой драйвер.
1. s_enable 2 = OpenAL
Современный 3D backend с пространственным позиционированием, HRTF, бинауральным слоем, акустикой помещений, дополнительными профилями, OpenAL-resampler'ом и расширенным набором runtime-настроек.
По умолчанию в текущем Q2PRO-X звуковой backend — `OpenAL`.
2. Где всё это находится в меню
| Что настраивается | Путь по меню |
|---|---|
| Звуковой движок, акустика, подменю | [[GEN:menu_path:g_sound]] |
| Расширенные звуковые настройки | [[GEN:menu_path:q2prox_advanced_audio]] |
| Бинауральный и трёхмерный звук | [[GEN:menu_path:q2prox_binaural]] |
| Громкости звуков | [[GEN:menu_path:q2prox_sound_vol]] |
| Громкость оружия | [[GEN:menu_path:q2prox_weaponvol]] |
| Громкость прочих звуков | [[GEN:menu_path:q2prox_othervol]] |
| Громкости звуков AVFX | [[GEN:menu_path:q2prox_avfxvol]] |
| Онлайн-музыка | [[GEN:menu_path:q2prox_online_music]] |
| Голосовой чат | [[GEN:menu_path:q2prox_voice]] |
Главная страница звука
Звук и акустика
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Основное | Основное | ||
| Список | Основное | Звуковой движок | s_enable | s_enable: OpenAL нужен для al_profile, HRTF и акустики помещений. Применяется сразу. [Без звука / Программный / OpenAL] |
| Переключатель | Основное | Следить за устройством вывода | s_auto_device | Следовать за системным устройством вывода вживую. При смене вывода Windows (наушники <-> колонки) игра сама переходит на него, без snd_restart. Только OpenAL и устройство по умолчанию (заданное al_device не трогается). По умолчанию ВКЛ. Применяется сразу. [Нет / Да] |
| Ползунок | Основное | Общая громкость | s_volume | s_volume: общая громкость звука (0..1). Применяется сразу. |
| Ползунок | Основное | Громкость музыки | ogg_volume | ogg_volume: громкость OGG-музыки (саундтрека), 0..1. Применяется сразу. |
| Список | Основное | Фоновые звуки | s_ambient | s_ambient: фоновые зацикленные звуки мира. 0 = нет, 1 = да, 2 = только от видимых сущностей (с моделью), например пролёты ракет. Применяется сразу. [Нет / Да / Только свои] |
| Ползунок | Основное | Макс. голосов | s_maxchannels | s_maxchannels: макс. одновременных голосов (по умолчанию 64). Поднимите, если звуки пропадают в грозу/AVFX; драйвер может ограничить OpenAL ниже (см. soundinfo). Применяется через snd_restart. |
| Раздел | Подменю | Подменю | ||
| Переход | Подменю | OpenAL и акустика... | q2prox_sound | Профиль OpenAL, реверберация, HRTF и акустика помещений. |
| Переход | Подменю | 3D-звук в наушниках... | q2prox_binaural | 3D-звук в наушниках: HRTF, crossfeed и кодирование. |
| Переход | Подменю | Громкость звуков... | q2prox_sound_vol | Хаб громкости звуков: оружие, прочие категории, AVFX-звуки. |
| Переход | Подменю | Расширенные звуковые... | q2prox_advanced_audio | Подводный фильтр, фокус окна, упреждение микса, swap stereo, музыка (ogg). |
| Переход | Подменю | Голосовой чат... | q2prox_voice | Голосовой чат в игре (PTT/VAD, LiveKit; для приёма и передачи нужен OpenAL). |
| Раздел | Поведение | Поведение | ||
| Переключатель | Поведение | Глушить вне фокуса | s_mute_when_inactive | Глушить звук, когда окно не в фокусе (Alt+Tab). Применяется сразу. [Нет / Да] |
| Переход | Поведение | Перезапустить звук... | snd_restart | Перезапускает звуковой движок, чтобы применить изменения s_enable / s_maxchannels. |
Часть старых базовых переменных и настроек музыки по-прежнему доступна только через консоль или справочник переменных, даже если основные современные настройки уже вынесены на страницы Q2PRO-X.
3. Базовая модель: как вообще устроен звук в Q2PRO-X
3.1 Что такое DMA в контексте Q2PRO-X
В контексте Q2PRO-X слово DMA не означает "магически лучший старый звук" и не означает "железный 3D".
Здесь это классический путь:
Плюсы:
Минусы:
3.2 Что такое OpenAL в контексте Q2PRO-X
OpenAL — это отдельный аудио backend/API для пространственного звука.
В Q2PRO-X он используется не только как "другой драйвер", а как полноценный фундамент для:
Плюсы:
Минусы:
4. Самая важная развилка: DMA или OpenAL
Когда обычно стоит выбрать DMA
Выбирай DMA, если ты хочешь:
Типичный сценарий:
Когда обычно стоит выбрать OpenAL
Выбирай OpenAL, если ты хочешь:
Типичный сценарий:
5. s_enable: главный переключатель режима
Что делает
s_enable выбирает backend:
Когда применять
Если меняешь s_enable, практически всегда нужно:
snd_restart
Практический совет
Если ты не уверен, с чего начать:
6. Общая теория: частота, формат, точность, ресемплинг
Перед конкретными cvar полезно понимать базовые аудиотермины.
6.1 Что такое sample rate / output rate
Это частота дискретизации аудиопотока — сколько "снимков" аудиосигнала в секунду выводится на устройство.
Примеры:
Чем выше частота:
В Q2PRO-X это cvar:
Важно:
soundinfo
6.2 Что такое sample format
Это формат представления одного аудиосэмпла.
В текущем Q2PRO-X важны:
s16
Классический 16-битный PCM.
Плюсы:
Минусы:
float32
32-битный floating-point формат.
Плюсы:
Минусы:
Это cvar:
После изменения нужен:
snd_restart
6.3 Что такое resampler
Ресемплер — это алгоритм, который пересчитывает звук из одной частоты/формы представления в другую.
Это нужно, когда:
Плохой resampler может дать:
Более качественный resampler может дать:
Но:
7. Настройки, которые касаются и DMA, и OpenAL
Ниже — общие параметры, которые полезно знать независимо от backend'а.
s_volume
Главная master-громкость игры.
Текущее базовое значение в коде:
Это общий уровень звука, поверх которого уже работают более узкие громкости категорий.
s_khz
Запрашиваемая частота вывода.
Обычно доступны:
Практически:
s_sampleformat
Предпочтительный формат:
Хороший практический выбор:
s_ambient
Управляет ambient-звуками.
Значения:
Это полезно, если хочется снизить "шум карты", но не убить полностью полезные звуки.
s_mute_when_inactive
Если окно игры не в фокусе (Alt+Tab, клик в другое окно), движок заглушается.
Значения:
Практически это очень полезная QoL-настройка.
ogg_enable
Включает фоновую музыку OGG.
ogg_volume
Громкость музыки относительно общей громкости.
ogg_shuffle
Случайный порядок музыки.
Эти cvar не меняют боевой positional audio, но влияют на общую звуковую среду.
soundinfo
Очень полезная диагностическая команда.
Используй её, чтобы увидеть:
snd_restart
Главная команда "перезапустить sound backend".
Она нужна после большинства крупных sound-переключений:
8. Что доступно только или в первую очередь в DMA
s_driver
Это выбор DMA-драйвера.
На Windows обычно встречаются:
Если cvar пустой, идёт автоопределение.
Практический смысл:
s_mixahead
Это размер упреждения микширования.
По-человечески:
Если значение меньше:
Если значение больше:
Практический диапазон:
Это особенно характерный DMA-параметр.
s_swapstereo
Меняет местами левый и правый каналы.
Работает только в DMA.
Нужен крайне редко:
s_resampler
Это DMA-resampler.
Значения:
Что они означают
legacy
Старый, самый простой путь.
Плюсы:
Минусы:
linear
Линейная интерполяция.
Компромисс:
cubic
Кубическая интерполяция.
Обычно:
Когда DMA имеет смысл сейчас
DMA логичен, если ты хочешь:
9. Что доступно только в OpenAL
Всё ниже — это уже главный reason выбрать OpenAL.
Список ключевых OpenAL-only возможностей
10. al_profile: разница между OpenAL Q2PRO-X и R1Q2-like
Это одна из важнейших настроек всего sound-стека.
Что это вообще такое
al_profile — это не "громкость" и не "качество", а поведенческий профиль OpenAL-звука.
Сейчас он имеет два основных режима:
Теория: почему профили вообще отличаются
Даже если оба режима используют OpenAL, они могут отличаться по:
То есть это не "один и тот же OpenAL, только другой флажок".
Это два разных voicing-подхода поверх OpenAL backend'а.
Q2PRO-X profile
Основная идея:
Под капотом это ближе к:
Практически:
R1Q2-like profile
Основная идея:
Под капотом это ближе к:
Практически это даёт более "классическое" ощущение затухания:
Что выбрать
Выбирай Q2PRO-X, если:
Выбирай R1Q2-like, если:
Практический совет
Если не знаешь, с чего начать:
1. попробуй al_profile "Q2PRO-X" на колонках или универсальной настройке;
1. попробуй al_profile "R1Q2-like" для соревновательного чтения звука;
1. сравни на одной и той же карте и в одном и том же сценарии, а не "по памяти".
После смены профиля нужен:
snd_restart
11. al_sound_profile: готовые акустические профили
Что это такое
al_sound_profile — это high-level пресет.
Он нужен, чтобы не крутить вручную весь лес параметров реверберации и routing'а.
Вместо десятка ручек ты выбираешь общую "характерную подачу".
Текущие значения:
Важная логика
Эти профили не управляют всем подряд.
Они в основном управляют акустическим слоем:
И при этом не должны переопределять:
То есть sound profile — это акустический пресет, а не "смена всего звукового мира".
Как выбирать по смыслу
competitive
Минимум лишнего ambience-feeling, максимум сухой читаемости.
Подходит для:
balanced
Компромиссный режим.
Подходит для:
immersive
Сильнее подчёркивает ощущение пространства.
Подходит для:
cinematic
Ещё больше акцента на эффектность.
cathedral
Специально сильно выраженный, почти демонстрационный режим.
Подходит не для "честной соревновательной читаемости", а для ощущения масштабности.
custom
Режим, в который система возвращается, если ты начинаешь крутить параметры вручную.
12. HRTF: что это такое и как это работает
Теория: что такое HRTF
HRTF = Head-Related Transfer Function.
По-простому:
В реальной жизни звук спереди, сзади, сверху, снизу и сбоку попадает в уши не одинаково:
Именно из-за этого мозг умеет понимать направление.
Что даёт HRTF в игре
Если ты играешь в наушниках:
Когда HRTF особенно полезен
Когда HRTF может не понравиться
Cvar
Значения:
Практически:
Обычно после изменения:
snd_restart
Базовый совет
13. Бинауральный звук: что это такое и чем он отличается от просто HRTF
Теория: что такое бинауральный звук
Бинауральный звук — это способ подготовить аудио так, чтобы в двух каналах (левый и правый наушник) возникало убедительное ощущение 3D-пространства.
Главная идея:
Важное различие
HRTF — это один из механизмов, из которых строится бинауральный результат.
То есть:
Как это реализовано в Q2PRO-X
В Q2PRO-X бинауральный режим — это не отдельный самописный DSP-движок, а тонкий control-layer поверх OpenAL Soft.
То есть:
Основные cvar
al_binaural
Главный переключатель.
Значения:
al_binaural_profile
Готовые пресеты:
Эти пресеты управляют именно binaural-слоем, а не room acoustics.
al_binaural_encoding
Режим stereo-encoding.
Варианты:
Что это значит по смыслу
basic
Самый базовый стереорежим.
hrtf
Явно ориентированный на HRTF-базированный headphone rendering режим.
uhj
Специфический способ двухканальной передачи пространственной информации, исторически связанный с Ambisonics/B-format-подходами.
Для обычного пользователя это не "обязательный лучший режим", а продвинутая опция для экспериментов.
После смены encoding нужен:
snd_restart
al_binaural_hrtf_mode
Качество/режим обработки HRTF.
Варианты:
Это уже advanced-тюнинг.
al_binaural_hrtf_size
Размер HRTF-фильтра.
Варианты:
Теория:
al_binaural_crossfeed
Теория: что такое crossfeed
При прослушивании через колонки левое ухо частично слышит и правую колонку, а правое — левую.
В наушниках этого естественного "перекрёстного подмешивания" нет: каналы слишком жёстко разделены.
Crossfeed — это управляемое частичное подмешивание каналов, чтобы:
Возможные значения:
Где:
Практически:
14. Реверберация / room acoustics: что это такое
Теория: что такое реверберация
Реверберация — это не "эхо" в грубом бытовом смысле.
Это совокупность множества отражений звука от поверхностей:
Когда звук издаётся в помещении, мы слышим:
1. прямой звук;
1. ранние отражения (early reflections);
1. более длинный "хвост" (late reverb tail).
Именно это вместе и создаёт ощущение:
Что делает room acoustics в Q2PRO-X
Q2PRO-X не просто включает "какой-то reverb", а строит отдельный слой акустики на базе OpenAL EFX:
Главный cvar:
Исторический alias:
Сейчас canonical-путь — именно al_reverb, а al_eax сохраняется как совместимость со старыми конфигами.
15. Параметры реверберации: подробно по каждому
Ниже — самая важная часть для ручной настройки.
al_reverb
Включает room acoustics / EFX reverb.
Если 0:
Если 1:
al_eax_preset
Выбор room class.
Значения:
Что значит auto
Клиент сам классифицирует среду и подбирает пресет.
Что значит manual
Ты принудительно говоришь системе:
Это полезно:
al_reverb_lerp_time
Теория: что такое lerp между пресетами
Если ты переходишь из одной зоны карты в другую, резкая смена акустики может звучать грубо и искусственно.
Поэтому вместо мгновенного переключения параметры можно плавно смешивать.
al_reverb_lerp_time — это время такого плавного перехода.
Меньше:
Больше:
al_eax_wet
Теория: что такое wet
Wet = уровень обработанного сигнала.
Противоположность — dry, то есть прямой, необработанный звук.
Если wet больше:
Если wet меньше:
al_eax_wet — общий reverb send для мировых источников.
al_eax_local_wet
Это wet для локальных first-person звуков.
Почему это вынесено отдельно:
Обычно local wet держат ниже, чем world wet.
al_eax_transport_wet
Это wet для:
Идея:
al_eax_explosion_wet
Wet для взрывов.
Смысл:
al_eax_explosion_decay
Теория: что такое decay
Decay — это длительность затухания хвоста реверберации.
То есть сколько времени после исходного звука продолжается умирающий reverb-tail.
Если decay больше:
Если decay меньше:
al_eax_explosion_decay — отдельный множитель длины хвоста именно для взрывов.
al_eax_explosion_late
Отдельный множитель силы late-tail у взрывов.
То есть:
al_eax_occlusion
Теория: что такое occlusion
Если источник физически загорожен стеной, дверью или объектом, прямой звук до слушателя доходит хуже.
В реальности это означает:
al_eax_occlusion именно это и моделирует:
al_reverb_reflections
Теория: что такое early reflections
Early reflections — первые отражения после прямого сигнала.
Они дают мозгу сильную подсказку о размере и близости поверхности.
Если reflections выше:
al_reverb_late
Теория: что такое late reverb
Это поздний, более диффузный хвост реверберации, когда отдельные отражения уже не различаются, а складываются в общий "облакообразный" tail.
Если late выше:
al_reverb_decay
Общий множитель decay time.
Если поднять:
Если опустить:
al_reverb_delay
Теория: что такое delay в контексте реверберации
Это не "delay pedal" в музыкальном смысле, а масштаб задержки отражений и позднего хвоста относительно прямого сигнала.
Если delay больше:
Если delay меньше:
al_reverb_hf
Теория: что такое HF brightness
HF = high frequency.
Этот параметр регулирует, насколько высокочастотная часть реверберации сохраняется или гасится.
Если значение выше:
Если ниже:
al_reverb_diffusion
Теория: что такое diffusion
Diffusion — это "плотность" и "гладкость" реверберационного поля.
Если diffusion выше:
Если diffusion ниже:
al_eax_debug
Диагностический режим.
Полезен для тонкой отладки:
16. Команды для OpenAL / reverb / binaural
al_reverb_info
Печатает:
Очень полезно, когда ты реально настраиваешь room acoustics, а не "крутишь ручки вслепую".
al_reverb_reload
Принудительно пересобирает и snap'ает текущий reverb preset.
Полезно:
al_binaural_info
Печатает:
al_resampler_list
Печатает список доступных OpenAL-resampler'ов, которые реально предоставляет runtime.
Это важно, потому что OpenAL путь может поддерживать разные варианты:
Но конкретный runtime надо проверять фактически.
17. al_resampler: OpenAL-resampler
Это OpenAL-specific выбор resampler'а.
Типичные значения:
Что значат эти режимы по смыслу
point
Самый грубый, самый простой.
Можно представить как:
Практически — скорее режим для эксперимента, чем лучший everyday choice.
linear
Простой компромисс.
cubic
Более качественный и гладкий вариант.
bsinc12 / bsinc24
Более сложные sinc-подобные варианты.
Обычно:
Практический выбор
Если не хочется заморачиваться:
Если хочется качественный, но не экзотический вариант:
Если хочется пробовать лучший quality path OpenAL Soft:
После изменения:
snd_restart
18. Персональные громкости оружия и категорий
Это одна из самых полезных реальных QoL-функций Q2PRO-X.
Как устроена шкала
В меню используется шкала:
То есть это не "проценты от нуля до ста" в бытовом смысле, а пользовательская шкала громкости относительно базового уровня.
Громкости оружия
Есть отдельные cvar для:
Это позволяет:
Громкости категорий
Есть отдельные cvar:
Практические примеры
Для соревновательной игры
Часто имеет смысл:
Для "киношного" звука
Можно:
19. Что требует snd_restart, а что меняется сразу
Это очень важный practical section.
Обычно требуют snd_restart
Обычно применяются live
Практическое правило
Если ты меняешь:
сразу думай:
snd_restart
Если крутишь:
скорее всего изменение уже live.
20. Текущие важные дефолты
Ниже — не все звуковые cvar проекта, а именно те, которые чаще всего имеют значение при реальной настройке.
Базовые sound defaults
| Cvar | Текущее значение по умолчанию | Что это значит |
|---|
| s_enable | 2 | По умолчанию стартует OpenAL |
|---|
| s_khz | 44 | Базовый запрос на 44 kHz |
|---|
| s_sampleformat | auto | Формат выбирается автоматически |
|---|
| s_resampler | legacy | DMA-resampler по умолчанию классический |
|---|
| s_volume | 0.7 | Master volume по коду |
|---|
| s_ambient | 1 | Ambient-звуки включены |
|---|
| s_underwater | 1 | Underwater-обработка включена |
|---|
| s_underwater_gain_hf | 0.25 | Под водой верх сильно приглушён |
|---|
| s_mute_when_inactive | 0 | По умолчанию игра не глушится при потере фокуса |
|---|
| ogg_enable | 1 | OGG-музыка разрешена |
|---|
| ogg_volume | 1 | Музыка играет на полном относительном уровне |
|---|
| ogg_shuffle | 0 | Случайный порядок выключен |
|---|
OpenAL defaults
| Cvar | Текущее значение по умолчанию | Что это значит |
|---|
| al_profile | 0 | Базовый OpenAL-профиль = Q2PRO-X |
|---|
| al_reverb | 0 | Room acoustics выключена по умолчанию |
|---|
| al_reverb_lerp_time | 2.0 | Переход между room presets сглаживается за 2 секунды |
|---|
| al_eax_preset | -1 | Автоклассификация помещения |
|---|
| al_eax_wet | 0.80 | Довольно выраженный мировой reverb-send |
|---|
| al_eax_local_wet | 0.08 | Локальные звуки по умолчанию суше |
|---|
| al_eax_occlusion | 1 | Occlusion включён |
|---|
| al_reverb_reflections | 1.0 | Early reflections без дополнительного усиления |
|---|
| al_reverb_late | 1.0 | Late tail без дополнительного усиления |
|---|
| al_reverb_decay | 1.0 | Базовая длина decay |
|---|
| al_reverb_delay | 1.0 | Базовая задержка reverb-поля |
|---|
| al_reverb_hf | 1.0 | Базовая яркость HF |
|---|
| al_reverb_diffusion | 1.0 | Базовая diffusion/гладкость |
|---|
| al_resampler | default | OpenAL runtime сам выбирает ресемплер |
|---|
| al_sound_profile | 0 (custom) | По умолчанию нет навязанного curated-профиля |
|---|
Binaural defaults
| Cvar | Текущее значение по умолчанию | Что это значит |
|---|
| al_binaural | 0 | Бинауральный режим по умолчанию выключен |
|---|
| al_binaural_profile | 0 (custom) | Нет заранее выбранного headphone-профиля |
|---|
| al_binaural_encoding | 0 (auto) | Encoding выбирается автоматически |
|---|
| al_binaural_hrtf_mode | 0 (default) | Режим HRTF по умолчанию доверен runtime'у |
|---|
| al_binaural_hrtf_size | 0 | Размер фильтра = runtime default |
|---|
| al_binaural_crossfeed | 0 | Crossfeed выключен |
|---|
Per-weapon / per-category defaults
Все weapon/category volume cvar стартуют с:
Это означает:
21. Рекомендуемые стартовые конфигурации
Вариант 1: колонки, простой и чистый звук
set s_enable 1
set s_khz 48
set s_sampleformat auto
set s_resampler linear
snd_restart
Смысл:
Вариант 2: универсальный OpenAL на колонках
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
Смысл:
Вариант 3: наушники, соревновательный 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
Смысл:
Вариант 4: наушники, пространственный 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
Смысл:
22. Когда крутить что именно
Проблема: "слишком сухо"
Попробуй:
Проблема: "слишком замылено / слишком много хвоста"
Попробуй:
Проблема: "в наушниках плохо понимаю, где источник"
Попробуй:
Проблема: "мои собственные звуки слишком гремят в помещении"
Попробуй:
Проблема: "взрывы недостаточно ощущаются"
Попробуй:
Проблема: "слишком громкие movers / loops / hum"
Попробуй:
23. Матрица доступности: что работает где
| Функция / параметр | DMA | OpenAL |
|---|
| s_driver | да | нет |
|---|
| s_mixahead | да | нет как основной DMA-параметр |
|---|
| s_swapstereo | да | нет |
|---|
| s_resampler | да | нет |
|---|
| al_profile | нет | да |
|---|
| al_hrtf | нет | да |
|---|
| al_binaural* | нет | да |
|---|
| al_reverb* / al_eax* | нет | да |
|---|
| al_resampler | нет | да |
|---|
| al_resampler_list | нет | да |
|---|
| al_reverb_info | нет | да |
|---|
| al_binaural_info | нет | да |
|---|
| per-weapon volumes | да | да |
|---|
| per-category volumes | да | да |
|---|
| ogg_* music controls | да | да |
|---|
| s_mute_when_inactive | да | да |
|---|
24. Связь со встроенным голосовым чатом
Это не основной предмет документа, но важно помнить:
То есть если ты планируешь пользоваться и игровым звуком, и встроенным voice:
25. Самая короткая практическая памятка
Если нужно совсем коротко:
26. Заключение
Главная мысль такая:
Q2PRO-X сейчас умеет два разных звуковых мира:
Правильная настройка зависит не от "какой режим объективно лучший", а от того:
Если начинать без лишнего стресса, лучший путь такой:
1. выбрать backend (DMA или OpenAL);
1. если OpenAL — решить, нужен ли тебе Q2PRO-X или R1Q2-like;
1. отдельно решить вопрос HRTF;
1. отдельно решить, нужна ли room acoustics;
1. после этого уже полировать громкости оружия и категорий.
Такой порядок даёт самый быстрый путь к осознанной настройке, а не к хаотичному перебору.
27. Звуки AVFX
Слой AVFX имеет собственный звук и собственные громкости, отделённые от общей громкости игры.
27.1. Громкости звуков AVFX
Путь по меню: [[GEN:menu_path:q2prox_avfxvol]]
Громкость AVFX-звуков
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Основное | Основное | ||
| Переключатель | Основное | Звук | cl_avfx_audio | Главный переключатель всех AVFX-звуков: гром, слои дождя/ветра/снега/воды, ticks капель, plip'ы колец, шаги. Без WAV слой молчит. Применяется сразу. [Нет / Да] |
| Ползунок | Основное | Громкость звуков | cl_avfx_audio_volume | Общая громкость AVFX-звуков (умножается на s_volume и подслои). Применяется сразу. |
| Раздел | Погода и среда | Погода и среда | ||
| Переключатель | Погода и среда | Звук ветра | cl_avfx_audio_wind | Гейт слоя ветра: эмбиент ветра/пыли/пепла/тумана, штормовой вариант и порывы. Без WAV молчит. Применяется сразу. [Нет / Да] |
| Переключатель | Погода и среда | Звук дождя | cl_avfx_audio_rain | Гейт основного шума дождя: лёгкий/обычный/сильный и подводный луп. Ticks капель и plip'ы колец — свои гейты. Без WAV молчит. Применяется сразу. [Нет / Да] |
| Переключатель | Погода и среда | Звук капель | cl_avfx_audio_rain_drops | Звуки близких капель (только при пресете дождя). Без WAV молчит. Применяется сразу. [Нет / Да] |
| Переключатель | Погода и среда | Звук снега | cl_avfx_audio_snow | Гейт эмбиента при пресете снега: намеренно тихий зимний ветер (snow_wind_loop.wav), не громкий шум снега. Без WAV молчит. Применяется сразу. [Нет / Да] |
| Переключатель | Погода и среда | Звук воды | cl_avfx_audio_water | Plip-звуки колец и мягкие звуки водной поверхности для контактов AVFX (при наличии WAV). Применяется сразу. [Нет / Да] |
| Переключатель | Погода и среда | Гром | cl_avfx_audio_thunder | Звук грома, привязанный к событиям молнии. Применяется сразу. [Нет / Да] |
| Переход | Погода и среда | События и небо... | q2prox_avfxvol_events | Открыть звуки пара, небесных событий, кораблей и чёрной дыры. |
| Переход | Погода и среда | Контакты и живность... | q2prox_avfxvol_contacts | Открыть звуки контактов с поверхностями и пространственные звуки живности. |
| Раздел | Сервис | Сервис | ||
| Переход | Сервис | Звуки AVFX выкл. | set cl_avfx_audio 0 | Заглушить AVFX только общим мастером. Настройки отдельных слоёв, визуал и обычные звуки не меняются. |
| Переход | Сервис | Восстановить звуки AVFX | cl_avfx_defaults_audio | Восстановить зарегистрированные дефолты всех AVFX-звуков. Дополнительный звук чёрной дыры останется выключен по умолчанию. |
Отдельные подменю отвечают за события и за контакты:
AVFX-звуки / События и небо
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Пар | Пар | ||
| Переключатель | Пар | Звук пара | cl_avfx_audio_lava_steam | Короткое шипение испарения, когда дождь/снег попадает в лаву. Громкость зависит от размера частиц. Визуал пара — отдельно. Применяется сразу. [Нет / Да] |
| Переключатель | Пар | Звук пара на поверхностях | cl_avfx_audio_lava_surface_steam | Мягкое позиционное шипение от тающей массы/воды у кромок лавы (steam_surface_hiss1..3), в точке поверхностного пара. Применяется сразу. [Нет / Да] |
| Переключатель | Пар | Звук пара от попаданий | cl_avfx_weapon_snow_steam_audio | Отдельный звук пара от горячих попаданий оружия по снегу. Визуал пара — часть эффекта оружия. Применяется сразу. [Нет / Да] |
| Раздел | Небесные эффекты | Небесные эффекты | ||
| Переключатель | Небесные эффекты | Звук взрыва от молнии | cl_avfx_audio_impact | Звук взрыва в точке удара молнии (ракетный звук, затухает с расстоянием). Применяется сразу. [Нет / Да] |
| Переключатель | Небесные эффекты | Звук падающих метеоров | cl_avfx_audio_meteor_impact | Звуки падающих метеоров (шипение полёта, свист пролёта, удар, обломки). Отсутствующие WAV молча пропускаются. Применяется сразу. [Нет / Да] |
| Переключатель | Небесные эффекты | Звук метеоров неба | cl_avfx_audio_meteor | Звуки метеоров неба (треск сгорания). Отсутствующий WAV молча пропускается. Применяется сразу. [Нет / Да] |
| Переключатель | Небесные эффекты | Звук кораблей в небе | cl_avfx_spaceships_sound | Звук пролёта кораблей в небе. По умолчанию ВКЛ. 0 — беззвучные корабли. Отсутствующие WAV молча пропускаются. Применяется сразу. [Нет / Да] |
| Ползунок | Небесные эффекты | Громкость кораблей в небе | cl_avfx_spaceships_sound_volume | Громкость пролёта кораблей в небе. 0.35 (по умолчанию). 0 — тихо. Применяется сразу. |
| Переключатель | Небесные эффекты | Звук чёрной дыры | cl_avfx_blackhole_consumption_audio | Звук присутствия чёрной дыры: глубокий гравитационный слой нарастает с ВИДИМЫМ размером дыры, а позиционный слой направлен к ней. Нужны звук AVFX и видимая чёрная дыра; опциональный мастер поглощения не требуется. По умолчанию ВЫКЛ. Отсутствующие WAV молча пропускаются. Применяется сразу. [Нет / Да] |
| Ползунок | Небесные эффекты | Громкость чёрной дыры | cl_avfx_blackhole_consumption_audio_volume | Громкость присутствия чёрной дыры до общего AVFX-усиления. 0.70 (по умолчанию). Применяется сразу. |
| Ползунок | Небесные эффекты | Влияние взгляда | cl_avfx_blackhole_consumption_audio_focus | Насколько взгляд на дыру усиливает слой разрыва. За спиной дыра остаётся слышимой: это только окраска микса, а не отключение. 0.30 (по умолчанию). Применяется сразу. |
| Переключатель | Небесные эффекты | События чёрной дыры | cl_avfx_blackhole_consumption_audio_events | Ограниченные события чёрной дыры: затягивание объектов, разрыв вещества светил и пространственный треск породы при отрыве от уровня. Всплески ограничены пулом голосов и задержкой. По умолчанию ВЫКЛ. Применяется сразу. [Нет / Да] |
| Ползунок | Небесные эффекты | Громкость событий дыры | cl_avfx_blackhole_consumption_audio_events_volume | Громкость событий чёрной дыры (затягивание объекта, разрыв вещества) до общего AVFX-усиления. Не зависит от громкости фонового слоя. 0.80 (по умолчанию). Применяется сразу. |
| Переход | Небесные эффекты | Назад | q2prox_avfxvol | Назад к общему звуку, погоде и звукам контактов AVFX. |
AVFX-звуки / Контакты и живность
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Шаги по поверхностям | Шаги по поверхностям | ||
| Переключатель | Шаги по поверхностям | Звуки шагов по поверхностям | cl_avfx_audio_surface_steps | Главный гейт звуков шагов по AVFX-поверхностям. Разрешает снежные, мокрые и лужевые шаги, если включены их подслои и есть WAV-ассеты. Применяется сразу. [Нет / Да] |
| Переключатель | Шаги по поверхностям | Звуки шагов по лужам | cl_avfx_audio_puddle_steps | Разрешает звуки мокрых шагов, когда игрок идёт или бежит по видимым AVFX-лужам. Нужны звуки шагов по поверхностям и общий звук AVFX. Применяется сразу. [Нет / Да] |
| Переключатель | Шаги по поверхностям | Звуки шагов по снегу | cl_avfx_audio_snow_steps | Разрешает звуки шагов по видимому снежному покрову. Громкость и глубина зависят от видимого снега и роста сугробов. Применяется сразу. [Нет / Да] |
| Раздел | Живность | Живность | ||
| Переключатель | Живность | Шипение при выстреле языка | cl_avfx_surface_materials_crawlers_audio_hiss | Пространственное шипение звучит, когда змея открывает пасть и выстреливает языком. Несколько змей могут шипеть независимо. Нужен общий мастер звуков AVFX. По умолчанию выкл. Применяется сразу. [Нет / Да] |
| Ползунок | Живность | Громкость шипения | cl_avfx_surface_materials_crawlers_audio_hiss_volume | Громкость шипения змей до общего регулятора громкости AVFX. Применяется сразу. |
| Переключатель | Живность | Жужжание мух | cl_avfx_surface_materials_crawlers_audio_flies | Включает разные пространственные звуки жужжания у останков змей после появления мух. Разные трупы звучат независимо. По умолчанию выкл. Применяется сразу. [Нет / Да] |
| Ползунок | Живность | Громкость мух | cl_avfx_surface_materials_crawlers_audio_flies_volume | Громкость жужжания мух до общего регулятора громкости AVFX. Применяется сразу. |
| Переход | Живность | Назад | q2prox_avfxvol | Назад к общему звуку, погоде и звукам контактов AVFX. |
Такое разделение позволяет оставить погоду видимой, но тихой — частый выбор для соревновательной игры.
28. Музыка
28.1. Три независимых источника
В Q2PRO-X три источника музыки, и они не мешают друг другу:
| Источник | Что это | Чем управляется |
|---|---|---|
| Интро при запуске | Отдельное вступление при холодном запуске в меню | Собственный переключатель; настройки игровой музыки на него не влияют |
| Онлайн-музыка | Плеер PROMODJ с поиском, воспроизведением и оверлеем | Меню онлайн-музыки |
| Игровая музыка | Классическая музыка Quake II | Собственные переменные игровой музыки |
Порядок при запуске такой: вступление всегда играет первым, а автоплей онлайн-музыки начинается, когда оно закончится.
Подробности о вступлении — в руководстве по интро при запуске.
28.2. Онлайн-музыка
Онлайн музыка (PROMODJ)
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Воспроизведение | Воспроизведение | ||
| Переключатель | Воспроизведение | Онлайн музыка | cl_music_online_enable | Главный выключатель (выкл = нет сети). Применяется сразу. [Нет / Да] |
| Поле | Воспроизведение | Провайдер | cl_music_online_provider | Провайдер музыки (сейчас один: promodj). |
| Ползунок | Воспроизведение | Громкость | cl_music_online_volume | Громкость онлайн-музыки (s_volume — главный). Применяется сразу. |
| Переключатель | Воспроизведение | Сообщения в консоль | cl_music_online_console_status | Показывать статусные/отладочные сообщения онлайн-плеера в консоли. Выкл = обычное воспроизведение молчит. Применяется сразу. [Нет / Да] |
| Переключатель | Воспроизведение | Автоплей | cl_music_online_autoplay | Автовоспроизведение при старте. Применяется сразу. [Нет / Да] |
| Переключатель | Воспроизведение | Пауза в игре | cl_music_online_autopause_game | Пауза во время игры/карты. Применяется сразу. [Нет / Да] |
| Переключатель | Воспроизведение | Возобновлять после игры | cl_music_online_resume_after_game | Возобновлять после выхода в меню. Применяется сразу. [Нет / Да] |
| Раздел | Жанры и очередь | Жанры и очередь | ||
| Список | Жанры и очередь | Режим жанров | cl_music_online_genre_mode | Режим жанров. Применяется сразу. [Все / Выбранные / Случайный] |
| Переключатель | Жанры и очередь | Случайно | cl_music_online_random | Случайный порядок. Применяется сразу. [Нет / Да] |
| Переключатель | Жанры и очередь | Автоплей результатов | cl_music_online_autoplay_results | Автоплей найденных результатов. Применяется сразу. [Нет / Да] |
| Список | Жанры и очередь | Очередь | cl_music_online_queue_mode | Режим очереди. Применяется сразу. [Последовательно / Рулетка] |
| Список | Жанры и очередь | В конце | cl_music_online_end_mode | Поведение в конце плейлиста. Применяется сразу. [Стоп / Повтор плейлиста / Повтор трека] |
| Список | Жанры и очередь | «Повезёт»: область | cl_music_online_lucky_scope | Область «мне повезёт». Применяется сразу. [Выбранный жанр / Случайный жанр / Вся музыка] |
| Переключатель | Жанры и очередь | «Повезёт»: непрерывно | cl_music_online_lucky_continuous | Непрерывный режим «повезёт». Применяется сразу. [Нет / Да] |
| Поле | Жанры и очередь | Базовый URL | cl_music_online_base_url | Базовый URL (по умолчанию PROMODJ). |
| Поле | Жанры и очередь | Любимые жанры | cl_music_online_preferred_genres | Любимые жанры (slug через ;). |
| Раздел | Плеер и overlay | Плеер и overlay | ||
| Переход | Плеер и overlay | Открыть плеер... | music_online_open | Открыть overlay онлайн-музыки. |
| Переход | Плеер и overlay | Мне повезёт | music_online_lucky | Случайный трек («мне повезёт»). |
| Переход | Плеер и overlay | Проверка... | music_online_probe | Диагностика провайдера (в консоль). |
| Переход | Плеер и overlay | Внешний вид overlay... | q2prox_online_music_overlay | Настройки внешнего вида overlay. |
| Переход | Плеер и overlay | Профиль для демок... | q2prox_online_music_demo | Профиль музыки для проигрывателя демок. |
| Клавиша | Плеер и overlay | Открыть/закрыть плеер | music_online_toggle | Назначьте клавишу для открытия/закрытия overlay онлайн-музыки. |
| Переход | Плеер и overlay | Звуковые настройки... | g_sound | Открыть основное меню «звук и акустика». |
| Раздел | Сброс | Сброс | ||
| Переход | Сброс | Сбросить... | 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 | Сбросить настройки онлайн-музыки. |
У плеера есть собственный оверлей и отдельный режим для просмотра записей:
Онлайн музыка / Overlay
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Ползунок | Прозрачность | cl_music_online_overlay_alpha | Прозрачность окна. Применяется сразу. | |
| Ползунок | Масштаб | cl_music_online_overlay_scale | Масштаб окна/шрифта. Применяется сразу. | |
| Переключатель | Компактный | cl_music_online_overlay_compact | Компактный режим. Применяется сразу. [Нет / Да] | |
| Переключатель | Показывать стили | cl_music_online_overlay_show_styles | Показывать стили трека. Применяется сразу. [Нет / Да] | |
| Ползунок | Автоскрытие | cl_music_online_overlay_autohide_sec | Автоскрытие (сек, 0 = выкл). Применяется сразу. | |
| Переход | Сбросить позицию... | 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 0 | Сбросить позицию/размер окна. | |
| Переход | Сбросить вид... | 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 0 | Сбросить внешний вид overlay. |
Онлайн музыка / Профиль демок
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Воспроизведение | Воспроизведение | ||
| Переключатель | Воспроизведение | Вкл. для демок | cl_demoplayer_music_online_enable | Онлайн-музыка в проигрывателе демок. Применяется сразу. [Нет / Да] |
| Поле | Воспроизведение | Провайдер (демо) | cl_demoplayer_music_online_provider | Провайдер (демо), сейчас один: promodj. |
| Поле | Воспроизведение | Базовый URL (демо) | cl_demoplayer_music_online_base_url | Базовый URL (демо). |
| Ползунок | Воспроизведение | Громкость демо | cl_demoplayer_music_online_volume | Громкость для демок. Применяется сразу. |
| Переключатель | Воспроизведение | Автоплей демо | cl_demoplayer_music_online_autoplay | Автоплей в демках. Применяется сразу. [Нет / Да] |
| Переключатель | Воспроизведение | Пауза с демкой | cl_demoplayer_music_online_pause_with_demo | Пауза вместе с демкой. Применяется сразу. [Нет / Да] |
| Раздел | Жанры и очередь | Жанры и очередь | ||
| Поле | Жанры и очередь | Любимые жанры (демо) | cl_demoplayer_music_online_preferred_genres | Любимые жанры (демо), slug через ;. |
| Список | Жанры и очередь | Режим жанров демо | cl_demoplayer_music_online_genre_mode | Режим жанров (демо). Применяется сразу. [Все / Выбранные / Случайный] |
| Переключатель | Жанры и очередь | Случайно демо | cl_demoplayer_music_online_random | Случайный порядок (демо). Применяется сразу. [Нет / Да] |
| Переключатель | Жанры и очередь | Автоплей результатов демо | cl_demoplayer_music_online_autoplay_results | Автоплей найденного (демо). Применяется сразу. [Нет / Да] |
| Список | Жанры и очередь | Очередь демо | cl_demoplayer_music_online_queue_mode | Очередь (демо). Применяется сразу. [Последовательно / Рулетка] |
| Список | Жанры и очередь | В конце демо | cl_demoplayer_music_online_end_mode | В конце (демо). Применяется сразу. [Стоп / Повтор плейлиста / Повтор трека] |
| Список | Жанры и очередь | «Повезёт»: область демо | cl_demoplayer_music_online_lucky_scope | Область «повезёт» (демо). Применяется сразу. [Выбранный жанр / Случайный жанр / Вся музыка] |
| Переключатель | Жанры и очередь | «Повезёт» непрерывно демо | cl_demoplayer_music_online_lucky_continuous | «Повезёт» непрерывно (демо). Применяется сразу. [Нет / Да] |
| Переход | Жанры и очередь | Сбросить... | 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 1 | Сбросить профиль музыки для демок. |
28.3. Кнопки управления музыкой у логотипа
Пока играет вступление, рядом с логотипом главного меню видны небольшие круглые кнопки: заглушить звук вступления и плавно завершить его. Отдельная кнопка заглушает онлайн-музыку. Эти кнопки не меняют сохранённые громкости.
28.4. Музыка никогда не задерживает игру
Загрузка, воспроизведение и затухание музыки не имеют права задерживать загрузку карты, подключение к серверу или выход из игры. Начало загрузки карты плавно завершает вступление, и затухание идёт своим ходом, не удерживая ничего.
Недоступный онлайн-трек не оставляет плеер в тупике: показывается конкретный неоткрывшийся адрес и выполняется ограниченный переход к другому треку.
29. Звук таймеров предметов
Живые таймеры предметов имеют собственный звуковой слой: общий сигнал предупреждения, посекундный отсчёт и отдельный сигнал возрождения предмета. В богатом режиме используются фразы для конкретных предметов.
Все файлы этого слоя необязательны: отсутствующий файл молча пропускается и не ломает игру. Подробности — в руководстве по таймерам предметов.
30. Заключение по звуку выпуска
Звуковой слой Q2PRO-X делится на четыре независимых части, и путать их не стоит:
1. Игровой звук — движок, пространственность, акустика, громкости.
2. Звук AVFX — погода, события и контакты со своими громкостями.
3. Музыка — вступление, онлайн-плеер и классическая игровая музыка.
4. Голосовой чат — отдельная подсистема, описанная в собственном руководстве.
Каждая часть настраивается отдельно и не отменяет остальные.