Inflect-Micro-v2 release cover

Inflect-Micro-v2

Complete local text-to-waveform speech synthesis under 10M parameters.
Fixed-voice English TTS with deterministic seeds, long-text handling, and CPU or CUDA inference.

Live playground GitHub Inflect Nano v2 Inflect Discord Benchmarks

9,356,513 deployable parameters · 37.53 MB FP32 · 24 kHz mono output


Inflect v2 uses one public API across two sizes: Micro prioritizes quality below 10M parameters; Nano prioritizes footprint below 4M.

Explore this model card

Listen

These are held-out text generations, not reconstructions of training audio. Each transcript is shown exactly as passed to the public frontend.

Test Exact transcript Generated audio
Conversational It wasn't until later that I realized what had actually happened.
Punctuation First, close the window; second, turn off the lamp; finally, lock the door.
Numbers The package weighs twelve point six kilograms and arrived on July twenty-first.
Names and places Gwendolyn photographed the eucalyptus trees outside Ljubljana.
Technical The system runs on three core components that all have to stay in sync.

Evaluation

No single metric captures TTS quality. Inflect v2 reports human preference, predicted naturalness, multi-ASR intelligibility, complete footprint, and runtime separately rather than compressing them into one unverifiable score.

Community preference ↑ UTMOS22 ↑ Two-ASR semantic WER ↓ Complete FP32 weights ↓ 4-thread CPU throughput ↑
66.2% 4.395 3.99% 37.53 MB 6.28× real-time

The headline row always refers to Inflect-Micro-v2. Detailed competitor results and protocol boundaries are kept visible below.

Comparison set. Results include KittenTTS Nano, Piper Low, and Supertonic 3, established compact or local TTS baselines with larger deployable weight footprints than both Inflect releases. Weight sizes are compared at package level, and no single metric is treated as proof of overall superiority.

1. Human blind preference

Community blind listening

Inflect-Micro-v2 recorded a 66.2% preference rate (21 wins · 10 losses · 3 ties) in the final anonymous community study. Systems were hidden, left/right order was randomized, and ties count as half a win. This is descriptive community evidence, not formal MOS.

2. Predicted naturalness versus footprint

Predicted quality versus footprint

The UTMOS22 run used 500 identical unseen prompts per voice. KittenTTS and Piper are equal-weight two-voice means; their observed voice ranges appear as whiskers. Supertonic 3-step is reported below the plotted range rather than flattening every other system.

Inflect-Micro-v2: 4.395 UTMOS22, 95% bootstrap CI 4.381–4.408. UTMOS22 is a learned predictor, not human MOS.

3. Intelligibility on unseen text

Two-ASR semantic WER consensus

The headline score is the equal-weight mean of Qwen3-ASR and Nemotron 3.5 corpus WER for every system. Whisper is excluded consistently from the headline because it produced insertion-heavy hallucinations on a subset of otherwise intelligible Supertonic 8-step clips. It is not deleted: the complete three-ASR evidence remains below.

Open the complete three-ASR audit

Semantic WER across Qwen3-ASR, Nemotron 3.5, and Whisper large-v3

System / voice Qwen3-ASR ↓ Nemotron 3.5 ↓ Whisper large-v3 ↓
Inflect-Micro-v2 2.52% 5.45% 2.73%
Inflect-Nano-v2 2.79% 5.63% 2.65%
KittenTTS Nano · Bruno 2.15% 3.96% 2.17%
KittenTTS Nano · Hugo 2.39% 3.80% 2.11%
Piper Low · Danny 2.62% 5.60% 2.55%
Piper Low · Ryan 2.81% 5.51% 2.87%
Supertonic 3 · M2 · 3-step 3.03% 6.04% 3.22%
Supertonic 3 · M2 · 8-step 2.05% 3.56% 8.08%

For Inflect-Micro-v2, the individual results are 2.52% Qwen3-ASR, 5.45% Nemotron 3.5, and 2.73% Whisper large-v3. The former three-model mean, 3.57%, is retained only as a descriptive audit value and is not used as the headline score.

Open evaluator robustness and error-category diagnostics

ASR evaluator robustness

Semantic WER by prompt category

