explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsdictionaryagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR — What People Are Asking
  • Why “Complete” Under 10M Matters
  • Micro vs Nano — Pick by Footprint
  • Install and Run (PyTorch Path)
  • Benchmarks — Read Them Like an Engineer
  • What HN Got Right
  • Architecture Notes Builders Care About
  • Honest Limitations
  • Builder Checklist
  • Package Map (What You Actually Download)
  • When to Reach for Something Else
  • Copy-Paste Eval Habit
  • Related on explainx.ai
← Back to blog

explainx / blog

Inflect-Micro-v2: Full Local TTS Under 10M Params

Owen Song’s Inflect-Micro-v2 ships complete local text-to-waveform TTS at 9.36M params (37.53 MB). Benchmarks, install, Nano sibling, and honest limits.

Jul 26, 2026·8 min read·Yash Thakker
Text-to-SpeechEdge AIOpen WeightsHugging FaceLocal AI
go deep
Inflect-Micro-v2: Full Local TTS Under 10M Params

Most “tiny TTS” releases still ship a decoder the size of a real app, or they outsource waveform generation to a cloud API. Inflect-Micro-v2 takes the other bet: complete local text-to-waveform speech under 10 million parameters — 9,356,513 deployable weights, ~37.53 MB FP32, 24 kHz mono — with a public Python API, deterministic seeds, and an official ONNX path.

Owen Song funded and shipped it independently on Hugging Face as owensong/Inflect-Micro-v2 under Apache-2.0. The Hacker News thread (Inflect-Micro-v2: complete voice in 9.36M parameters) immediately asked the right clarifying question: complete means TTS end-to-end, not STT+TTS. This explainx.ai guide is the builder decode — install, Micro vs Nano, benchmarks vs Piper/Kitten/Supertonic, and the limitations you should read before shipping it into a product.

TL;DR — What People Are Asking

table · 2 cols
QuestionAnswer
What is it?Local English text → waveform TTS
Params / size?9.36M · ~37.53 MB FP32
License?Apache-2.0
Voice?One fixed male · no cloning
STT included?No
CPU speed (ref)?~6.28× real-time (Micro)
Sibling?Nano ~3.97M / ~16 MB
Where?Hugging Face owensong/Inflect-Micro-v2
Good for?Edge, offline demos, privacy-sensitive UX
Not for?Multilingual, cloning, medical/legal critical audio
Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

Why “Complete” Under 10M Matters

Edge speech usually fails one of three ways:

  1. Cloud dependency — latency, cost, and data leaving the device
  2. Incomplete packages — phoneme frontend in, but waveform elsewhere
  3. Footprint lies — “small” model plus a giant vocoder nobody counted

Inflect’s claim is package-level honesty: the integrated waveform decoder is in the weight total. That puts it in the same product conversation as other edge-sized open models and browser-tiny embeddings — not as a frontier LLM, but as a deployable artifact you can reason about on disk.

If your stack already values local inference for coding agents (llama.cpp, OpenCode local runs), Inflect is the speech sibling: small enough for CPU laptops and hobby boards, licensed for redistribution, boring enough to actually ship.

Micro vs Nano — Pick by Footprint

table · 3 cols
Inflect-Nano-v2Inflect-Micro-v2
Parameters~3,966,721~9,356,513
FP32 weights~15.97 MB~37.53 MB
PositioningSmallest practicalStrongest Inflect v2 quality
24 kHz decoderIncludedIncluded
API / frontendSameSame

Rule of thumb: Nano when flash storage or RAM is the constraint; Micro when preference/UTMOS margins matter more than a few megabytes. Both use the same long-text segmentation and seed controls.

Install and Run (PyTorch Path)

bash
python -m pip install --upgrade huggingface_hub
hf download owensong/Inflect-Micro-v2 --local-dir 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,
)

Snapshot download variant:

python
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.")

Long input is split at punctuation-aware boundaries, synthesized chunk by chunk, and joined with controlled pauses. Fix seed when you need bit-stable comparisons across runs on the same runtime stack.

ONNX without PyTorch

Official FP32 graphs live in a sibling package (Inflect-Micro-v2-ONNX): duration.onnx + decode.onnx, CPU/CUDA/DirectML providers, same long-text wrapper, eSpeak-ng frontend remains CPU-side. Use ONNX when you want torch-free deployment or browser-adjacent runtimes — parity reports and checksums ship with that repo.

Benchmarks — Read Them Like an Engineer

Inflect refuses a single “quality score.” The model card reports preference, predicted naturalness, intelligibility, footprint, and runtime separately.

Headline Micro row (as published)

table · 3 cols
MetricMicro resultNotes
Community preference66.2% (21W · 10L · 3T)Blind, order randomized; ties half-win
UTMOS224.395 (CI ~4.381–4.408)Learned predictor, not human MOS
Two-ASR semantic WER~3.99%Mean of Qwen3-ASR + Nemotron 3.5
FP32 footprint37.53 MBComplete deployable package
CPU throughput~6.28× RT4 threads, steady-state

Comparison set includes KittenTTS Nano, Piper Low, and Supertonic 3 — established compact/local baselines with larger deployable footprints than both Inflect releases. Weight sizes are package-level; no single metric is treated as proof of overall superiority.

Whisper was excluded from the headline two-ASR mean because it hallucinated insertions on some otherwise intelligible Supertonic clips; the full three-ASR audit remains on the card. That kind of protocol footnote is why this release feels more serious than a vibes demo.

What HN Got Right

  1. “Complete” ≠ STT — text-to-waveform only.
  2. Voice clone wishlist — fair ask; out of scope for v2.
  3. Quality for size — under 10M, spotty phrasing is expected; seed + speed knobs help.
  4. Independent funding — Song asks for Hub likes to justify a broader v3 (languages, voices, stability). Treat that as roadmap aspiration, not a commitment.

