Buckets:
| # Inflect v2 evaluation and benchmark report | |
| This page is the detailed evidence record for | |
| [Inflect-Micro-v2](https://huggingface.co/owensong/Inflect-Micro-v2) and | |
| [Inflect-Nano-v2](https://huggingface.co/owensong/Inflect-Nano-v2). The model | |
| cards show the headline results; this document defines the datasets, systems, | |
| normalization, uncertainty, exclusions, runtime boundaries, and raw artifacts | |
| behind those results. | |
| Read each metric separately: WER measures intelligibility, UTMOS22 predicts | |
| naturalness, listening tests record preference, and runtime measures deployment | |
| cost. None of them is an overall quality score. | |
| ## Evidence at a glance | |
| | Release | Complete parameters | FP32 weights | UTMOS22 ↑ | Two-ASR semantic WER ↓ | Community preference ↑ | 4-thread CPU ↑ | | |
| | --- | ---: | ---: | ---: | ---: | ---: | ---: | | |
| | **Inflect-Micro-v2** | **9,356,513** | **37.53 MB** | **4.395** | **3.99%** | **66.2%** | **6.28×** | | |
| | **Inflect-Nano-v2** | **3,966,721** | **15.97 MB** | **4.386** | **4.21%** | **63.9%** | **10.72×** | | |
|  | |
|  | |
|  | |
| ## Compared systems | |
| The benchmark includes KittenTTS Nano, Piper Low, and Supertonic 3 because they | |
| are established compact or local TTS systems. In this package-level comparison, | |
| each has a larger deployable weight footprint than both Inflect releases. That | |
| provides useful size context, but no single result establishes overall | |
| superiority. | |
| Voice variants are separate rows when voice identity can affect quality or | |
| intelligibility. Kitten and Piper may be shown as equal-weight two-voice means | |
| in family-level figures. Supertonic 3-step and 8-step are never pooled. | |
| ## Complete automated result matrix | |
| All systems received matched text within each benchmark. Lower WER is better; | |
| higher UTMOS22 is better. | |
| | System / voice | Complete weights ↓ | UTMOS22 ↑ | Qwen3-ASR WER ↓ | Nemotron 3.5 WER ↓ | Whisper large-v3 WER ↓ | Two-ASR consensus ↓ | | |
| | --- | ---: | ---: | ---: | ---: | ---: | ---: | | |
| | Inflect-Micro-v2 | 37.53 MB | **4.395** | 2.52% | 5.45% | 2.73% | **3.99%** | | |
| | Inflect-Nano-v2 | 15.97 MB | **4.386** | 2.78% | 5.63% | 2.65% | **4.21%** | | |
| | KittenTTS Nano · Bruno | 56.77 MB | **4.217** | 2.15% | 3.96% | 2.17% | **3.06%** | | |
| | KittenTTS Nano · Hugo | 56.77 MB | **4.191** | 2.39% | 3.80% | 2.11% | **3.09%** | | |
| | Piper Low · Danny | 63.10 MB | **4.195** | 2.62% | 5.60% | 2.55% | **4.11%** | | |
| | Piper Low · Ryan | 63.10 MB | **4.289** | 2.81% | 5.51% | 2.87% | **4.16%** | | |
| | Supertonic 3 · M2 · 8-step | 398.08 MB | **4.295** | 2.05% | 3.56% | 8.08% | **2.81%** | | |
| | Supertonic 3 · M2 · 3-step | 398.08 MB | **2.471** | 3.03% | 6.04% | 3.22% | **4.54%** | | |
| The two-ASR consensus is the unweighted mean of Qwen3-ASR and Nemotron 3.5 | |
| corpus-level semantic WER. Whisper remains visible but is excluded from the | |
| headline consensus for every system because its Supertonic 8-step result | |
| contains insertion-heavy outliers that conflict with the other recognizers and | |
| human listening. This rule is applied globally, not selectively to Inflect. | |
|  | |
| ## Uncertainty for the Inflect releases | |
| Intervals use 10,000 matched-prompt bootstrap samples. | |
| | Release | UTMOS22 mean (95% CI) | Qwen3-ASR WER (95% CI) | Nemotron WER (95% CI) | Whisper WER (95% CI) | | |
| | --- | ---: | ---: | ---: | ---: | | |
| | Inflect-Micro-v2 | 4.395 (4.381–4.408) | 2.52% (1.88%–3.24%) | 5.45% (4.50%–6.50%) | 2.73% (2.05%–3.49%) | | |
| | Inflect-Nano-v2 | 4.386 (4.372–4.399) | 2.78% (2.13%–3.52%) | 5.63% (4.72%–6.62%) | 2.65% (2.03%–3.35%) | | |
| ## Modern400 intelligibility protocol | |
| - **400 identical unseen English prompts per system** | |
| - **3,200 generated clips** across eight system/voice configurations | |
| - 200 manually constructed modern and stress prompts | |
| - 200 deterministic Google FLEURS `en_us` test prompts | |
| - exact normalized-text exclusion against 87,362 training transcripts | |
| - deterministic frontend and inference settings within each system | |
| - explicit resampling to every recognizer's required sample rate | |
| - corpus-level WER plus matched-prompt bootstrap intervals | |
| The three independent recognizers are: | |
| | Evaluator | Model | | |
| | --- | --- | | |
| | Qwen3-ASR | `Qwen/Qwen3-ASR-1.7B` | | |
| | Nemotron 3.5 ASR | `nvidia/nemotron-3.5-asr-streaming-0.6b` | | |
| | Whisper | `openai/whisper-large-v3` | | |
| ### Semantic normalization | |
| Raw orthographic WER is not sufficient for TTS. A recognizer may transcribe | |
| “twelve point six” as `12.6` or “July twenty-first” as `July 21st` without the | |
| audio being wrong. The semantic normalizer canonicalizes equivalent number, | |
| currency, date, time, unit, abbreviation, and punctuation forms before scoring. | |
| The release retains both raw and semantic hypotheses so normalization cannot | |
| silently hide errors. | |
| ### Where Inflect errors remain | |
| The following diagnostic uses the same two-ASR consensus as the headline and | |
| does not introduce a new score. | |
| | Prompt category | Micro WER ↓ | Nano WER ↓ | | |
| | --- | ---: | ---: | | |
| | Names Places | 16.67% | 17.54% | | |
| | Short | 4.29% | 9.05% | | |
| | Rare Words | 7.89% | 7.89% | | |
| | Numbers | 6.25% | 4.69% | | |
| | Homographs | 3.57% | 5.71% | | |
| | External Heldout | 5.39% | 5.48% | | |
| | Technical | 4.10% | 3.12% | | |
| | Narrative | 0.57% | 1.56% | | |
| | Punctuation | 0.00% | 1.54% | | |
| | Long Range | 0.83% | 1.24% | | |
| | Conversational | 0.49% | 1.13% | | |
| | Descriptive | 0.44% | 0.88% | | |
| | Long | 0.81% | 0.58% | | |
| | Emotional | 0.15% | 0.30% | | |
| | Question | 0.00% | 0.00% | | |
|  | |
| ## UTMOS22 predicted-naturalness protocol | |
| - **500 identical unseen prompts per system** | |
| - `tarepan/SpeechMOS` v1.2.0 | |
| - one score per generated clip | |
| - mean, median, standard deviation, percentiles, extrema, and 95% bootstrap CI | |
| - Kitten and Piper family figures use equal-weight means across their two voices | |
| UTMOS22 is a learned non-intrusive quality predictor. It is useful for | |
| large-scale screening but is **not human MOS**, can be sensitive to voice and | |
| recording characteristics, and must be interpreted beside intelligibility and | |
| listening evidence. | |
| ## Community blind listening | |
| The final community study stored anonymous pairwise choices rather than user | |
| identity. Model names were hidden during voting, left/right order was | |
| randomized, and a tie counts as half a win. The dataset contains **147 pairwise | |
| decisions**; it does not claim a laboratory-controlled listener panel. | |
| | System / voice | Wins | Losses | Ties | Appearances | Preference rate ↑ | | |
| | --- | ---: | ---: | ---: | ---: | ---: | | |
| | KittenTTS Nano · Hugo | 22 | 8 | 3 | 33 | **71.2%** | | |
| | Inflect-Micro-v2 | 21 | 10 | 3 | 34 | **66.2%** | | |
| | Inflect-Nano-v2 | 22 | 12 | 2 | 36 | **63.9%** | | |
| | Supertonic 3 · James · 8-step | 16 | 12 | 3 | 31 | **56.5%** | | |
| | KittenTTS Nano · Bruno | 16 | 13 | 7 | 36 | **54.2%** | | |
| | Piper Low · Danny | 10 | 8 | 6 | 24 | **54.2%** | | |
| | Piper Low · Ryan | 14 | 13 | 6 | 33 | **51.5%** | | |
| | Inflect-Nano-v1 | 7 | 22 | 3 | 32 | **26.6%** | | |
| | Supertonic 3 · James · 3-step | 1 | 29 | 2 | 32 | **6.2%** | | |
| Preference rate is `(wins + 0.5 × ties) / appearances`. Unequal appearances | |
| mean this table is descriptive; it should not be treated as a perfectly | |
| balanced tournament or formal MOS. | |
| ## Runtime and throughput | |
| ### Managed CPU reference | |
| The published CPU reference uses a Hugging Face **CPU Upgrade** instance | |
| (8 vCPU, 32 GB RAM) with four framework threads and end-to-end | |
| text-to-waveform timing. Inflect received 100 fixed Modern400 prompts across | |
| three complete passes. The first pass populated runtime caches; the published | |
| steady-state result 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×** | | |
| The earlier Ryzen 9 3900X CPU comparison is superseded because background host | |
| saturation and inconsistent framework thread policies made it unsuitable as | |
| release evidence. | |
| ### Directional compact-system context | |
| The same managed CPU and four-thread policy were used for a shorter comparator | |
| confirmation: the identical 50-prompt prefix repeated twice. KittenTTS and | |
| Piper are equal-work pooled across two 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× | | |
| This is deployment context, not a perfectly matched speed leaderboard: | |
| Inflect's figures come from the larger steady-state run, comparator rows use the | |
| shorter confirmation pass, and several comparator packages use optimized ONNX | |
| while the public Inflect package uses PyTorch. | |
| The public runtime also collapses training-time weight normalization once, | |
| immediately after loading the checkpoint. A fixed-seed regression test produced | |
| bit-for-bit identical waveforms before and after this reparameterization. The | |
| downloaded checkpoints retain **9,356,513** and **3,966,721** complete | |
| parameters; the optimized live inference graphs contain **9,344,753** and | |
| **3,958,801** parameters respectively. This is a deployment optimization, not | |
| a smaller checkpoint or a changed acoustic model. | |
| ### Retained CUDA engineering snapshot | |
| The package retains a 50-prompt CUDA snapshot for the two Inflect releases. It | |
| is useful for regression checking but is not a cross-system leaderboard because | |
| the archived report does not identify the GPU model. | |
| | Release | Prompts | RTF ↓ | Audio / wall time ↑ | Median latency | p95 latency | | |
| | --- | ---: | ---: | ---: | ---: | ---: | | |
| | Inflect-Micro-v2 | 50 | 0.0174 | 57.49× | 78.6 ms | 82.7 ms | | |
| | Inflect-Nano-v2 | 50 | 0.0171 | 58.41× | 80.2 ms | 85.3 ms | | |
| ## Complete model footprint | |
|  | |
| “Complete” means the downloadable weight file required for text-to-waveform | |
| generation, including Inflect's integrated waveform decoder. Voice variants | |
| that share identical weights are counted once in family-level footprint | |
| figures. Package size is not the same as peak runtime memory. | |
| ## Frozen artifacts and reproducibility | |
| | Artifact | Purpose | | |
| | --- | --- | | |
| | [`evaluation/final/modern400/prompts.jsonl`](../evaluation/final/modern400/prompts.jsonl) | Frozen Modern400 prompt manifest | | |
| | [`evaluation/final/modern400/summary.json`](../evaluation/final/modern400/summary.json) | Three-ASR summaries, intervals, and category results | | |
| | [`evaluation/final/modern400/exclusion_report.json`](../evaluation/final/modern400/exclusion_report.json) | Exact-text training exclusion audit | | |
| | [`evaluation/final/modern400/`](../evaluation/final/modern400/) | Compressed row-level hypotheses and scoring reports | | |
| | [`evaluation/final/utmos22/report.json`](../evaluation/final/utmos22/report.json) | UTMOS22 clip scores and distributions | | |
| | [`evaluation/final/runtime_snapshot/`](../evaluation/final/runtime_snapshot/) | Retained engineering snapshots | | |
| | [`release_manifest.json`](../release_manifest.json) | File sizes and SHA-256 integrity hashes | | |
| - Modern400 prompt SHA-256: `b7504ce2dce44a2da82770a6a5dfd2a034fe17e2113980f8a69663ade417a34c` | |
| - UTMOS22 prompt SHA-256: `5b7aa33852e6c738eb0e1dbf9fcfcc90772b97ad219167e44aaf3917d063b056` | |
| - Modern400 bootstrap samples: `10,000` | |
| - UTMOS22 bootstrap samples: `10,000` | |
| ## Interpretation limits | |
| - ASR WER measures recognizer agreement with intended text, not naturalness. | |
| - UTMOS22 predicts perceived quality; it is not a substitute for human MOS. | |
| - Community preference is valuable human evidence but is not a controlled lab study. | |
| - One fixed voice per release limits conclusions about speaker diversity. | |
| - Runtime depends on hardware, framework, provider, compilation, thread policy, and host load. | |
| - Results apply to these frozen checkpoints, frontends, prompts, and inference settings. | |
| - No benchmark result should be presented as proof that one model is best for every deployment. | |
Xet Storage Details
- Size:
- 12.5 kB
- Xet hash:
- 263a4a80cad91478dc0ea5390be34a77953fecc88b6189388274adbab53d6fc8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.