Inflect Micro v3 Preview

Experimental preview, not production-ready. Six fixed English voices, 24 kHz mono audio, approximately 9.587M inference parameters and 38.39 MB float32 speech weights. Frontend/runtime/dependency sizes are additional. This is the preserved 100,000-update checkpoint, not a newly trained final release.

Inflect v3 Preview collection contains the Micro, Nano, and Mini previews. Atom is not part of this release.

Join The Inflect Discord

Join the Inflect community on Discord to follow development, hear about future releases, share listening feedback, and discuss integrations. If you want to help shape what comes next, this is the place to join.

Found a clipped word, strange pitch, or a pronunciation failure? Share the exact text, model, voice, seed/settings and a short generated clip. Those concrete examples are more useful than an aggregate score. Please do not post API keys or private recordings.

Listen First

Six different examples cover conversational turns, narration and practical messages. The same texts are used across Micro, Nano and Mini so you can compare them. These are illustrative preview demos, not benchmark or human-MOS results. The delivery is generated by the unchanged preview: pitch/timing, word-boundary and synthetic-timbre problems can still be audible.

Each example is a single predetermined render at the native settings, not the best of a seed sweep. Complete audio is kept without cleanup, trimming, gain adjustment or repair. The labels describe the text, not trained emotion/style controls. Settings, all attempts and hashes are in demos/manifest.json.

Hope / Conversation: clarification

Wait, did you mean tomorrow morning? I thought we were meeting tonight. Let me check the message again.

Full WAV | 6.0 seconds

Cassidy / Short narration

The rain had finally stopped. She opened the window, took a deep breath, and listened to the city waking up.

Full WAV | 6.3 seconds

Mark / Application message

The update is ready to install. Save your work first, then restart the application when you have a moment.

Full WAV | 6.2 seconds

Listen to James, Jasper and Sophia

James / Conversational reassurance

I know that was frustrating. We can take this one step at a time, and I'll help you work through it.

Full WAV | 6.2 seconds

Jasper / Everyday instructions

The train leaves in fifteen minutes. If we take the next bus, we should still reach the station on time.

Full WAV | 6.2 seconds

Sophia / Longer sentence and pauses

Before you send it, check the name, the address, and the final paragraph. A small correction now could save some trouble later.

Full WAV | 8.1 seconds

Preview Status: Please Read

This is a quiet research preview, not the finished Inflect v3 release. No promotional launch is planned for this preview. If you found it through the profile or collection, you are welcome to try it and report failures, but it is not recommended for production, safety-critical tasks, or major deployments. The checkpoint is being preserved as-is while a stronger successor is explored; there is no promise of a successor's quality, release date, or API compatibility.

Known issues include unstable pitch/prosody, occasional clipped or weak word boundaries, pronunciation errors, synthetic/buzzy timbre, and inconsistent quality across voices. Low ASR WER or high predicted MOS does not prove these issues are absent. Some spoken words remain recognizable to ASR despite sounding poor to a person. Listen to the audio rather than judging from a score alone.

English only; six fixed voices. No voice cloning, reference audio, guaranteed streaming, emotion control, or paralinguistic tags are provided. Tags such as [laugh] are not supported and may be normalized or spoken incorrectly.

Usage

Use Python 3.11 or newer; packaging and demo checks used Python 3.12. Install PyTorch appropriate for your CPU or CUDA device, then install requirements.txt in a virtual environment. The package has a native Python/PyTorch runtime; it is not an ONNX/WebGPU release.

pip install -r requirements.txt
python inference.py --text "Please leave the side entrance unlocked until the delivery arrives." --voice hope --output hope.wav

The CLI defaults to CPU. For a supported CUDA installation use --device cuda. Voice names: mark, cassidy, james, jasper, hope, sophia (IDs 0..5). --seed 0, --variation 0.667, and --speed 1 are the defaults.

from inference import InflectTTS
tts = InflectTTS(device="cpu")
tts.save("Could you leave a message after the tone?", "message.wav", voice="cassidy", seed=0)

Run from the downloaded repository, or put it on your Python import path. For downloading, use huggingface_hub.snapshot_download as shown below. This is not a Transformers pipeline and does not require trust_remote_code=True.

Prefer one short sentence per call. The wrapper rejects over 512 blank-interleaved phoneme tokens or predicted durations above 2,400 frames (25.6 seconds at speed 1); it never silently crops a long waveform. Split long passages yourself. It adds no normalization gain, EQ, denoising, or edge fades. Output is mono 24 kHz FLOAT WAV. Such safety checks do not fix learned missing syllables, pitch instability, or word-boundary defects.

variation controls latent sampling, not background hiss or an emotion tag. The duration predictor is deterministic (use_sdp=false), so the retained native API's noise_scale_w=0.8 is inactive. Lower variation is not guaranteed to improve speech. No settings sweep was used to select the public defaults.

