owensong's picture
Refine preview model cards and evaluation disclosures
4094bd8 verified
|
Raw History Blame Contribute Delete
17.7 kB
---
language:
- en
pipeline_tag: text-to-speech
model_name: Inflect Mini v3 Preview
tags:
- inflect
- preview
- multi-speaker
metrics:
- wer
inference: false
thumbnail: https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/assets/inflect-v3-family.png
extra_gated_heading: Access the Inflect v3 Preview
extra_gated_description: Non-commercial evaluation preview. Approval is automatic. By accessing the covered materials, you agree to the Inflect Preview Evaluation License 1.0; no redistribution or hosted services. Upstream and earlier grants remain intact.
extra_gated_button_content: Get preview access
license: other
license_name: inflect-preview-evaluation-1.0
license_link: LICENSE.md
---
<p align="center"><img src="https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/assets/inflect-v3-family.png" alt="Inflect v3 family artwork. Conceptual illustration, not benchmark evidence." width="100%" style="border-radius:12px;display:block"></p>
<h1 align="center">Inflect Mini v3 Preview</h1>
<p align="center"><strong>English speech, with quality first.</strong><br>Six English voices. Local inference. 24 kHz speech.</p>
<p align="center"><a href="#six-voices"><img alt="Listen" src="https://img.shields.io/badge/Listen-0B2A54?style=for-the-badge&amp;logo=huggingface&amp;logoColor=white"></a>
<a href="https://github.com/owenawsong/Inflect"><img alt="GitHub" src="https://img.shields.io/badge/GitHub-1769E0?style=for-the-badge&amp;logo=github&amp;logoColor=white"></a>
<a href="https://huggingface.co/collections/owensong/inflect-v3-preview-6adad1c0c9e6fb018f440610"><img alt="Models" src="https://img.shields.io/badge/Models-FFFFFF?style=for-the-badge&amp;logo=huggingface&amp;logoColor=1769E0"></a>
<a href="https://discord.gg/CVJYedvzvp"><img alt="Discord" src="https://img.shields.io/badge/Discord-1769E0?style=for-the-badge&amp;logo=discord&amp;logoColor=white"></a>
<a href="https://huggingface.co/owensong/Inflect-Mini-v3-Preview/blob/main/EVALUATION_REPORT.md"><img alt="Results" src="https://img.shields.io/badge/Results-0B2A54?style=for-the-badge&amp;logo=chartdotjs&amp;logoColor=white"></a></p>
<p><strong>Preview only: not the final Inflect v3 release.</strong> Shared directly with testers; this public, discoverable checkpoint may change. Approval is automatic after sign-in and acceptance of the preview terms. The R2 runtime results below are separate and do not change this download, its CLI, or defaults.</p>
<p><strong>Non-commercial evaluation only.</strong> The existing <a href="https://huggingface.co/owensong/Inflect-Mini-v3-Preview/blob/main/LICENSE.md">preview license</a> does not permit model redistribution or hosted services.
Final-release licensing remains undecided; earlier valid grants and upstream terms remain intact.</p>
<p align="center"><strong>34,310,790 synthesis-core parameters</strong> &nbsp;&middot;&nbsp; 138.39 MB FP32 checkpoint<br>
Six fixed voices &nbsp;&middot;&nbsp; 24 kHz mono &nbsp;&middot;&nbsp; Offline after setup</p>
The largest current Inflect preview. Start here when you want to evaluate the family with speech quality first, rather than the smallest checkpoint.
## Six voices
Start with **Cassidy** and **Mark**, then compare all six. Each voice reads a different
short passage; its passage stays the same across the four preview downloads.
<div style="display:flex;flex-wrap:wrap;gap:14px">
<div style="flex:1 1 280px;min-width:0;border:1px solid rgba(120,140,165,0.35);border-radius:12px;padding:20px 18px;text-align:center;background:rgba(23,105,224,0.025)">
<p style="margin:0"><sub>CONVERSATION</sub><br><strong style="font-size:21px">Cassidy</strong></p>
<p style="font-size:14px;line-height:1.6;min-height:4.8em;margin:14px 0">Could you bring the smaller suitcase downstairs?</p>
<audio controls preload="metadata" style="width:100%;max-width:300px;height:44px" src="https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/gallery-v2/mini/cassidy.wav" aria-label="Cassidy sample"></audio>
</div>
<div style="flex:1 1 280px;min-width:0;border:1px solid rgba(120,140,165,0.35);border-radius:12px;padding:20px 18px;text-align:center;background:rgba(23,105,224,0.025)">
<p style="margin:0"><sub>INSTRUCTIONS</sub><br><strong style="font-size:21px">Mark</strong></p>
<p style="font-size:14px;line-height:1.6;min-height:4.8em;margin:14px 0">Press the side button once, then wait until the indicator turns green.</p>
<audio controls preload="metadata" style="width:100%;max-width:300px;height:44px" src="https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/gallery-v2/mini/mark.wav" aria-label="Mark sample"></audio>
</div>
<div style="flex:1 1 280px;min-width:0;border:1px solid rgba(120,140,165,0.35);border-radius:12px;padding:20px 18px;text-align:center;background:rgba(23,105,224,0.025)">
<p style="margin:0"><sub>EXPLANATION</sub><br><strong style="font-size:21px">Hope</strong></p>
<p style="font-size:14px;line-height:1.6;min-height:4.8em;margin:14px 0">A shadow becomes longer when the light source moves closer to the horizon.</p>
<audio controls preload="metadata" style="width:100%;max-width:300px;height:44px" src="https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/gallery-v2/mini/hope.wav" aria-label="Hope sample"></audio>
</div>
<div style="flex:1 1 280px;min-width:0;border:1px solid rgba(120,140,165,0.35);border-radius:12px;padding:20px 18px;text-align:center;background:rgba(23,105,224,0.025)">
<p style="margin:0"><sub>NARRATION</sub><br><strong style="font-size:21px">James</strong></p>
<p style="font-size:14px;line-height:1.6;min-height:4.8em;margin:14px 0">Beyond the orchard, a narrow footpath curved toward the ruined tower.</p>
<audio controls preload="metadata" style="width:100%;max-width:300px;height:44px" src="https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/gallery-v2/mini/james.wav" aria-label="James sample"></audio>
</div>
<div style="flex:1 1 280px;min-width:0;border:1px solid rgba(120,140,165,0.35);border-radius:12px;padding:20px 18px;text-align:center;background:rgba(23,105,224,0.025)">
<p style="margin:0"><sub>DIALOGUE</sub><br><strong style="font-size:21px">Sophia</strong></p>
<p style="font-size:14px;line-height:1.6;min-height:4.8em;margin:14px 0">Wait! I left something important on the counter.</p>
<audio controls preload="metadata" style="width:100%;max-width:300px;height:44px" src="https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/gallery-v2/mini/sophia.wav" aria-label="Sophia sample"></audio>
</div>
<div style="flex:1 1 280px;min-width:0;border:1px solid rgba(120,140,165,0.35);border-radius:12px;padding:20px 18px;text-align:center;background:rgba(23,105,224,0.025)">
<p style="margin:0"><sub>DIFFICULT-WORD STRESS TEST</sub><br><strong style="font-size:21px">Jasper</strong></p>
<p style="font-size:14px;line-height:1.6;min-height:4.8em;margin:14px 0">Photosynthesis, crystallography, and electromagnetic interference demand precise measurements.</p>
<audio controls preload="metadata" style="width:100%;max-width:300px;height:44px" src="https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/gallery-v2/mini/jasper.wav" aria-label="Jasper sample"></audio>
</div>
</div>
<sub>Raw 24 kHz samples, without denoising, EQ or gain matching.
Exact audio identities and downloads: <a href="https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/2741ca74f46b84a364c426043663f604ebfafc6e/gallery-v2/mini/manifest.json">sample manifest</a>.</sub>
## Choose your preview
All four downloads provide the same six fixed voice IDs. Choose by footprint,
then listen: a smaller model is not automatically the right trade-off for your text.
| Preview | Synthesis core | FP32 checkpoint | Position in the family |
| --- | ---: | ---: | --- |
| [**Mini**](https://huggingface.co/owensong/Inflect-Mini-v3-Preview) | 34,310,790 | 138.39 MB | Quality-focused |
| [Micro](https://huggingface.co/owensong/Inflect-Micro-v3-Preview) | 12,632,966 | 51.62 MB | Original Micro preview |
| [Nano](https://huggingface.co/owensong/Inflect-Nano-v3-Preview) | 4,465,702 | 18.93 MB | Retained compact preview |
| [Atom](https://huggingface.co/owensong/Inflect-Atom-v3-Preview) | 157,190 | 0.66 MB | Smallest synthesis core |
These are **synthesis-core** counts, not total frontend-inclusive parameters, install
size or peak memory. [Complete accounting](MODEL_DETAILS.md). Nano remains available;
the separate private English release-candidate selection is Mini, Fast Micro and Atom.
**Private candidates are not silently substituted into these downloads.** [Release status](RELEASE_STATUS.md).
## Separate R2 runtime checks
These measurements are from separate R2 package/invocations; they do not
qualify this repository's downloaded CLI or change defaults. Mini's measured
optimized CUDA-source branch is not included in the published CLI. The existing
Atom Deployment already supports `--backend cpu-lut`; this specific R2 timing
does not qualify that download or alter its defaults. Mini and Atom weight hashes match R2, but
weight identity alone is not download qualification. The original published
four-ASR WER tables are unchanged.
| Optional R2 path | Baseline | R2 path | Relative throughput |
| --- | ---: | ---: | ---: |
| Mini CUDA, 432 calls per arm | 28.6083x realtime | 87.7679x | 3.068x |
| Atom CPU-LUT, 432 calls per arm | 8.91496x realtime | 22.86164x | 2.564x |
Separate Mini UTMOSv2 runtime comparison: 3.9259485 to
3.9179733 (144 pairs, 24 validation
texts, 864 crop predictions). Descriptive paired 95% CI
for the change: [-0.0188412, 0.0027625];
no equivalence margin was predeclared. This is a proxy comparison, not human
MOS or approval. Details and source hashes are in the
[October 31 evaluation appendix](EVALUATION_REPORT.md#r2-runtime-validation-2026-10-31).
### Separate R2 Mini paired ASR diagnostic
Canonical and accelerated R2 Mini each scored **0.8091% WER**:
**20 edits / 2,472 reference words** per runtime.
The paired check covers 24 texts across all six voices, with 144 clips per arm.
It is a single-recognizer validation diagnostic, not an official leaderboard
score or a human-confirmed TTS-error assessment.
The existing four-ASR WER table later in this card remains unchanged; equal
counts do not establish perceptual equivalence.
<details>
<summary>Recognizer, normalization and source hashes</summary>
One native Hugging Face English Qwen recognizer (Qwen/Qwen3-ASR-1.7B-hf, BF16,
batch size 1; adapter SHA-256 `edb7f60ff0ddb15b3050a900ac7d6858ef50e4b5df6957878f3c51dabd98b593`) scored these CV3
validation texts, not the full CV3 set or Seed-TTS. Each runtime has
20/2472 edits: 13 substitutions,
1 deletion and 6 insertions.
The pinned analyzer verified serialized
counts, but did not rerun ASR or independently recompute alignment/normalization.
Analysis SHA-256: `bb556560ec488f9de5fd92751a9980caa9fb2fe508d6d81ea42961893948f1ec`; full result SHA-256:
`ca1f9a4123cd9c7f31ba34d29d643af54f008887814efa18f73fa5a0ea9f4cf5`.
</details>
## Evaluation
Naturalness, pronunciation and runtime are different questions. We report them separately,
identify the checkpoint behind each result, and retain the counts behind the percentages.
### Sound quality / UTMOS v2
Higher is better. These are **predicted naturalness** scores, not human MOS or a listening vote.
The historical Native96 panel uses 96 ordinary texts and two voice slots (192 clips).
Atom was qualified later on that panel, rather than in the original joint run.
| Public checkpoint | UTMOS v2 | Scored clips |
| --- | ---: | ---: |
| Inflect Mini | 3.978 | 192 |
| Inflect Micro | 3.725 | 192 |
| Inflect Nano | 3.454 | 192 |
| Inflect Atom | 2.733 | 192 |
<details>
<summary><strong>Visual comparison, competitors and predictor limitations</strong></summary>
The [original dot plot](https://huggingface.co/datasets/owensong/Inflect-v3-Preview-Media/resolve/d389d892202fc406567c11bbaa659c4625d666e6/card-polish-20261025/mini/utmos-v2.svg)
uses an explicitly cropped 2.0-4.5 axis. Its original seven-system panel does not include
the later Atom qualification. [Full comparison and 0-5 view](BENCHMARK_GUIDE.md#predicted-naturalness).
UTMOS v2 and UTMOS22Strong are different predictors and are never pooled here.
</details>
### Word accuracy / averaged WER
Lower is better. The Native96 headline is the **arithmetic mean of four normalized,
word-weighted corpus WERs**, calculated before rounding. It is not a recognizer ensemble
or a human-verified error rate. Small gaps do not establish a better-sounding model.
| Public checkpoint | ASR-mean WER | Paired clips |
| --- | ---: | ---: |
| Inflect Mini | **0.269%** | 192 |
| Inflect Micro | **0.185%** | 192 |
| Inflect Nano | **0.926%** | 192 |
| Inflect Atom | **0.176%** | 192 |
<details>
<summary><strong>Raw errors, recognizers, categories and larger test sets</strong></summary>
WER is `(substitutions + deletions + insertions) / reference words`. Native96 has
2,700 reference words per recognizer. Recognizer edit counts are not counts of unique
words pronounced incorrectly. Formatting normalization does not erase missing endings
or changed meaning. [Individual counts and category results](EVALUATION_REPORT.md).
Separate, later diagnostic runs used 500 CV3 texts and a random common cohort of
256 Seed-TTS texts. Only the published Mini and Atom identities were covered:
| Published model | CV3 / errors per reference words | Seed-256 / errors per reference words |
| --- | ---: | ---: |
| Inflect Mini | 88/7377 (1.193%) | 19/2808 (0.677%) |
| Inflect Atom | 100/7377 (1.356%) | 24/2808 (0.855%) |
These later results use a substituted Qwen ASR implementation; Seed is a subset.
They are **not official Open TTS Leaderboard scores**, not the four-ASR mean above,
and not directly rankable against the leaderboard's published numbers. Original public
Micro and Nano were not measured in those later runs. [Protocol, coverage and limitations](EVALUATION_REPORT.md#later-english-diagnostics).
</details>
### Runtime / CPU and GPU
Warm, complete-utterance timing of the **original public checkpoints**. Lower RTF is
faster: RTF is generation wall time divided by audio duration. These are not cold-start
or first-audio latency measurements.
| Published preview | CPU median RTF | RTX 5090 median RTF |
| --- | ---: | ---: |
| Inflect Mini | 0.5159 | 0.0349 |
| Inflect Micro | 0.1896 | 0.0422 |
| Inflect Nano | 0.0805 | 0.0388 |
| Inflect Atom | 0.0481 | Not in this panel |
CPU: two physical AMD EPYC 7K62 cores. Atom's CPU row uses the **approximate CPU-LUT**
backend; its default Torch backend is a different path. The original GPU panel covered
Mini, Micro and Nano, not Atom. These tables must not be read as private Fast Micro results.
[Hardware, trials, backend choices and later Mini/Atom measurements](EVALUATION_REPORT.md#original-cpu-and-gpu-timing).
[Read the evaluation report](EVALUATION_REPORT.md) &nbsp;&middot;&nbsp;
[Machine-readable metrics](evaluation-metrics.json) &nbsp;&middot;&nbsp;
[Historical benchmark archive](BENCHMARKS.md)
## Run locally
Accept access on the model page first, then use your own Hugging Face account.
In an isolated **Python 3.12** environment:
```bash
python -m pip install "huggingface_hub>=0.34"
hf auth login
hf download owensong/Inflect-Mini-v3-Preview --local-dir inflect-mini-v3-preview
cd inflect-mini-v3-preview
python -m pip install -r requirements.txt "loguru==0.7.3" "attrs==26.1.0"
python -m spacy download en_core_web_sm
python synthesize.py --voice cassidy --text "What would you like to hear next?" --output example.wav
```
Install the expected `en_core_web_sm` **3.8.0** assets before offline use. The supplied
CLI, dependency prerequisites, Atom's optional CPU-LUT setup, platform caveats and
revision-pinned commands are documented in the [deployment guide](DEPLOYMENT.md).
This is an evaluation package, not a certified all-platform installer.
## Before you build
- **Fixed English voices.** Voice cloning, emotion/event tags and true streaming are not included.
- **Listen to your actual text.** Names, numbers, ambiguous readings and consonant endings can fail;
unsupported or long input can be refused. Automated metrics do not certify every utterance.
- **Preview terms still apply.** No commercial use, model redistribution or hosted services without
separate permission. Do not infer voice or data clearance from automatic access approval.
[Supported scope and provenance](MODEL_DETAILS.md) &nbsp;&middot;&nbsp;
[Current download vs release candidates](RELEASE_STATUS.md) &nbsp;&middot;&nbsp;
[Preview license](LICENSE.md) &nbsp;&middot;&nbsp; [Third-party notices](THIRD_PARTY_NOTICES.md)
---
<p align="center"><strong>Help finish Inflect v3.</strong><br>
<a href="https://discord.gg/CVJYedvzvp">Join the Inflect Discord</a> &nbsp;&middot;&nbsp;
<a href="https://huggingface.co/owensong/Inflect-Mini-v3-Preview/discussions">Report a sentence</a> &nbsp;&middot;&nbsp;
<a href="https://huggingface.co/collections/owensong/inflect-v3-preview-6adad1c0c9e6fb018f440610">Explore the collection</a></p>
For useful feedback, include the voice, exact non-sensitive text, repository revision,
seed and what sounded wrong. Keep credentials and private voice recordings out of reports.