Inflect-Mini-v3

owensong/Inflect-Mini-v3

作者
owensong
任务
语音合成
下载量
86
点赞数
21
趋势分
21
许可证
apache-2.0
收录时间
2026/11/13

language:


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.

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

FeatureWhat it addsAvailability
Six preset voicesText-to-waveform speech without a reference recordingAll six voices, CPU or CUDA
Event tagsEight vocal events between speech segmentsAll six voices, CPU, 24 kHz
Voice TunerReference-based adaptation saved as a reusable voice profileOptional enrollment; supported setup is Linux CPU
48 kHz enhancementA compact output enhancer for a different high-frequency presentationAll six preset voices; optional
Long-text handlingText is segmented into manageable speech chunksPreset 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.

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.

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.

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.

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 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

MeasureResultCoverage
Average WER0.739%1,688 texts per voice, all six voices: 10,128 clips
UTMOSv23.917180 clips, 30 per voice
UTMOS22Strong4.479The 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.

VoiceAverage WER
Cassidy0.735%
Hope0.740%
Sophia0.728%
James0.741%
Jasper0.729%
Mark0.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.

ModelAverage WER % ↓UTMOS22 ↑
Ming-3.0-tts-0.5B0.6574.28
Kokoro-82M0.6904.51
Paradee-8M-v1.30.6934.38
phonon-31m-en0.7304.45
supertonic-30.7434.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 / runtimeUTMOSv2 ↑
Inflect Mini, earlier checkpoint3.978
Kokoro3.883
phonon-31m3.782
Inflect Micro, earlier checkpoint3.725
Piper3.630
Kitten2.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 configurationWarm RTFx ↑Warm RTF ↓
RTX 5090, optimized CUDA runtime162.1x0.00617
Ryzen 9 3900X, canonical CPU, 2 Torch threads1.81x0.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 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 runtimeCPU RTFx ↑RTX 5090 RTFx ↑
Kokoro, stock FP32 Torch1.83781.626
Mini, earlier canonical runtime1.87934.201
Micro, earlier FastMicro24K runtime19.58963.247
Atom, earlier Torch-DSP runtime9.032162.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.

ModelCore parametersDesigned for
Mini v334.31MThe feature-rich model: six voices, enhancement, events and Voice Tuner
Micro v311.79MA smaller neural speech core for compact deployment
Atom v3157.19KAn 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

内容来源:Hugging Face 模型卡

在 Hugging Face 查看