| 1 | name = "broadcast-14" |
| 2 | description = "Normalizes everything to -14 LUFS (streaming-platform loudness) so all sources match." |
| 3 | |
| 4 | # -14 lufs = streaming-platform normalized target; everything sits at one loudness |
| 5 | [agc] |
| 6 | enabled = true |
| 7 | target_lufs = -14.0 |
| 8 | attack_ms = 2500.0 |
| 9 | release_ms = 1000.0 |
| 10 | silence_threshold_lufs = -70.0 |
| 11 | max_boost_db = 12.0 |
| 12 | max_cut_db = 12.0 |
| 13 | |
| 14 | # light rms glue to hold the target |
| 15 | [compressor] |
| 16 | enabled = true |
| 17 | detector = "rms" |
| 18 | threshold_db = -22.0 |
| 19 | ratio = 2.0 |
| 20 | knee_db = 8.0 |
| 21 | attack_ms = 20.0 |
| 22 | release_ms = 250.0 |
| 23 | makeup_db = "auto" |
| 24 | rms_window_ms = 100.0 |
| 25 | |
| 26 | # -1 dBTP ceiling (ebu r128 / streaming convention) |
| 27 | [limiter] |
| 28 | ceiling_dbtp = -1.0 |
| 29 | lookahead_ms = 3.0 |
| 30 | release_ms = 100.0 |
| 31 | hold_ms = 5.0 |
| 32 | oversample = 4 |
| 33 | link = "stereo" |
| 34 | |
| 35 | [limiter.soft] |
| 36 | max_psr_db = 16.0 |
| 37 | static_ceiling_dbtp = -6.0 |
| 38 | attack_ms = 6.0 |
| 39 | release_ms = 200.0 |
| 40 | |
| 41 | [meters] |
| 42 | publish_hz = 20.0 |
| 43 | |
| 44 | [[rules]] |
| 45 | match = { process_binary = ["ardour", "reaper", "qpwgraph", "carla", "bitwig-studio"] } |
| 46 | route = "bypass" |
| 47 | |
| 48 | [default_route] |
| 49 | route = "processed" |