For privacy-first product context, pair this with local meeting transcription stacks like Meetily — TTS and STT are different layers, but the keep audio on-device product story is the same.

Architecture Notes Builders Care About

  • Frontend: English normalization + phonemization (eSpeak-ng) before the neural path
  • Runtime: Shared Python API / CLI; CUDA optional
  • Determinism: Fixed seeds reproduce the same latent sample on the same stack
  • Eval artifacts: Frozen prompts, ASR hypotheses, hashes, and reports under evaluation/final/
  • Integrity: release_manifest.json SHA-256 hashes

Training corpus pipeline and full optimization recipe are not public — classic open-weight (not full open science) posture. That still beats closed SaaS TTS for air-gapped and redistribute-friendly apps; see the broader closed vs local open trade-offs.

Honest Limitations

  • English only, one fixed male voice — no multilingual, no cloning
  • Unfamiliar phrasing can flatten or destabilize
  • Numbers, abbreviations, homographs, uncommon names are frontend/context sensitive
  • Long passages use chunking; transitions differ from a native long-form pass
  • Stochastic variation changes timing/pronunciation — fix seed for A/B
  • UTMOS22 / ASR ≠ controlled human MOS or MUSHRA
  • Not validated for medical, legal, emergency, or accessibility-critical communication
  • Responsible use: do not impersonate real people; disclose synthetic speech where it could mislead

Builder Checklist

  1. Download Micro (quality) or Nano (footprint) via hf download
  2. Smoke-test held-out transcripts from the model card samples
  3. Lock seed for CI regression audio hashes
  4. Decide PyTorch vs ONNX before packaging for mobile/edge
  5. Gate product copy: “local English TTS,” not “voice AI platform”
  6. Budget a human listen pass — preference studies are not your user’s ears

Package Map (What You Actually Download)

table · 2 cols
PathPurpose
model.pthInference-only generator checkpoint
config.jsonArchitecture + audio config
inference.pyPublic Python API and CLI
inflect_vits_frontend.pyEnglish normalization / phonemization
runtime/Self-contained model implementation
samples/Held-out example generations
evaluation/final/Frozen prompts, reports, protocol
release_manifest.jsonFile sizes + SHA-256 hashes

That layout is what “complete” means operationally: you are not hunting a separate vocoder repo at 2 a.m. ONNX users clone the sibling graphs and keep eSpeak on the CPU side.

When to Reach for Something Else

  • Need voice cloning / multi-speaker — look elsewhere; Inflect is fixed-voice by design.
  • Need streaming ultra-low latency telephony — measure RTF on your target SoC; Micro’s reference 6.28× is a laptop-class CPU story, not a guarantee on microcontrollers.
  • Need multilingual IVR — wait for a promised v3 or use a larger multilingual stack.
  • Need cloud SLA / SSML enterprise features — commercial TTS APIs still win on ops, not on offline privacy.

The local vs closed frame applies: Inflect is a sovereignty and footprint win, not a feature-parity win against SaaS TTS.

Copy-Paste Eval Habit

Before you ship Inflect into a product voice:

  1. Generate the five held-out transcripts from the model card (conversational, punctuation, numbers, names/places, technical).
  2. Listen on phone speakers and laptop speakers — tiny models fail differently on each.
  3. Re-run with the same seed; confirm waveform hashes or spectrogram similarity for CI.
  4. Stress uncommon proper nouns from your domain (drug names, street names, brand names).
  5. Only then wire it into an agent loop that speaks status updates.

That five-step habit is more valuable than chasing a 0.05 UTMOS bump.

Related on explainx.ai

  • 28.9M LLM on $8 ESP32 — Per-Layer Embeddings
  • Meetily — privacy-first local meeting transcription
  • Ternlight — 7 MB browser embedding model
  • Liquid AI LFM2.5 — edge agent model
  • What is llama.cpp?
  • Run open-source models locally with OpenCode
  • Closed-source AI vs local open-source alternatives
  • Open weights American AI leadership letter

Primary sources: Hugging Face — owensong/Inflect-Micro-v2 · Inflect-Micro-v2-ONNX sibling · Hacker News discussion of the release · Owen Song model card limitations and evaluation protocol.


Specs, benchmarks, and Hub paths are accurate as of July 26, 2026. Recheck the model card before production pins — small TTS releases iterate fast.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Aug 17, 2026

Qwen Hits 3 Billion Downloads — What That Actually Measures

Alibaba's Qwen family passed 3 billion Hugging Face downloads, per an August 14, 2026 Hugging Face report — over 13x Google's count and 13x Meta's in the same window. We verified the figure against primary reporting and break down what download share tells you about an open-weight model, and what it leaves out.

Aug 16, 2026

A 1.5B Model That Writes Your Shell Commands — On a Laptop CPU, No GPU

A developer tired of googling tar flags fine-tuned Qwen2.5-Coder-1.5B on 125k natural-language/command pairs, quantized it to Q4_K_M, and got a 941MB model that matches an untuned 7B on InterCode-ALFA while running on four CPU threads. It still trails GPT-4o by 0.11. Here is the full recipe, the honest benchmark read, and the safety design worth copying.

Aug 15, 2026

Qwen3.8-27B Is Live — The Local Model Hacker News Put at #1

The Qwen3.8-27B companion Alibaba promised — and that our August 13 coverage flagged as missing — finally shipped, and Hacker News sent it straight to #1 with 893 points. It's a dense 27B vision-language model that Alibaba's own model card puts within striking distance of Claude Opus-class scores on agentic coding benchmarks, and unlike the 2.4T Qwen3.8-Max flagship, this one runs on a single RTX 4090 or a Mac Studio.