❉Recipe
Old-Radio / PS1 VO Filter
ffmpeg filtergraphBand-limit a clean voiceover into a disembodied old-radio narrator: highpass + lowpass band, light bit-crush, compressor, gain. The per-clip postFX for the choose-path narrator.
7 units use it
What it is
## What it is
An audio filter chain that turns a clean cloned VO into the crackly, mid-bandy, disembodied PS1-era radio narrator. A `highpass`/`lowpass` pair clips the lows and highs to a radio band, `acrusher` adds a faint digital bit-crush, `acompressor` evens the level, and a `volume` boost brings it back up. It is the diegetic-vs-narrator contrast tool: the narrator gets this filter (white captions); a character's own diegetic voice stays bright/unfiltered (yellow captions).
## When to use it
- The disembodied narrator track on a choose-path / interactive-fiction reel.
- Any "voice over a PA / radio / intercom" register.
## Two band presets (pick by feel)
- Fuller broadcast register: `highpass=200, lowpass=4500` (preferred — `300/3000` plus a compressor came out "tinny and noisy" per the choose-your-guide postmortem).
- Narrow telephone register: `highpass=300, lowpass=3100` + `acrusher=bits=10` (the grittier PS1 narrator).
## Hard rule
Do NOT double-compress: if the per-clip chain already has `acompressor`, do not add another global compressor after the `amix` — it pumps. Run one global `loudnorm I=-16` at the end instead.
How to use it standalone
# Per-clip narrator postFX (verbatim from the choose-path compose-template, PS1 narrator variant): ffmpeg -i vo.mp3 -af "highpass=300,lowpass=3100,acrusher=bits=10:mode=log,acompressor=threshold=-20dB:ratio=4,volume=5dB" vo_radio.mp3 # Fuller broadcast variant (preferred per postmortem; no in-clip compressor, compress once globally): ffmpeg -i vo.mp3 -af "highpass=200,lowpass=4500,volume=2dB" vo_radio.mp3 # ...then ONE global pass after amix: # amix -> acompressor(ratio=3,makeup=2dB) -> loudnorm=I=-16:TP=-1.5:LRA=11 -> alimiter=limit=0.9
| Param | Value |
|---|---|
| volume_db | 5 |
| lowpass_ps1 | 3100 |
| highpass_ps1 | 300 |
| acrusher_bits | 10 |
| acompressor_ratio | 4 |
| lowpass_broadcast | 4500 |
| highpass_broadcast | 200 |
| loudnorm_target_lufs | -16 |
Units that use this recipe
7 unitsEvery finished unit with Old-Radio / PS1 VO Filter in its recipe. Open one to see the full ingredient list, or remix straight from a tile.