aboutsummaryrefslogtreecommitdiff

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.