75 lines
2 KiB
TOML
75 lines
2 KiB
TOML
name = "gaming"
|
|
description = "Latency-first: games bypass the bus, voice chat is processed, notifications tamed per-app."
|
|
|
|
# DSP settings here govern the COMMS path (voice chat), which is the
|
|
# only thing routed through the bus. Speech-like leveling so teammates
|
|
# sit at a consistent, intelligible level.
|
|
[agc]
|
|
enabled = true
|
|
target_lufs = -16.0
|
|
attack_ms = 600.0
|
|
release_ms = 200.0
|
|
silence_threshold_lufs = -65.0
|
|
max_boost_db = 20.0
|
|
max_cut_db = 6.0
|
|
|
|
[compressor]
|
|
enabled = true
|
|
detector = "peak"
|
|
threshold_db = -22.0
|
|
ratio = 3.0
|
|
knee_db = 4.0
|
|
attack_ms = 3.0
|
|
release_ms = 50.0
|
|
makeup_db = "auto"
|
|
|
|
[limiter]
|
|
ceiling_dbtp = -0.3
|
|
lookahead_ms = 2.0
|
|
release_ms = 50.0
|
|
hold_ms = 3.0
|
|
oversample = 4
|
|
link = "stereo"
|
|
|
|
[limiter.soft]
|
|
max_psr_db = 10.0
|
|
static_ceiling_dbtp = -8.0
|
|
attack_ms = 2.0
|
|
release_ms = 100.0
|
|
|
|
[meters]
|
|
publish_hz = 20.0
|
|
|
|
# Voice chat goes THROUGH the processor.
|
|
[[rules]]
|
|
match = { process_binary = ["Discord", "discord", "element-desktop", "Slack", "zoom", "WEBRTC VoiceEngine", "mumble", "TeamSpeak"] }
|
|
route = "processed"
|
|
|
|
# Everything unmatched — crucially, the game itself — routes straight
|
|
# to the real sink for zero added latency.
|
|
[default_route]
|
|
route = "bypass"
|
|
|
|
# ----------------------------------------------------------------------
|
|
# Layer A does the work the bus can't: it tames Discord notification
|
|
# blasts and evens out chat volume via channelVolumes, with ZERO
|
|
# signal-path latency — so it can ride on top of the bypass-routed
|
|
# comms/game audio without touching the latency-critical path.
|
|
# ----------------------------------------------------------------------
|
|
[per_app]
|
|
enabled = true
|
|
default_enabled = false
|
|
|
|
[[per_app.rules]]
|
|
match = { process_binary = ["Discord", "discord", "element-desktop", "Slack", "zoom", "mumble", "TeamSpeak"] }
|
|
enabled = true
|
|
peak_threshold_db = -6.0
|
|
rms_target_db = -18.0
|
|
max_cut_db = 12.0
|
|
peak_attack_ms = 5.0
|
|
peak_release_ms = 400.0
|
|
|
|
# Never level the game or music — they own their mix.
|
|
[[per_app.rules]]
|
|
match = { process_binary = ["spotify", "mpv", "vlc"] }
|
|
enabled = false
|