Inflect v3 by Owen Song. Mini 34.31M, Micro 11.79M, Atom 157.19K. Expressive, natural speech in fewer parameters.

Inflect Mini v3

A complete voice. A smaller footprint.
Six English voices. Local generation. More ways to make speech your own.

Playground GitHub Models Discord Benchmarks

34.31M core parameters  ·  6 voices  ·  Apache 2.0
Native 24 kHz  ·  Optional 48 kHz enhancement  ·  CPU and CUDA

Inflect Mini v3 brings English text-to-speech to a compact, locally runnable model. Choose a preset voice, add a non-speech event, or build a reusable voice profile from a reference recording. Start with native 24 kHz speech; switch on the compact 48 kHz enhancer when you prefer its sound.

Open weights, runnable inference, no hosted API required for preset speech. Downloads and dependency setup happen first; generation then stays on your machine.

Run Mini locally: this model repository is the complete v3 inference package, not just weights. Download and first generation | Choose a model and find the right files. The GitHub inflect/ folder is the older v1/v2 library, not the v3 runtime.

Listen

Hear the voice. Read the words. These are native 24 kHz Mini generations, without enhancement or reference adaptation.

Try your own text in the playground, or start with the six samples below.

CONVERSATION
Cassidy

Could you bring the smaller suitcase downstairs?

NARRATION
Mark

Beyond the orchard, a narrow footpath curved toward the ruined tower.

INSTRUCTIONS
Hope

Press the side button once, then wait until the indicator turns green.

EXPLANATION
James

A shadow becomes longer when the light source moves closer to the horizon.

EVERYDAY SPEECH
Sophia

We moved the chairs inside and wiped the wooden table dry.

DIALOGUE
Jasper

I thought you were arriving tomorrow, but it is lovely to see you.

Each voice reads a different passage. This is a voice showcase, not a controlled voice-ranking test. Exact inputs and audio identities.

More than plain text

Feature What it adds Availability
Six preset voices Text-to-waveform speech without a reference recording All six voices, CPU or CUDA
Event tags Eight vocal events between speech segments All six voices, CPU, 24 kHz
Voice Tuner Reference-based adaptation saved as a reusable voice profile Optional enrollment; supported setup is Linux CPU
48 kHz enhancement A compact output enhancer for a different high-frequency presentation All six preset voices; optional
Long-text handling Text is segmented into manageable speech chunks Preset speech

Event tags: a little more character

Use [laugh], [sigh], [gasp], [cough], [yawn], [inhale], [exhale] and [clear_throat] with any of the six voices. [throat_clear] is also accepted:

You really surprised me. [laugh] That was a good one.
python -m pip install -r extras/events/component/requirements-cpu.txt
python run.py events --voice cassidy --profile base --text "You really surprised me. [laugh] That was a good one." --output ../mini-laugh.wav

The event component combines generated speech with voice-specific learned non-speech performances and calibrated levels. Where multiple takes exist, the seed selects a take; the original four Cassidy events remain fixed. Events run on CPU at native 24 kHz, without the speech enhancer. They do not apply emotion to surrounding speech. Refresh the complete package if you downloaded an older four-tag release.

Event setup and controls

Hear the events in context. These are actual local Mini generations, native 24 kHz with no enhancer. The exact tagged input is shown for each sample.

Cassidy / laugh

You really surprised me. [laugh] That was a good one.

Hope / yawn

Just a moment. [yawn] Let us start again.

Mark / gasp

Wait a second. [gasp] Did you see that?

Exact inputs, seed and audio provenance. These illustrate the event feature, not emotion conditioning or a quality benchmark.

Voice Tuner: make a profile your own

Start with an authorized 5-15 second reference recording and enroll a voice profile. Reuse that profile for later speech generation without supplying the reference audio again.

Voice Tuner adapts Mini's voice conditioning. Resemblance varies with the recording and speaker; this is reference-based adaptation, not a promise of exact voice cloning or accent transfer. Use only voices and recordings you have permission to use.

Set up Voice Tuner and enroll a reference

Use a Python 3.12 environment. The supported enrollment configuration is Linux CPU:

python -m pip install uv
python -m uv pip install --python python --find-links core/baseline/vendor -c extras/tuner/constraints-cpu.txt -r extras/tuner/requirements-tuner-enrollment-cpu-20261110.txt
python tuner.py enroll --reference ../my-reference.wav --profile ../my-voice.json --work-dir ../tuner-work --device cpu --consent-confirmed --download-public-assets --accept-third-party-licenses
python tuner.py say --profile ../my-voice.json --work-dir ../tuner-work --device cpu --text "A new chapter starts here." --output ../my-voice.wav

Choose new output/profile paths outside the downloaded package, with existing parent directories. Keep the profile JSON, companion .pt file and work directory for reuse. Enrollment encoders are separate downloads with their own licenses; they are not included in the 34.31M core count.

