Pip — the bright one. 9M params, CPU only.
Pip is the fast, upbeat voice in the ScrappyLabs voice family: a young American female read with podcast-host energy and crisp diction, in 9.36M parameters / 37MB (fp32) at 24kHz, running 10–14× faster than real-time on a plain desktop CPU — no GPU, no cloud, no network. It's a fine-tune of owensong/Inflect-Micro-v2 (Apache-2.0).
Listen: samples/pip_intro.wav — Pip introduces herself
(generated on a desktop CPU by this exact checkpoint).
Where she sits in the family: scrappy (warm expressive narrator) · clara (clear professional broadcast) · silas (deep, slow, trailer gravitas) · pip (this one) · the family model — all four voices in one 41MB checkpoint, selectable by name, with blending between them.
🎮 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 🤗
What it is
One voice, one checkpoint, drop-in compatible with the upstream Inflect-Micro-v2 runtime. If you want a single always-on voice with nothing to configure, take this. If you want all four voices (and morphs between them) out of one file, take the family model instead — it's the same size and the same speed.
How it was made
- A teacher renders the corpus. Pip did not exist before this — she was described, not recorded. A voice-design model running on our own hardware turned one sentence, "A bright, energetic young American female voice, quick and playful, podcast-host energy, crisp diction.", 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.
- An ASR gate cleans it. Every clip is round-tripped through speech recognition and scored against its transcript (≥0.85 word overlap), with signal checks (clipping, silence, duration) alongside. Pip's corpus passed at 98.5% — the strictest cut of the four, which is what you'd expect from the fastest, most clipped delivery.
- Warm-start fine-tune. Warm-started rather than trained from scratch; decoder frozen for the first 3k steps, LR 1e-4 → 5e-6, batch 24, fp32, 50,000 steps on one RTX PRO 6000 Blackwell. Final mel loss 21.0.
Honest number, freely given: 21.0 is the highest final mel loss of the three new solo voices (clara 19.4, silas 18.1). Fast, bright, high-variance delivery is simply harder to fit than a slow one. The four-voice family model reached 18.4–18.9 training on all the voices pooled — level with the best solo run rather than worse for the sharing — and Pip scored a perfect 1.00 ASR word-overlap on held-out intro material there. If you care most about intelligibility, the family checkpoint is the stronger Pip.
Usage
Identical to upstream — a drop-in checkpoint for the packaged runtime:
from inference import InflectTTS
tts = InflectTTS(model_dir=".", device="cpu")
tts.save("Hey there, I'm Pip. Quick, bright, and ready to go.", "out.wav", seed=7)
python inference.py --model-dir . --device cpu --text "Hello from Pip." --output out.wav
Notes 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.
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. The duration predictor is the smallest organ in a VITS. For Pip specifically, the energy survives better than the timing of the energy — expect a slightly more even read than the source.
- Slight texture softness vs. a large vocoder remains at close listening.
- English only. The frontend is espeak-ng-based; it also mispronounces uncommon proper nouns. If a name comes out wrong, respell it phonetically in the synthesis input.
- 9.36M parameters is genuinely small. This is a good voice for narration, UI speech, and embedded/offline work — not a singing model, not an emotion-control model.
- Do not use this stack to clone a real person's voice without their explicit consent.
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 🤗
- 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.