aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md24
1 files changed, 13 insertions, 11 deletions
diff --git a/README.md b/README.md
index d3c5b6b..a5aebaa 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,12 @@ One-click audio file mastering. Give it a raw recording; it denoises, enhances,
```bash ./producer <filename>.wav ```
+## Requirements
+
+- curl
+- ffmpeg
+- NVidia GPU (optional)
+
## The sound
The default `audiobook` profile targets a close-narration master: high-pass at 80 Hz, a gentle mud cut, low-shelf warmth, serial compression (2:1 then 3:1), de-essing, restrained presence/air, breath ducking, then normalization to RMS -20 dB with a -3 dB true-peak ceiling.
@@ -14,31 +20,27 @@ The default `audiobook` profile targets a close-narration master: high-pass at 8
| Stage | Choices | Notes |
| ----------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `--denoise` | `dfn3` (default), `zipenhancer`, `off` | [DeepFilterNet3](https://github.com/Rikorose/DeepFilterNet): 48 kHz full-band, faithful, fast on CPU, CUDA optional. [ZipEnhancer](https://github.com/gyj1201/zipEnhancer) (ICASSP 2025 SOTA, PESQ 3.69): 16 kHz native, bandwidth is restored after, slightly softer highs. |
+| `--denoise` | `dfn3` (default), `zipenhancer`, `spectral`, `off` | [DeepFilterNet3](https://github.com/Rikorose/DeepFilterNet): 48 kHz full-band, faithful, fast on CPU, CUDA optional. [ZipEnhancer](https://github.com/gyj1201/zipEnhancer) (ICASSP 2025 SOTA, PESQ 3.69): 16 kHz native, bandwidth is restored after, slightly softer highs. `spectral`: pure-DSP decision-directed Wiener gate over a **file-global noise profile** (measured from the whole file's quiet frames) — deep ~20-35 dB suppression of steady noise and tape hiss in sentence gaps, deterministic, no model download, zero gain wobble. Strength defaults to 0.9: the small dry blend flattens residual denoiser gain wobble; use `--denoise-strength 1.0` for maximum suppression. |
| `--enhance` | `off` (default), `mossformer2`, `resemble` | [MossFormer2_SE_48K](https://github.com/modelscope/ClearerVoice-Studio) (ClearVoice): full-band studio restoration, GPU-strong. [Resemble Enhance](https://github.com/resemble-ai/resemble-enhance): generative restoration for badly damaged audio, runs in an isolated venv; can alter voice timbre, so it is opt-in. |
-Engine dependencies (torch ~2.5 GB on CUDA, model weights ~8 MB) are installed lazily on first use into `lib/` (`lib/models`, `lib/venvs`). Prefer `--denoise off` for pure-DSP masters with zero heavy downloads.
+Engine dependencies (torch ~2.5 GB on CUDA, model weights ~8 MB) are installed lazily on first use into `lib/` (`lib/models`, `lib/venvs`); zipenhancer additionally pulls modelscope plus any helpers its import chain needs at first use. Prefer `--denoise spectral` or `--denoise off` for zero heavy downloads. The DeepFilterNet post filter (`--denoise-pf`, or `pf = true` under `[denoise]` in `config.toml`) adds extra noise reduction but can eat soft speech on clean recordings, so it is off by default.
## Usage
```bash
./producer in.wav [-o out.wav] [--profile audiobook|podcast|radio]
- [--denoise dfn3|zipenhancer|off] [--denoise-strength 0-1] [--enhance off|mossformer2|resemble]
+ [--denoise dfn3|zipenhancer|spectral|off] [--denoise-strength 0-1] [--denoise-pf] [--enhance off|mossformer2|resemble]
[--enhance-strength 0-1] [--no-dsp] [--no-levelling] [--hpf-hz N] [--mud N] [--warmth N]
[--soothe N] [--compress N] [--tape N] [--deess N] [--presence N] [--air N] [--breath N]
[--target N] [--ceiling N] [--format wav|flac|mp3] [--sample-rateN] [--bit-depth 16|24|32]
- [--device auto|cuda|cpu] [--batch] [--report] [--dry-run] [-v]
+ [--device auto|cuda|cpu] [--engine-chunk SEC] [--engine-overlap SEC]
+ [--batch] [--report] [--dry-run] [-v]
```
-Batch: `./producer --batch takes/ -o masters/` expands a directory (or glob) and processes each file. Reports: `--report` writes `<output>.report.json` with before/after RMS, true peak, LUFS, noise floor, and per-stage timings.
-Persistent settings go in `config.toml`
+## Troubleshooting
-## Requirements
-
-- curl
-- ffmpeg
-- NVidia GPU (optional)
+If the gain wobbles, it's likely the denoiser. Try `--denoise-strength 0.5` or `--denoise zipenhancer`.
## License