Architecture And Provenance

Compact multi-speaker VITS-derived synthesis: phoneme encoder, deterministic duration predictor, normalizing flow, speaker embedding, and integrated waveform generator. Native Inflect English text normalization feeds stress- marked eSpeak en-us phonemes, preserving punctuation. No Kokoro, Fish Audio, or other paid API is called at inference time.

The training lineage uses the project's six-voice synthetic speech corpus, including Fish Audio-generated speech. The maintainer reports permission for the training and release use. This repository publishes model weights and inference assets, not the underlying paid-source dataset or a complete training reproduction. Do not infer exact effective training hours from the corpus's total inventory: sampling, filtering, and support differed across experiments.

Float32 weights are exported losslessly to model.safetensors. Optimizer, discriminator, and training-only posterior encoder (enc_q) are omitted. No quantization or new training was performed for publication; weight normalization is retained. manifest.json records the original checkpoint/config hashes and runtime file hashes. PACKAGING_QA.json documents exact native CPU waveform parity for all six voices; this is a packaging test, not a human-quality study.

Evaluation Caveats

Both UTMOS versions are learned quality proxies, not listening-test MOS. ASR-based WER depends on recognizer and text normalization. Different panels, voices, scorer versions, and inference settings must not be combined into one leaderboard. Zero sample-amplitude clipping does not mean zero clipped words. Fresh authored prompts do not establish absence from all upstream training corpora. There is no quantified public human-preference result or matched hardware-speed ranking for this preview.

License And Attribution

Original Inflect work and released weights: Apache-2.0 (LICENSE). Bundled VITS-derived portions retain MIT notices; Tacotron-derived text portions retain Keith Ito's MIT notice. See THIRD_PARTY_NOTICES.md and runtime/ licenses. External packages, including phonemizer/eSpeak and their transitive dependencies, retain their own licenses; the root Apache license does not relicense them. Use the voices responsibly and do not misrepresent synthetic speech as a real person's recording or endorsement.

Download The Repository

from huggingface_hub import snapshot_download
folder = snapshot_download("owensong/Inflect-Micro-v3-Preview")
print(folder)  # run inference.py from this directory
Original six-voice packaging checks (same sentence)

Original Packaging Samples

All six samples use the same sentence, chosen before rendering: "Please leave the side entrance unlocked until the delivery arrives." These are packaging checks, not cherry-picked showcase clips. Seeds and native parity results are in PACKAGING_QA.json.

Mark

Cassidy

James

Jasper

Hope

Sophia

Benchmark: Fresh Matched48 Screen (2026-10-12)

48 authored English texts per model; this Micro 100k checkpoint with Hope only, versus released Paradee v1.0 int8 ONNX with af_heart and its shipped phase filter. Native frontends, speed 1, Micro latent noise 0.667; different speaker identities. All 96 clips completed without failures or truncation; no postprocessing or sample removal. Raw generated waveforms, prompts, transcripts, and individual scores are preserved in benchmarks/.

Metric This Micro / Hope Paradee v1.0 / af_heart
UTMOS22, higher better 4.264 4.406
UTMOSv2, higher better 3.433 3.121
Strict WER, lower better 1.36% (9/661 words) 0.91% (6/661)
Spoken-normalized WER, lower better 0.60% (4/671) 0.15% (1/671)

The predictors disagree; this is not evidence Micro beats Paradee overall. Paired 95% caption-bootstrap intervals for Micro minus Paradee: UTMOS22 -0.201..-0.081; UTMOSv2 +0.212..+0.405. Paradee has three fewer word errors; the normalized WER difference interval touches zero (0..+1.028 percentage points), so a decisive general intelligibility advantage is not established.

Whisper small.en CPU int8, beam 5, temperature 0, no VAD/reference prompt or previous-text conditioning. Strict WER uses casefolded word/apostrophe tokens. The predeclared secondary rule expands integers 0..99 and fixed common contractions, with no spelling/name repairs or manual transcript edits. Both systems have five strict number-format edits and one UK/US spelling edit. UTMOS22 uses SpeechMOS strong; UTMOSv2 uses fusion_stage3 fold0, three seeded evaluations per clip. Bootstrap units are 48 captions, not 144 predictions.

This is a compact one-voice screen, not validation of all six voices. See benchmarks/PROTOCOL.md, RESULT.md, summary.json, and per-clip results. Paradee source/model is credited as the competitor, not a parent of this Micro checkpoint. Included Paradee audio was generated from that public model solely for comparison.

Help Improve The Next Release

Join the Inflect Discord for development updates and to share reproducible failures, comparisons and integration feedback. This remains a research preview, not a production endorsement. Thank you for testing it honestly.

Downloads last month
-
Safetensors
Model size
9.59M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including owensong/Inflect-Micro-v3-Preview