Takes the guesswork out of corrective processing. Point it at a file, it runs problem detection under the hood, then applies targeted EQ cuts, high-pass filters, and de-essing to fix what it finds. The original file stays untouched.
Requires the phantom-audio[processing] extra. Install with: pip install phantom-audio[processing]
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| file_path | string | required | Path to audio file to fix |
| problems | list[string] | null (auto-detect) | Specific problems to fix: "hum", "sibilance", "mud", "clipping", "harshness", "dc_offset". If omitted, runs detect_problems first and fixes everything found. |
| output_path | string | null (auto-named) | Where to write the fixed file. Defaults to input filename with _fixed suffix. |
Example Output
fix_audio
What It Fixes
| Problem | How it fixes it |
|---|---|
| 60 Hz hum | High-pass filter tuned to the hum frequency |
| Sibilance | Dynamic EQ (de-esser) in the 4-10 kHz range |
| Mud | Parametric EQ cut in the 200-400 Hz region |
| DC offset | DC blocking filter |
| Harshness | Gentle EQ dip in the 2-5 kHz presence range |
| Clipping | Soft-knee limiter to catch transient peaks |
When to Use It
Run this after detect_problems flags issues in your stems. It’s most useful during the early stages of mixing when you want to clean up recordings before making creative decisions. Think of it as a cleanup pass, not a replacement for intentional EQ choices.
Pro tip
You can target specific problems if you only want to fix some of them. For example, “fix the hum
in bass.wav but leave the sibilance alone” will pass problems: ["hum"] and skip the de-esser.
Typical Prompts
- “Fix all the problems in vocals.wav”
- “Remove the 60 Hz hum from bass.wav”
- “De-ess the vocal and save it as vocals_clean.wav”
- “Run problem detection on all stems and auto-fix everything”