Clara โ€” a clean, professional narrator in 9M parameters

Clara is the broadcast-polish voice of the ScrappyLabs voice family: clear, neutral American, warm underneath, the kind of read you'd put on a product walkthrough or a training module and not think about again.

She is 9.36M parameters / 37MB fp32, 24kHz, and runs 10โ€“14ร— faster than real time on a plain desktop CPU โ€” no GPU, no cloud, no network round trip. She's a fine-tune of owensong/Inflect-Micro-v2 (Apache-2.0), using the training stack we had to reconstruct for scrappy-voice-1.

Listen: samples/clara_intro.wav โ€” Clara introduces herself (rendered on a desktop CPU by this exact checkpoint).

The family

Clara is one of four voices, each shipped two ways โ€” as a standalone solo model like this one, and as a speaker inside a single shared multi-speaker checkpoint.

Voice Character Solo model
Scrappy warm, expressive narrator (the original) scrappy-voice-1
Clara clear professional female, broadcast polish this repo
Silas deep, gravelly, slow, movie-trailer gravitas silas-voice-1
Pip bright, quick, playful podcast-host energy pip-voice-1

All four in one file: scrappy-voice-family-1 โ€” same 41MB footprint, four voices, plus blending between them. Take the family model if you want more than one voice; take this repo if you only want Clara and prefer a single-purpose file.

๐ŸŽฎ Try all four voices โ€” and blend between them: interactive demo on Spaces โ€” the Space was built and gifted to us by the Hugging Face team. Thanks, HF ๐Ÿค—

How Clara was made

The same three-step recipe as the rest of the family, no shortcuts and no hand-annotated data:

  1. A teacher renders the corpus. Clara did not exist before this โ€” she was described, not recorded. A voice-design model running on our own hardware turned one sentence, "A clear, professional female narrator around thirty. Neutral American accent, broadcast polish, perfectly even pacing, with a warm undertone.", into a speaking voice, and that voice then read 4,400 short clips (5.5h @ 24kHz) from a text corpus we control โ€” so every transcript is known by construction, not transcribed after the fact.
  2. An ASR gate cleans it. Every clip is round-tripped through speech recognition and scored against its own transcript; anything under 0.85 word overlap is thrown away, with signal checks (clipping, silence, duration) running alongside. 99.4% of Clara's clips survived. This is the step people skip, and it's the only one that catches audio that says the wrong thing beautifully.
  3. Warm-start fine-tune. The generator initializes from an existing Inflect-Micro-v2 checkpoint; the posterior encoder and discriminator start fresh. Decoder frozen for the first 3k steps, LR 1e-4 โ†’ 5e-6 over 50,000 steps, batch 24, fp32, on a single RTX PRO 6000 Blackwell. Final mel loss 19.4.

Measured intelligibility. On held-out self-introduction text, ASR word overlap against the target script is 1.00 for this solo checkpoint. That's a legibility floor, not a beauty score โ€” it says the words come out as written, nothing about how the prosody feels. Use your ears for the second part.

Usage

Drop-in for the packaged runtime โ€” identical to upstream:

from inference import InflectTTS

tts = InflectTTS(model_dir=".", device="cpu")
tts.save("Hello, I'm Clara. I run entirely on your own machine.", "out.wav", seed=7)
python inference.py --model-dir . --device cpu \
  --text "Nothing leaves your computer, and nothing waits on a network." \
  --output out.wav

Carried over from upstream: English only, single voice, deterministic seeds, punctuation-aware long-form chunking, speed 0.5โ€“2.0, variation 0.0โ€“1.0. Write numbers out as words for best results.

Fine-tune your own voice (trainer/)

trainer/ ships the training stack the upstream release deliberately omits โ€” prep_filelists.py (phonemization + symbol validation against the release inventory), train_ft.py (VITS losses, torchaudio mel transforms, warm-start loading, decoder freeze schedule, candidate export every N steps), and eval_candidate.py (fixed-prompt renders for A/B listening). You also need the cython monotonic-alignment kernel from the canonical VITS repo โ€” the release stubs it out. Data contract: mono 24kHz clips, one speaker, verified transcripts, 1โ€“5+ hours. Gate your corpus with ASR round-trips.

Honest limitations

  • Prosody is where distillation loses the most. Timbre and identity transfer well; the teacher's long-range timing instincts โ€” dramatic pauses, phrase-level planning โ€” get averaged out. The duration predictor is the smallest organ in a VITS. Expect a flatter, more even read than the source voice. For Clara that's less of a tax than it is for the more theatrical voices in the family; "even and unbothered" is most of the job description.
  • Slight texture softness versus a large vocoder is still audible at close listening.
  • English only. The frontend is espeak-ng-based and the corpus is neutral American English.
  • 9.36M parameters is small. It buys you CPU real-time and a 37MB file; it does not buy you a 500M-parameter model's expressive range. That trade is the entire point.
  • Don't use this to imitate a real person without their consent. The trainer here will happily learn any voice you feed it. That's on you, not the license.

Provenance & takedown

The training audio was synthesized by a voice-design model from a written description โ€” a synthetic persona that never existed until we described it. No real person's voice was cloned. If you're a rights holder with a concern, open a discussion on this repo and we'll respond promptly.

Credits

  • owensong/Inflect-Micro-v2 โ€” base model, runtime, and an unusually honest set of docs (Apache-2.0)
  • VITS (MIT) โ€” architecture lineage + alignment kernel
  • The Hugging Face team, who built and gifted the first demo Space for this family on free ZeroGPU ๐Ÿค—
  • Built by ScrappyLabs. Bring your own AI; we keep it wrangled.

Trained with: scrappylabsai/inflect-trainer โ€” the fine-tuning stack (single-voice, multi-speaker, and the corpus QC gate), open source.

Downloads last month
24
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for scrappylabsai/clara-voice-1

Finetuned
(5)
this model