These views are diagnostics, not additional leaderboards. They show where the recognizers disagree and which prompt categories still produce recoverable transcription errors.

4. CPU runtime

Both Inflect releases synthesize comfortably faster than real time on CPU. The managed reference run used a Hugging Face CPU Upgrade instance (8 vCPU, 32 GB RAM) with four framework threads, end-to-end text-to-waveform timing, and 100 fixed Modern400 prompts. Three complete passes were recorded; the first cache-building pass was excluded and the table pools passes two and three.

Release Steady-state RTF ↓ Audio / wall time ↑
Inflect-Micro-v2 0.1593 6.28×
Inflect-Nano-v2 0.0933 10.72×

These are package-level results from the public PyTorch runtime, not a claim that Inflect is the fastest compact TTS system. Hardware, frontend behavior, framework, compilation, and thread policy all affect small-model measurements.

Open directional compact-system speed context

The same managed CPU and four-thread policy were used for a shorter comparator pass: the identical 50-prompt prefix, repeated twice. KittenTTS and Piper are equal-work pooled across their two tested voices.

System Audio / wall time ↑
Piper Low 31.37×
KittenTTS Nano 13.33×
Inflect-Nano-v2 10.72×
Supertonic 3 · 3-step 10.15×
Inflect-Micro-v2 6.28×
Supertonic 3 · 8-step 4.37×

Because Inflect uses the larger 100-prompt steady-state run while comparator rows use the shorter 50-prompt confirmation pass, this table is deployment context rather than a perfectly matched speed leaderboard. Several comparators also use optimized ONNX runtimes while this Inflect release uses PyTorch.

5. Complete weight footprint

Complete deployable model footprint

Voice variants sharing the same weights are merged. Inflect totals include the integrated waveform decoder.

Open the frozen evaluation protocol
  • Modern400 uses 400 identical unseen English prompts per system: 200 fixed modern/stress prompts plus 200 deterministic FLEURS en_us test prompts.
  • Exact-text exclusion was checked against 87,362 training transcripts.
  • All ASR inputs are resampled to 16 kHz and scored with the same disclosed English normalizer.
  • UTMOS22 uses tarepan/SpeechMOS v1.2.0 on a separate 500-prompt generation set.
  • Headline intervals use 10,000 bootstrap samples.
  • The Modern400 corpus SHA-256 is b7504ce2dce44a2da82770a6a5dfd2a034fe17e2113980f8a69663ade417a34c.
  • Prompts, hypotheses, compressed row-level reports, and summaries ship under evaluation/final/.
  • Runtime is evaluated separately because framework, thread policy, compilation, and host load can dominate small-model comparisons.

Choose the right Inflect

Inflect-Nano-v2 Inflect-Micro-v2
Complete parameters 3,966,721 9,356,513
FP32 weights 15.97 MB 37.53 MB
Positioning Smallest practical footprint Strongest Inflect v2 quality
24 kHz waveform decoder Included Included
Python API and frontend Same Same

Inflect-Micro-v2 is the quality-focused member of the family. Both models use the same public API and complete text-to-waveform packaging.

Run locally

Install

git clone https://huggingface.co/owensong/Inflect-Micro-v2
cd Inflect-Micro-v2
python -m pip install -r requirements.txt

Python

from inference import InflectTTS

tts = InflectTTS(".", device="cpu")
tts.save(
    "A small voice can still have something meaningful to say.",
    "sample.wav",
    speed=1.0,
    variation=0.667,
    seed=7,
)

Download through the Hub

import sys
from huggingface_hub import snapshot_download

model_dir = snapshot_download("owensong/Inflect-Micro-v2")
sys.path.insert(0, model_dir)

from inference import InflectTTS

tts = InflectTTS(model_dir, device="cpu")
sample_rate, waveform = tts.synthesize("The complete model runs locally.")

The result is a 24 kHz mono float32 waveform. Long input is split at punctuation-aware boundaries, synthesized chunk by chunk, and joined with controlled pauses.

Release profile

Local runtime Long-text handling
CPU and CUDA inference through the same Python API and CLI. Punctuation-aware segmentation with controlled pauses and edge fades.
Repeatable output Auditable evaluation
Fixed seeds reproduce the same latent sample on the same runtime stack. Frozen prompts, raw ASR hypotheses, intervals, hashes, and per-system reports are included.
Architecture and parameter budget

