Producer

Local speech cleanup and mastering for voice recordings. Noise removal, speech-aware pause silencing, filtering, dynamics, and loudness normalization
Requirements
- glibc >= 2.28 for AI denoising and speech detection
uv(or Python 3)- NVidia driver and toolkit (optional)
Usage
git clone https://git.historia.vg/git/producer
./producer.sh setup --denoiser clearvoice
./producer.sh recording.wav
First run installs the runtime into lib/runtime/
The master WAV is mono, 32-bit PCM. Loudness is normalized to -19 LUFS with a -1.5 dBTP true-peak ceiling. In config.toml you can edit the sample rate (48/44.1 kHz), MP3 bitrate, loudness, etc.
Examples
# Optional MP3 alongside the WAV
./producer.sh recording.wav --mp3
# Other sound profiles
./producer.sh recording.wav --profile narrator
./producer.sh recording.wav --profile radio
# Process several files at once
./producer.sh take1.wav take2.wav --mp3
# LibriVox-style delivery file: 44.1 kHz, 128 kbps CBR, -19 LUFS
./producer.sh recording.wav \
--sample-rate 44100 --mp3 --mp3-bitrate 128 \
--target-lufs -19 --true-peak-db -1.5
Edit default settings in config.toml
Optional local browser GUI
./producer.sh gui [--port 8766]
Servers a local web page on 127.0.0.1 where you pick a WAV, tune settings, render an A/B
comparison, and export.
Profiles
| Profile | Sound |
|---|---|
natural |
Mild EQ, 2:1 compression, light de-essing (default) |
narrator |
Gentler compression, slower attack, wider loudness range |
radio |
Stronger compression, more warmth/presence, tighter range |
cleanup-only |
Denoise + highpass only; no EQ, dynamics or normalization |
License
0BSD
Upstream components (ClearVoice, DeepFilterNet, Silero VAD, ONNX Runtime, PyTorch, FFmpeg, uv) carry their own licenses.
