| 1 | name = "speech" |
| 2 | description = "VoIP-focused: fast envelopes, controlled dynamic range." |
| 3 | |
| 4 | [agc] |
| 5 | enabled = true |
| 6 | target_lufs = -16.0 |
| 7 | attack_ms = 600.0 |
| 8 | release_ms = 200.0 |
| 9 | silence_threshold_lufs = -65.0 |
| 10 | max_boost_db = 20.0 |
| 11 | max_cut_db = 6.0 |
| 12 | |
| 13 | [compressor] |
| 14 | enabled = true |
| 15 | detector = "peak" |
| 16 | threshold_db = -22.0 |
| 17 | ratio = 3.0 |
| 18 | knee_db = 4.0 |
| 19 | attack_ms = 3.0 |
| 20 | release_ms = 50.0 |
| 21 | makeup_db = "auto" |
| 22 | |
| 23 | [limiter] |
| 24 | ceiling_dbtp = -0.3 |
| 25 | lookahead_ms = 2.0 |
| 26 | release_ms = 50.0 |
| 27 | hold_ms = 3.0 |
| 28 | oversample = 4 |
| 29 | link = "stereo" |
| 30 | |
| 31 | # moderate psr cap: control plosives without losing diction |
| 32 | [limiter.soft] |
| 33 | max_psr_db = 10.0 |
| 34 | static_ceiling_dbtp = -8.0 |
| 35 | attack_ms = 2.0 |
| 36 | release_ms = 100.0 |
| 37 | |
| 38 | [meters] |
| 39 | publish_hz = 20.0 |
| 40 | |
| 41 | # mark common voip apps explicitly |
| 42 | [[rules]] |
| 43 | match = { process_binary = ["Discord", "discord", "element-desktop", "Slack", "zoom", "WEBRTC VoiceEngine"] } |
| 44 | route = "processed" |
| 45 | |
| 46 | [default_route] |
| 47 | route = "processed" |