ferraus enhance
Essential-Sound-style one-knob chain for dialogue, music, SFX, or ambience
Synopsis
ferraus enhance <input> [options] [-o <output>]
What it does
Runs a chain chosen by --preset (dialogue, music, sfx, ambience; dialogue when omitted). Repair removes mains hum when it is clearly present, clicks, and (for dialogue) hiss. Clarity applies the preset's tonal and dynamic shaping (for dialogue: rumble filter, de-plosive, compression, de-essing, presence). --reverb adds the reverb command at that wet level. Loudness then sets the integrated loudness (BS.1770) to the preset's target (dialogue -16, music -14, sfx -18, ambience -23 LUFS) or the value you give, with the limit command catching peaks above -1 dBTP. The presets are ordinary presets: any flag overrides them.
This command is also an fx stage and a pipeline op: ferraus fx in.wav -o out.wav --fx "enhance:key=value".
Examples
Repair, clarify, and level dialogue to -16 LUFS
ferraus enhance interview.wav -o clean.wav
Polish and level a music track
ferraus enhance song.wav --preset music --loudness -14LUFS --repair off -o master.wav
Low cut and mid scoop for room tone, levelled to -23 LUFS
ferraus enhance room_tone.wav --preset ambience -o room.wav
Dialogue at -19 LUFS (a common mono podcast target) with a little room added
ferraus enhance vo.wav --preset dialogue --reverb 10% --loudness -19LUFS -o vo.mono-podcast.wav
Options
| Flag | Type | Default | Meaning |
|---|---|---|---|
--material | dialogue | music | sfx | ambience | dialogue | Kind of material (normally set through --preset) |
--loudness | text | auto | Target integrated loudness (-16LUFS), 'auto' for the preset's target, or 'off' |
--repair | on|off | on | Remove hum, clicks, and hiss (on|off) |
--clarity | on|off | on | Tonal and dynamic shaping (on|off) |
--reverb | percent | 0% | Creative reverb wet level in percent (0% = none) |
--mix | percent | 100% | Dry/wet balance: 0% returns the input unchanged, 100% is fully processed |
--preset | text | — | Load a named preset (built-in or user); explicit flags override its values |
Presets
dialogue: Speech: hum/click/hiss repair, voice clarity, -16 LUFS (material=dialogue)music: Music: click repair, gentle glue and air, -14 LUFS (material=music)sfx: Sound effects: click repair, light compression, -18 LUFS (material=sfx)ambience: Ambience and room tone: low cut, mid scoop, -23 LUFS (material=ambience)
Global options
Every command also accepts the global options (-o, --json, --dry-run, --overwrite, --progress, ...). See Global options.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Processing failed |
| 2 | Usage or parameter error |
| 3 | Input missing or unreadable |
| 4 | Unsupported format or codec |
| 8 | Cancelled |
| 70 | Internal error (bug) |
Common mistakes
- Forgetting that outputs are never overwritten: pass
--overwriteor a new-opath when re-running. - Percentages accept
80%or the fraction0.8; a bare80means 80x, not 80%.
For models
- MCP tool:
ferraus_enhance - Schema:
ferraus schema enhance - Pipeline:
{ op: enhance, args: { ... } }(flag names with_instead of-) - fx stage: yes
{"command": "enhance", "defaults": {"material": "dialogue", "loudness": "auto", "repair": "on", "clarity": "on", "reverb": "0%", "mix": "100%"}}