| 1 | name = "movie" |
| 2 | description = "Wide-dynamic-range film: lifts quiet dialogue, keeps action punchy but bounded." |
| 3 | |
| 4 | # slow agc toward film reference; asymmetric — boost dialogue more than cut action |
| 5 | [agc] |
| 6 | enabled = true |
| 7 | target_lufs = -20.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 = 8.0 |
| 13 | |
| 14 | # soft-knee rms: lifts dialogue floor, leveling not crushing |
| 15 | [compressor] |
| 16 | enabled = true |
| 17 | detector = "rms" |
| 18 | threshold_db = -28.0 |
| 19 | ratio = 2.0 |
| 20 | knee_db = 8.0 |
| 21 | attack_ms = 15.0 |
| 22 | release_ms = 250.0 |
| 23 | makeup_db = "auto" |
| 24 | rms_window_ms = 50.0 |
| 25 | |
| 26 | [limiter] |
| 27 | ceiling_dbtp = -1.0 |
| 28 | lookahead_ms = 3.0 |
| 29 | release_ms = 120.0 |
| 30 | hold_ms = 5.0 |
| 31 | oversample = 4 |
| 32 | link = "stereo" |
| 33 | |
| 34 | # generous psr cap: explosions punch through, just bounded |
| 35 | [limiter.soft] |
| 36 | max_psr_db = 18.0 |
| 37 | static_ceiling_dbtp = -6.0 |
| 38 | attack_ms = 8.0 |
| 39 | release_ms = 250.0 |
| 40 | |
| 41 | [meters] |
| 42 | publish_hz = 20.0 |
| 43 | |
| 44 | # video players + browser video processed here (default/night bypass them). daws bypass |
| 45 | [[rules]] |
| 46 | match = { process_binary = ["ardour", "reaper", "qpwgraph", "carla", "bitwig-studio"] } |
| 47 | route = "bypass" |
| 48 | |
| 49 | [[rules]] |
| 50 | match = { process_binary = ["mpv", "vlc", "firefox", "chromium", "google-chrome"] } |
| 51 | route = "processed" |
| 52 | |
| 53 | [[rules]] |
| 54 | match = { media_role = ["Movie", "Video"] } |
| 55 | route = "processed" |
| 56 | |
| 57 | [default_route] |
| 58 | route = "processed" |