aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 73fef9e2b91c0123649c2f495d38d14236f53e19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Producer

Local speech cleanup and mastering for voice recordings. Noise removal uses
ClearVoice or DeepFilterNet3; speech-aware pause silencing uses Silero VAD.
Filtering, dynamics and loudness normalization use FFmpeg. Audio stays local.

`producer.sh` bootstraps its own managed Python environments and downloads
dependencies and models automatically.

## Requirements

- glibc >= 2.28 for AI denoising and speech detection
- `uv` (or Python 3)
- NVidia driver and toolkit (optional)

## Usage

```bash
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

```bash
./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](LICENSE).

Upstream components (ClearVoice, DeepFilterNet, Silero VAD, ONNX Runtime,
PyTorch, FFmpeg, uv) carry their own licenses.