Voice and language adaptation
Inflect v2 is an open-weight, inference-first release. The public checkpoint is the complete deployable generator, not a resumable training snapshot: it does not contain optimizer state, discriminators, training manifests, or the private corpus-construction pipeline.
This document separates what is technically possible from what is supported.
Current support level
| Task | Status | What that means |
|---|---|---|
| Local inference | Supported | Tested through the packaged Python API and CLI. |
| Continue generator training | Research use | The released generator can initialize a compatible VITS-family training stack. |
| Replace the fixed voice | Research use | Requires a new single-speaker corpus and careful decoder adaptation. |
| Add a selectable second voice | Not supported | The release architecture has no speaker-ID or speaker-embedding interface. |
| Add a language | Not supported | Requires a new frontend, symbol inventory, embeddings, alignments, and data. |
| Zero-shot cloning | Not supported | There is no reference encoder or cloning interface. |
What a compatible adaptation stack needs
The release config describes the deployable generator:
- 24 kHz mono waveform output;
- 16,384-sample training segments;
- English phoneme input with interspersed blanks;
- stochastic latent synthesis and monotonic alignment;
- an integrated waveform decoder.
A separately reconstructed trainer must add the training-only components that are intentionally absent from the release:
- waveform and period discriminators compatible with the decoder;
- optimizer and learning-rate schedule state;
- mel, KL, duration, feature-matching, and adversarial losses;
- data loading, segmentation, and alignment handling;
- validation synthesis and checkpoint export.
Loading model.pth as the generator initialization is reasonable. Treating it
as a complete resumable checkpoint is not.
Data contract
Use a UTF-8 manifest with one verified transcript and one audio path per row. The audio should be:
- mono, consistently sampled, and free of clipping;
- one speaker with stable recording conditions;
- trimmed without cutting consonants or sentence endings;
- diverse in phonemes, punctuation, sentence shape, numbers, and names;
- split into train and held-out evaluation sets before training.
Run transcript verification, duration checks, silence checks, clipping checks, and speaker-consistency checks before training. Voice adaptation quality is usually limited by data coverage and decoder mismatch before it is limited by the number of optimization steps.
Conservative warm-start sequence
This is research guidance, not a guaranteed recipe:
- Load the public generator and freshly initialize training-only components.
- Begin with a low generator learning rate.
- Temporarily freeze most of the waveform decoder while the text and latent paths adapt to the new speaker.
- Unfreeze the decoder gradually and monitor high-frequency buzz, sibilance, identity drift, and intelligibility.
- Export inference-only candidates frequently.
- Select by held-out listening and matched evaluation, not training loss.
Do not publish an adapted voice as equivalent to the release voice without a matched unseen-text evaluation.
Required evaluation
Compare every candidate with the frozen release on identical prompts and seeds:
- semantic WER with more than one ASR evaluator;
- clipping, silence, loudness, and ending diagnostics;
- a learned quality predictor used only as a diagnostic;
- speaker consistency for voice replacement;
- blinded human listening on unseen text.
An adaptation that improves speaker similarity while reducing intelligibility, stability, or audio quality is not a successful adaptation.
Why there is no one-command trainer
A nominal script would be easy to publish; a trustworthy trainer is not. The project will call adaptation supported only after a clean environment can produce a usable checkpoint, export it correctly, and pass the same package and evaluation gates as the release models. Until then, the honest interface is the tested inference package plus the architecture/configuration needed for independent research.