Voice Tuner guide  ·  Component license map

Native 24 kHz, or compact 48 kHz

Native 24 kHz is the default. The optional 2.85M-parameter enhancer produces a 48 kHz WAV while leaving the speech backbone unchanged.

The same Cassidy generation, two output choices

NATIVE 24 kHz

COMPACT 48 kHz

python run.py speech --profile enhanced --voice hope --text "The next chapter starts here." --subtype PCM_16 --output ../mini-48k.wav

Choose by ear. Native can be preferable on revealing headphones; compact enhancement can sound brighter on some speakers, but may expose a faint buzzy texture on some material. Neither is universally better, and a higher sample rate is not itself a quality score.

Run it locally

Use Python 3.12 in a fresh environment outside the downloaded package. Download the complete repository, not only its weights.

Create an environment: Windows or Linux

Windows PowerShell:

py -3.12 -m venv inflect-env
.\inflect-env\Scripts\Activate.ps1

Linux:

python3.12 -m venv inflect-env
source inflect-env/bin/activate
python -m pip install huggingface-hub==0.36.2
hf download owensong/Inflect-Mini-v3 --local-dir inflect-mini-v3
cd inflect-mini-v3
python verify_release.py
python -m pip install -r core/requirements-cpu.txt
python run.py speech --voice cassidy --text "A small idea can become something worth hearing." --subtype PCM_16 --output ../mini-cassidy.wav

This writes native 24 kHz PCM16 speech. Voice IDs are cassidy, mark, hope, james, sophia and jasper. Choose a new WAV filename in an existing directory outside the package; the launcher verifies the downloaded inventory before running.

Use CUDA and the optimized Mini runtime

Use a separate fresh Python 3.12 environment with compatible NVIDIA drivers and the CUDA dependency recipe, rather than mixing CPU and CUDA installs:

python -m pip install -r core/requirements-cuda.txt
python run.py speech --device cuda --runtime cuda-source --voice cassidy --text "A small idea can become something worth hearing." --subtype PCM_16 --output ../mini-cuda.wav

The optimized CUDA path uses the same core weights. It is not the CPU runtime. Warm-up and first-use preparation affect latency; see the speed measurements below.

Language adaptation toolkit

Want to adapt Mini to your own language? The GitHub repository now includes a Mini v3 adaptation toolkit and a step-by-step guide. The guide covers pronunciation coverage, preparing licensed recordings and external phone alignments, training, checkpoint resume, export, and evaluation.

The toolkit has passed real CUDA training/resume/export and raw-text inference checks, plus its automated regression suite. These are pipeline checks, not a claim of qualified Polish or multilingual speech. Start with a representative pilot and fluent-listener review; the published Mini weights remain English-only. The toolkit is a compatible adaptation implementation, not the private original training recipe or dataset.

Benchmarks

Listen first. Measure separately. Speech accuracy, predicted audio quality and speed are different properties. The tables below keep their test sets and measurement methods separate.

Published Mini: native speech

Measure Result Coverage
Average WER 0.739% 1,688 texts per voice, all six voices: 10,128 clips
UTMOSv2 3.917 180 clips, 30 per voice
UTMOS22Strong 4.479 The same 180-clip panel

These are the published native 24 kHz base-speech results, without enhancement, reference adaptation or event sounds. UTMOS predictors are not human MOS, and UTMOS22 and UTMOSv2 scores are not interchangeable.

Per-voice WER and exact scoring scope
Voice Average WER
Cassidy 0.735%
Hope 0.740%
Sophia 0.728%
James 0.741%
Jasper 0.729%
Mark 0.762%

Each voice covers all 500 CV3 English texts, 1,088 Seed-TTS English texts and 100 MiniMax English texts in the pinned corpus. Average WER gives each dataset equal weight, then each voice equal weight. Separately pooled WER is 0.875% over 127,308 normalized reference words.

This is a self-run evaluation, using Qwen3-ASR-1.7B and pinned official Open TTS normalization/alignment code, not an official leaderboard submission. The corpus has been used during development; it is not a newly sealed held-out test. Batching, software and hardware can differ from the hosted leaderboard.

Protocol · Published results

Other models: Open TTS Leaderboard context

Official leaderboard snapshot: 10 November 2026, English, without voice cloning, equal average across Seed-TTS, CV3-Eval and MiniMax.

Model Average WER % ↓ UTMOS22 ↑
Ming-3.0-tts-0.5B 0.657 4.28
Kokoro-82M 0.690 4.51
Paradee-8M-v1.3 0.693 4.38
phonon-31m-en 0.730 4.45
supertonic-3 0.743 4.45

Context, not a matched ranking against Inflect. These are hosted leaderboard evaluations. Mini's WER is self-run across six presets, and its quality scores use a different 180-clip panel. The hosted leaderboard reports UTMOS22, not UTMOSv2. Rounded dataset cells also limit precision.