Inflect v2 is a parameter-efficient VITS-family end-to-end text-to-waveform generator with an English phoneme frontend, monotonic alignment, stochastic latent synthesis, residual coupling flow, and an integrated alias-reduced neural waveform decoder.

Component Inflect-Micro-v2
Latent channels 192
Text hidden channels 96
Encoder layers / heads 3 / 2
Feed-forward channels 768
Flow coupling blocks 4
Initial decoder channels 320
Upsample rates 8, 8, 2, 2
Training segment 16,384 samples
Output 24 kHz mono waveform

The release describes the deployable architecture. Private corpus-construction and optimization details are not part of this open-weight package.

Controls, determinism, and long text
Control Default Public range Meaning
speed 1.0 0.5–2.0 Lower is slower; higher is faster.
variation 0.667 0.0–1.0 Lower is steadier; higher samples more latent variation.
seed 0 integer Repeats the same stochastic sample on the same runtime stack.

Long passages are punctuation-aware chunks, not one unlimited autoregressive pass. Chunk boundaries receive short pauses and edge fades. See docs/API.md for waveform contracts and concurrency notes.

Data, voice, and adaptation status

The release contains one fixed synthetic English voice. The package does not redistribute a real-speaker recording corpus, does not claim the voice as the identity of a real person, and requires no reference audio or external model at inference.

This release is inference-first. New-voice and new-language adaptation are not currently validated or supported. A new voice would replace the fixed speaker rather than add a selectable speaker; language adaptation also requires rebuilding normalization, phonemes, symbols, embeddings, and training data. See docs/DATA_AND_VOICE.md and docs/FINETUNING.md.

Package map

Path Purpose
model.pth Inference-only generator checkpoint
config.json Architecture and audio configuration; also the Hub download-count query file
inference.py Public Python API and CLI
inflect_vits_frontend.py English normalization, phonemization, and punctuation frontend
runtime/ Self-contained model implementation
samples/ Held-out example generations
evaluation/final/ Frozen benchmark prompts, reports, and protocol artifacts
docs/ API, deployment, evaluation, adaptation, and export documentation
release_manifest.json File sizes and SHA-256 hashes

Limitations

  • English only, with one fixed male voice. This is not zero-shot voice cloning.
  • Unfamiliar phrasing can become flatter, less expressive, or less stable.
  • Numbers, abbreviations, homographs, and uncommon names remain frontend- and context-sensitive.
  • Long passages use punctuation-aware chunking; transitions can differ from a native long-form model pass.
  • Stochastic variation can alter timing and pronunciation. Fix the seed for comparisons.
  • UTMOS22 and ASR scores do not replace controlled human MOS or MUSHRA-style evaluation.
  • Not validated for medical, legal, emergency, or accessibility-critical communication.

Responsible use

Do not use the included voice to impersonate a real person, deceive listeners, or create fraudulent content. Disclose synthetic speech where the context could otherwise mislead. Users are responsible for applicable laws and the Apache-2.0 license.

License, integrity, and attribution

Original Inflect code and weights are released under Apache-2.0. Bundled third-party components retain their own notices in THIRD_PARTY_NOTICES.md. release_manifest.json records packaged file sizes and SHA-256 hashes.

Private training scope and contact

Inflect v2 is an open-weight release. Deployable weights, inference code, frontend code, evaluation prompts, and release reports are public. The training corpus-generation pipeline, private filtering infrastructure, and full optimization recipe are not part of the public package.

Owen Song may share additional technical context privately for credible research, collaboration, reproducibility, or deployment inquiries when the request has a clear purpose and does not conflict with licensing or data-provenance constraints.

Citation

@software{song2026inflectmicrov2,
  author = {Owen Song},
  title = {Inflect-Micro-v2: Complete Local Text-to-Waveform TTS Under 10M Parameters},
  year = {2026},
  url = {https://huggingface.co/owensong/Inflect-Micro-v2}
}

Designed and developed independently by Owen Song · open weights · Apache-2.0 · complete local text-to-waveform inference

Downloads last month
10
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using owensong/Inflect-Micro-v2 1