| --- |
| license: mit |
| library_name: pytorch |
| tags: |
| - speech-editing |
| - speech-synthesis |
| - text-to-speech |
| --- |
| |
| # wavepainter |
|
|
| Released checkpoints for [wavepainter](https://github.com/pujariaditya/wavepainter), |
| a masked-span speech editor. |
|
|
| `phase2-hubert-child` is the released model and the artifact of record: phase two |
| as trained, and the checkpoint every number in the paper comes from. On the |
| English `full` split of Ming-Freeform-Audio-Edit, against Ren et al. |
| ([arXiv:2602.00560](https://arxiv.org/abs/2602.00560), the row with GRPO), scored |
| with oracle edit spans taken from the transcript diff: |
|
|
| | edit type | metric | Ren et al. | wavepainter | |
| |---|---|---|---| |
| | substitution | WER | 4.41 | **3.479** | |
| | insertion | WER | 4.97 | **4.400** | |
| | deletion | WER | **6.88** | 9.697 | |
| | substitution | SIM | 0.78 | **0.943** | |
| | insertion | SIM | 0.82 | **0.961** | |
| | deletion | SIM | 0.78 | **0.918** | |
|
|
| Five of the six compared numbers improve on theirs: substitution and insertion |
| WER, and speaker similarity on all three edit types. We do not beat them on |
| deletion WER -- see the repository's Limitations, which also locates most of that |
| gap with a ground-truth waveform splice. |
|
|
| Signal quality is reported full-reference, since a no-reference MOS estimator |
| rates the untouched original recordings below synthesised output on this |
| benchmark. Over the audio the edit does not touch, PESQ is 4.090 / 4.083 / 4.079 |
| for substitution / insertion / deletion, against 4.351 for copy-synthesis with no |
| edit at all. |
|
|
| ### The interpolated variants |
|
|
| Two earlier releases interpolate the phase-two child back toward the phase-1 base, |
| which moves the diffusion denoiser only. They are published because the paper's |
| first version reported them and anyone who fetched them should keep working; the |
| paper no longer reports either. |
|
|
| | | substitution | insertion | deletion | |
| |---|---|---|---| |
| | `phase2-hubert-child` (released) | 3.479 | 4.400 | 9.697 | |
| | `phase2-hubert-a085` | 3.063 | 4.128 | 9.136 | |
| | `phase2-hubert-a070` | 3.381 | 3.817 | 9.525 | |
|
|
| WER, lower is better. Nothing is bolded because the released checkpoint is not |
| the best row: interpolating toward the phase-1 base improves every WER column, |
| a=0.85 most on substitution and deletion and a=0.70 on insertion. We publish the |
| child as the artifact of record anyway, because it is the model phase two |
| produced and the coefficient was chosen by looking at these scores. The |
| coefficient also has no single optimum across edit types, which is why both |
| variants are kept rather than one being presented as strictly better. Speaker |
| similarity is 0.943 / 0.961 / 0.918 for all three except insertion at a=0.70, |
| which is 0.960. |
|
|
| ## Files |
|
|
| - `phase1-base/` -- the phase-1 editor. Start here to re-run phase 2 (~1 GPU-hour). |
| - `phase2-hubert-child/` -- the released model, and the artifact of record. |
| - `phase2-hubert-a085/` -- an earlier release, interpolated at 0.85. |
| - `phase2-hubert-a070/` -- the same, at 0.70. |
|
|
| ## Use |
|
|
| ```bash |
| git clone https://github.com/pujariaditya/wavepainter && cd wavepainter |
| pip install -e . && ./setup.sh |
| python scripts/download_weights.py |
| ./scripts/verify_benchmark.sh |
| ``` |
|
|
| Checkpoints are sha256-pinned in `scripts/download_weights.py`. Licence and |
| attribution, including for the components these weights derive from, are in the |
| repository's `ATTRIBUTION.md`. |
|
|