Live leaderboard · Metric definitions · Aggregation implementation

UTMOSv2: historical matched comparison

An earlier 23 October development panel used the same 96 ordinary texts and two voice slots per model: 192 clips each. It provides a matched UTMOSv2 comparison, but describes earlier checkpoints and runtimes, not today's published six-voice Mini panel.

Historical model / runtime UTMOSv2 ↑
Inflect Mini, earlier checkpoint 3.978
Kokoro 3.883
phonon-31m 3.782
Inflect Micro, earlier checkpoint 3.725
Piper 3.630
Kitten 2.099

Do not substitute the earlier Mini score for the current-release score above. This was a development comparison, not a human listening study or an independent leaderboard submission. Panel summary and source identity.

Speed: optimized GPU and native CPU

Current Mini configuration Warm RTFx ↑ Warm RTF ↓
RTX 5090, optimized CUDA runtime 162.1x 0.00617
Ryzen 9 3900X, canonical CPU, 2 Torch threads 1.81x 0.5519

The optimized CUDA path uses the original synthesis-core weights. This small current-package probe contains 12 timed renders, two prompts across six voices, after two excluded warm-ups. Each system generated 98.425 seconds of native audio. Warm time includes text normalization, G2P, synthesis and in-memory PCM16 WAV serialization, and excludes loading and disk writes. Reused text caches can contribute.

Different systems, software and runtime paths were used: this is not a controlled CPU-versus-GPU speedup claim, a streaming/first-audio measurement or a latency guarantee.

Current speed protocol and earlier same-hardware Kokoro comparison

Current GPU probe: RTX 5090 / Ryzen 7 7800X3D / Linux, Python 3.12.15, Torch 2.10.0+cu128, cuda-source, 0.607 seconds total warm generation. Current CPU probe: Ryzen 9 3900X / Windows 11, Python 3.12.11, Torch 2.11.0+cpu, canonical runtime, 54.317 seconds. Both used 2 intra-op / 1 inter-op Torch threads, seed 42, base profile and PCM16. CUDA was synchronized around timed work.

The same core and package hashes were verified. Separate verification/loading costs were 0.38 / 3.23 seconds on GPU and 0.90 / 13.02 seconds on CPU; these are not complete cold process-start measurements.

Earlier matched-text diagnostic, 31 October: AMD EPYC 7K62 with two physical CPU cores/threads and RTX 5090, FP32, 24 texts, two voices and three repeats: 144 calls per model/device. Warm raw text through PCM16; loading/disk writes excluded.

Historical runtime CPU RTFx ↑ RTX 5090 RTFx ↑
Kokoro, stock FP32 Torch 1.837 81.626
Mini, earlier canonical runtime 1.879 34.201
Micro, earlier FastMicro24K runtime 19.589 63.247
Atom, earlier Torch-DSP runtime 9.032 162.716

The historical Mini row does not use the newer optimized CUDA path. Inflect timings were from earlier runs, not concurrent reruns; voices differ. These are historical runtime measurements, not current-package validation, optimized-Kokoro results or a quality ranking. Do not combine this table with the newer 162.1x probe to claim a controlled competitor speedup.

Current raw measurements and prompts · Comparison summary

Mini's core has 34,310,790 parameters, with a 138.4 MB FP32 weight file (132.0 MiB). The enhancer adds 2,846,722 parameters. These are not full download sizes or runtime RAM requirements; frontend assets, dependencies, event components and enrollment encoders are additional.

Three sizes. One family.

Model Core parameters Designed for
Mini v3 34.31M The feature-rich model: six voices, enhancement, events and Voice Tuner
Micro v3 11.79M A smaller neural speech core for compact deployment
Atom v3 157.19K An ultra-compact synthesis core

Explore the Inflect v3 collection. Feature availability differs by model; Mini's optional components are not implied for Micro or Atom.

Release scope and license

Open weights, with runnable inference code. This release includes the model runtime and documented optional components. It does not include the full training pipeline, corpus-generation tools or training data.

Inflect-owned code and weights are released under Apache License 2.0. See LICENSE.md and the component scope. Third-party code, assets, dependencies and separately downloaded encoders retain their own terms; applicable attributions and obligations remain in the third-party notices, core notices and component license maps.

Mini is English-only. Check names, unusual vocabulary, numbers and long passages before production use. Event tags are not emotion/style conditioning; general whisper, angry and excited controls are not included. Reference adaptation does not guarantee speaker identity or a particular accent.

Built by Owen Song

Questions, feedback, integrations, or something you made with Inflect:

Community Discord  ·  Discord: blue.os  ·  owen.aw.song@gmail.com

GitHub  ·  Model family  ·  Feedback and issues  ·  Apache 2.0

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

Space using owensong/Inflect-Mini-v3 1

Collection including owensong/Inflect-Mini-v3