Recursive AI

Measured results and limits

All onespeech docs

The release revalidation table distinguishes full-split measurements from the earlier fixed-slice evidence below. The tables disclose incomplete datasets, qualified references and remaining gaps; these results are not a cross-hardware guarantee. Lower is better for all errors below. Scores are percentages unless otherwise stated. Unless noted, recognition quality rows use float32. Models and publisher revisions are pinned in the catalog; see notices for attribution. No speed comparison with a native implementation is made here.

CI convention: the release table labels absolute-score and paired-difference 95% intervals separately. The older slice tables give only intervals for our score minus the reference score, in percentage points. Recognition uses 1,000 utterance resamples, seed 1729, and the same en/1 scoring normalizer on both sides. “Within noise” means the difference interval includes zero. With no computable CI, the comparison uses a 0.5-point bound. Slices must not be interpreted as full-test results.

Release quality revalidation (2026-11-08–11)

The inference measurements started from core source dd63517 through the public recognizer, live-session and embedding APIs. Later reader hardening changes invalid-input handling, not valid-model inference. Moonshine uses its default greedy decoding, 6.5 generated tokens per audio second, no biasing, and two CPU threads. The reference uses the pinned publisher weights, Transformers 5.22.2, float32, eager attention and deterministic generation. Speaker extraction uses eight threads on each side. Whisper int8 rows use temperature-zero greedy decoding without word timestamps on both sides; the reference uses beam/best-of one, no VAD filter and previous-text conditioning. Native CPU reservations changed from eight to two threads during the resumable run; precision and decoding controls did not change. No previously saved hypotheses or embeddings were substituted for the new inference runs.

Model / taskDatasetMetricOurs [absolute 95% CI]Reference / versionPaired difference CIVerdict
Whisper large-v3-turbo fp32Full LibriSpeech test-clean, 2,620 utterancesWER %2.267 [2.093, 2.432]2.289 / openai-whisper 20250625[-0.136, +0.072] ppWithin noise
Whisper large-v3-turbo fp32Full LibriSpeech test-other, 2,939 utterancesWER %4.275 [4.032, 4.538]4.331 / openai-whisper 20250625[-0.139, +0.019] ppWithin noise
Whisper small fp32Full LibriSpeech test-clean, 2,620 utterancesWER %3.650 [3.452, 3.877]3.669 / openai-whisper 20250625[-0.083, +0.046] ppWithin noise
Whisper small fp32Full LibriSpeech test-other, 2,939 utterancesWER %7.852 [7.486, 8.236]7.924 / openai-whisper 20250625[-0.171, +0.031] ppWithin noise
Whisper large-v3-turbo mixed-int8Full LibriSpeech test-clean, 2,620 utterancesWER %2.291 [2.118, 2.461]2.355 / faster-whisper 1.2.1, CT2 4.8.5 int8[-0.367, +0.118] ppWithin noise
Whisper large-v3-turbo mixed-int8Full LibriSpeech test-other, 2,939 utterancesWER %4.479 [4.227, 4.734]4.503 / faster-whisper 1.2.1, CT2 4.8.5 int8[-0.514, +0.264] ppWithin noise
Whisper small mixed-int8Full LibriSpeech test-clean, 2,620 utterancesWER %3.731 [3.517, 3.965]3.927 / faster-whisper 1.2.1, CT2 4.8.5 int8[-0.645, +0.074] ppWithin noise
Whisper small mixed-int8Full LibriSpeech test-other, 2,939 utterancesWER %8.038 [7.658, 8.449]8.007 / faster-whisper 1.2.1, CT2 4.8.5 int8[-0.145, +0.185] ppWithin noise
Moonshine streaming-tiny, offlineFull LibriSpeech test-clean, 2,620 utterancesWER %4.811 [4.505, 5.138]4.811 / Transformers 5.22.2[0, 0] ppWithin noise
Moonshine streaming-tiny, offlineFull LibriSpeech test-other, 2,939 utterancesWER %12.616 [12.089, 13.133]12.620 / Transformers 5.22.2[-0.012, 0] ppWithin noise
Moonshine streaming-tiny mixed-int8, offlineFull LibriSpeech test-clean, 2,620 utterancesWER %4.771 [4.474, 5.090]4.811 / our fp32[-0.097, +0.011] ppWithin 0.5 pp of fp32
Moonshine streaming-tiny mixed-int8, offlineFull LibriSpeech test-other, 2,939 utterancesWER %12.641 [12.107, 13.176]12.616 / our fp32[-0.103, +0.152] ppWithin 0.5 pp of fp32
Moonshine streaming-tiny, live, 100 ms pushesLibriSpeech test-clean, first 200WER %5.070 [4.016, 6.222]No equivalent streaming-policy oracle—Floor
Moonshine streaming-tiny, live, 100 ms pushesLibriSpeech test-other, first 200WER %18.185 [16.110, 20.255]No equivalent streaming-policy oracle—Floor
Moonshine streaming-tiny, live, 100 ms pushesLibriSpeech test-clean, first 200Mean finalisation latency, ms2254.6 [2000.6, 2559.8]Whisper tiny DTW word-end estimates, openai-whisper 20250625—Floor, not independent truth
Moonshine streaming-tiny, live, 100 ms pushesLibriSpeech test-other, first 200Mean finalisation latency, ms1535.6 [1416.3, 1649.1]Whisper tiny DTW word-end estimates, openai-whisper 20250625—Floor, not independent truth
CAM++ EnglishLibriSpeech fixed 20,000 trialsEER %0.750 [not computed]0.750 / ModelScope 1.40.2[0, 0] ppWithin noise
CAM++ EnglishLibriSpeech fixed 20,000 trialsminDCF0.0379 [not computed]0.0379 / ModelScope 1.40.2[0, 0]Within noise
ECAPA-TDNNLibriSpeech fixed 20,000 trialsEER %1.100 [not computed]1.100 / SpeechBrain 1.1.2[0, 0] ppWithin noise
ECAPA-TDNNLibriSpeech fixed 20,000 trialsminDCF0.0548 [not computed]0.0548 / SpeechBrain 1.1.2[0, 0]Within noise
Whisper large-v3-turbo, language IDFLEURS, five each English/French/GermanAccuracy15/15 [not computed]15/15 / openai-whisper 20250625—Information only

Full-split Moonshine token/text identity is 5,558/5,559 sequences. The differing test-other recording is 6070-86744-0018 (33.645 seconds); it contains punctuation and word differences, not merely a different special-token representation. The within-noise WER result does not imply token-identical decoding on every recording.

Live finalisation latency means audio-time Final availability minus an edit-matched word's estimated end, not CPU inference latency. There are 4,427 matched tokens out of 4,685 reference tokens on clean, and 2,524 out of 3,086 on other. The calculation retains 35/32 negative estimates rather than clamping them. Latency intervals resample recordings 1,000 times with seed 1729. The 200-recording floors and the earlier 20-recording floors below have different populations and must not be compared as a regression test. Scoring the retained first-20 subset separately reproduces the earlier rounded floors: WER 1.70/8.33% and mean latency 3057/1617 ms.

Speaker trials contain 10,000 same-speaker and 10,000 different-speaker pairs, 73 speakers and 1,460 distinct trial utterances. Extraction covered 1,490 utterances, including additional parity probes. Paired bootstrap resamples trials within same/different strata, conditional on this fixed population; minDCF uses prior 0.01, unit costs and normalization. These rows do not replace the unavailable VoxCeleb1-O evaluation. Model revisions are Moonshine f8e9dfd8c562c257c151a907b7b7f2fe8ff8511a, CAM++ English 032b8131a7ad812f87061955ca974c99060c5a03, and ECAPA 0f99f2d0ebe89ac095bcc5903c4dd8f72b367286.

Environment: CPU-only x64, AMD Ryzen 9 7950X3D (16 physical / 32 logical CPUs; FMA, AVX2 and AVX-512 available), .NET SDK 10.0.403 / runtime 10.0.14, OneModel 1.2.0 and OneAudio 1.7.2. Language ID uses eight threads. Runs used a shared CPU queue; these are correctness measurements, not publishable speed rows.

Coverage: full Whisper turbo/small fp32 and int8, and full Moonshine fp32/int8 rows are complete. Each LibriSpeech comparison contains all 2,620 clean or 2,939 other utterances. Parakeet full-set, Qwen first-500 CPU-limited slices, five-recording long-form comparisons and timing revalidation are in the additional ASR section below. Full-set diarization and Nemotron streaming are reported in their separate section below. The fixed shortest-duration Earnings-22 selection is 4474955, 4483046, 4468919, 4479524, 4481221 (875.020, 1193.180, 1214.487, 1226.213, 1236.904 seconds). Its measured long-form rows and both temperature policies are reported below. Earlier misses below remain visible and are not superseded by unmeasured rows.

Reader mutation campaigns

Each listed target completed a 600-second mutation budget (libFuzzer reported 601 seconds), with one fuzzer running at a time and four CPU cores reserved for publishing and mutation. SharpFuzz 2.2.0 instruments a disposable copy of the assembly containing the reader; libfuzzer-dotnet is release v2025.05.02.0904. Mutation input limits are 64 KiB, except SentencePiece (128 KiB) and Parakeet vocabulary (256 KiB). These bounded campaigns are not an exhaustive proof for all input sizes or dependency readers.

TargetMutation budget, sExecutionsCoverage featuresCrashes
Transcript JSON60028,843,8611,5960
Model catalog60024,003,5178650
WAV / G.711 entry60021,043,2763980
General audio decode entry60017,547,2482820
Checkpoint ZIP60027,408,8631,0450
Checkpoint pickle index60016,476,0792,1660
Safetensors60032,004,7105070
SentencePiece60027,466,8941,0810
Moonshine tokenizer / configuration60019,052,0835800
Parakeet vocabulary / normalization6002,599,8002510
RTTM (evaluation tool)60027,514,8402360
Whisper byte-BPE files6002,280,3392210
Qwen byte-BPE files6001,455,7732650
Whisper configuration6002,060,381690
Qwen configuration6003,929,405850
Converter provenance (Whisper/Moonshine/Qwen)6001,485,3181,0730
Nemotron ASR processor configuration6002,166,3321740
Whisper generation configuration6001,946,3481570

The checkpoint campaigns instrument the core assembly where the reader now resides, not the converter assembly. General audio decoding is exercised without the WAV-only prefilter; OneAudio itself is not instrumented. RTTM is an evaluation-tool reader, not a shipped core reader. No mutated-input crash was found. New hostile-input tests also cover malformed byte-BPE/configuration shapes, empty special tokens and invalid generation IDs/heads. The complete reader inventory distinguishes owned readers from dependency parsers. One new harness startup failed because it touched an instrumented static initializer before fuzzer initialization; setup was corrected before the clean campaigns, with no input crash to minimize.

Offline recognition

LibriSpeech rows are the first 200 sorted utterance IDs of each named split. Each row is separate; results are not averaged across splits or models.

ModelDataset sliceMetric / oursReference scoreBlack-box referenceDifference CIVerdict
Whisper smalltest-clean 200WER 2.5032.674openai-whisper 20250625[-0.493, +0.066]Within noise
Whisper smalltest-other 200WER 10.28010.312openai-whisper 20250625[-0.556, +0.554]Within noise
Whisper large-v3-turbotest-clean 200WER 1.4761.561openai-whisper 20250625[-0.321, +0.129]Within noise
Qwen3-ASR 0.6Btest-clean 200WER 1.7541.711qwen-asr 0.0.6[0, +0.155]Within noise
Qwen3-ASR 0.6Btest-other 200WER 5.6285.628qwen-asr 0.0.6[0, 0]Within noise
Qwen3-ASR 1.7Btest-clean 200WER 1.4331.369qwen-asr 0.0.6[0, +0.233]Within noise
Qwen3-ASR 1.7Btest-other 200WER 4.1314.131qwen-asr 0.0.6[0, 0]Within noise
Moonshine tinytest-clean 200WER 3.723.72Transformers 5.22.2[0, 0]Within noise
Moonshine tinytest-other 200WER 14.5414.54Transformers 5.22.2[0, 0]Within noise
Moonshine basetest-clean 200WER 2.742.74Transformers 5.22.2[0, 0]Within noise
Moonshine basetest-other 200WER 11.3911.39Transformers 5.22.2[0, 0]Within noise
Moonshine streaming-tinytest-clean 200WER 3.643.64Transformers 5.22.2[0, 0]Within noise
Moonshine streaming-tinytest-other 200WER 14.9614.96Transformers 5.22.2[0, 0]Within noise
Moonshine streaming-smalltest-clean 200WER 2.102.10Transformers 5.22.2[0, 0]Within noise
Moonshine streaming-smalltest-other 200WER 9.439.43Transformers 5.22.2[0, 0]Within noise
Parakeet-TDT-0.6B-v3test-clean 200WER 2.0532.053NeMo 3.0.0, greedy TDT[0, 0]Within noise
Parakeet-TDT-0.6B-v3test-other 200WER 4.4244.424NeMo 3.0.0, greedy TDT[0, 0]Within noise
omniASR-CTC-300Mtest-clean 200CER 1.28791.2879omnilingual-asr 0.2.0[0, 0]Within noise

The omniASR row tests the aligner's acoustic decoding, not general-purpose ASR coverage. Moonshine produced 1,600/1,600 identical token sequences across its eight rows; Parakeet produced identical tokens and frames across the two slices (14,365 tokens).

Timing

Boundary errors are mean absolute start/end error in milliseconds. Confidence intervals were not supplied for these rows. A timing floor is a first measurement against independent truth, not a claim of equivalence to that truth.

MethodSlice / paired wordsReferenceStart / end msWithin 50 ms start / endWithin 100 ms start / endVerdict
Whisper-small DTWtest-clean 200 / 4,625openai-whisper 20250625 timestamps11.9 / 8.697.0 / 98.1%98.7 / 99.8%Measured implementation difference
Qwen3-ForcedAlignertest-clean 200qwen-asr 0.0.6 toolkit28.7 / 18.990.8 / 98.1%94.4 / 98.1%Post-processing parity gap; 67/4,634 untimed
Parakeet nativetest-clean / 4,633NeMo 3.0.00 / 0100 / 100%100 / 100%Identical boundaries
omniASR CTCtest-clean 200 / 4,531 common wordsMFA 3.4.352.35 / 50.33Not suppliedNot suppliedFloor
omniASR CTCtest-other 100 / 1,465 common wordsMFA 3.4.349.77 / 53.00Not suppliedNot suppliedFloor
Our Whisper-small DTWtest-clean 200 / same common wordsMFA 3.4.394.16 / 79.23Not suppliedNot suppliedFloor
Our Whisper-small DTWtest-other 100 / same common wordsMFA 3.4.3104.27 / 75.52Not suppliedNot suppliedFloor
Reference Whisper DTWtest-clean 200 / same common wordsMFA 3.4.392.87 / 77.98Not suppliedNot suppliedInformation only
Reference Whisper DTWtest-other 100 / same common wordsMFA 3.4.3103.96 / 75.80Not suppliedNot suppliedInformation only

MFA truth uses English MFA acoustic model/dictionary v3.0.0 with speaker adaptation disabled. The CTC aligner left 0/4,634 clean words and 9/1,562 other words untimed. Common-word comparisons exclude words not timed by every compared method; they do not erase these failures.

Diarization

DER uses no collar and scores overlap. Values below are DER / JER percentages. Single-recording rows have no bootstrap CI. AMI uses Mix-Headset test recordings ES2004a/b; AliMeeting uses Eval far-field channel 1. The tier-1 method is Silero + CAM++ English (AMI) or Chinese (AliMeeting), spectral clustering and cosine resegmentation; its settings were selected on AMI development ES2011a/b, not these test recordings.

DiarizerRecordingOurs DER / JERReference DER / JERBlack-box referenceVerdict (DER / JER)
Tier-1 clusteringAMI ES2004a28.21 / 29.6226.54 / 29.63ModelScope 1.40.2 CAM++ diarization bundleMiss / within 0.5
Tier-1 clusteringAMI ES2004b20.92 / 19.7718.10 / 19.26ModelScope 1.40.2 CAM++ diarization bundleMiss / miss
Tier-1 clusteringAliMeeting R8001_M8004_MS80141.57 / 41.1334.52 / 34.02ModelScope 1.40.2 CAM++ diarization bundleMiss / miss
Tier-1 clusteringAliMeeting R8003_M8001_MS80126.79 / 28.9526.89 / 28.58ModelScope 1.40.2 CAM++ diarization bundleWithin 0.5 / within 0.5
Nemotron 3 DiarizationAMI ES2004a26.90 / 29.0826.90 / 29.09Transformers 5.22.2Within 0.5 / within 0.5
Nemotron 3 DiarizationAMI ES2004b21.62 / 21.5321.62 / 21.53Transformers 5.22.2Within 0.5 / within 0.5
Nemotron 3 DiarizationAliMeeting R8001_M8004_MS80118.64 / 18.0318.64 / 18.03Transformers 5.22.2Within 0.5 / within 0.5
Nemotron 3 DiarizationAliMeeting R8003_M8001_MS80118.30 / 18.5418.30 / 18.54Transformers 5.22.2Within 0.5 / within 0.5

Tier-1 overlap detection is absent. These misses are real limitations, not rounded-away successes. Short recordings (at most 60 seconds) now use cosine AHC: a separate seeded LibriSpeech short-recording check improved speaker-count accuracy from 9/24 to 23/24 (singles 12/12, pairs 11/12), with DER 5.85%. It is not an AMI/VoxConverse population estimate.

Online clustering floors with 100 ms pushes: ES2004a 47.08/54.66, ES2004b 26.88/27.71, R8001 56.39/53.94, R8003 39.41/42.64 DER/JER. Turn availability delay averaged 1.32–1.71 seconds. No equivalent reference-policy CI is available; live and whole-recording clustering are not interchangeable.

Speaker embeddings

LibriSpeech test-clean + test-other, 20,000 balanced trials, 73 speakers, seed 1729. These are identity-only trials on this fixed population, not open-set VoxCeleb1-O results. The paired-trial CI is conditional on these speakers. minDCF uses prior 0.01, miss/false-alarm costs 1, normalized; scores use raw cosine.

ModelMetric / oursReferenceReference versionDifference CIVerdict
CAM++ EnglishEER 0.75%; minDCF 0.03790.75%; 0.0379ModelScope 1.40.2[0,0] bothWithin noise
ECAPA-TDNNEER 1.10%; minDCF 0.05481.10%; 0.0548SpeechBrain 1.1.2[0,0] bothWithin noise
CAM++ ChineseEER 2.87%; minDCF 0.18762.87%; 0.1876ModelScope 1.40.2[0,0] bothInformation on English trials

Authorized local segmentation

The local segmentation-3.0 adapter uses the pinned publisher checkpoint with float32 OneModel 1.2.0. On the first five ordinal LibriSpeech test-clean clips (1089-134686-0000 through 0004), padded/truncated to 10 seconds, probability-space max absolute error against pyannote.audio 4.0.7 / CPU Torch 2.11.0 is 9.19e-6; the largest per-clip mean error is 2.64e-7. All 2,945 powerset frame decisions match. This probe row uses four threads on x64 (AMD Ryzen 9 7950X3D); it does not establish a bitwise or all-ISA guarantee. Raw log-probability errors and crafted low-variance cases are described in the segmentation contract; this is not bitwise parity.

The following are floors for our segmentation-plus-CAM++ clustering policy, not community-1 equivalence. Both sides use fp32, no collar, overlap scored, and the same scorer/truth. AMI v1.6.2 uses Mix-Headset audio; AliMeeting Eval uses far-field channel 1. Each row is one recording, without a bootstrap CI. Our side uses four CPU threads, independent 10 s chunks and the existing spectral/AHC defaults; CAM++ English on AMI and Chinese on AliMeeting. Community-1 is the publisher's complete pipeline (different embedder and PLDA/VBx), run offline through pyannote.audio 4.0.7, for information only. Its ES2004a reference uses four CPU threads; the remaining reference shards use eight to fit the per-recording run bound, with unchanged model/pipeline parameters.

RecordingOur DER / JER %Community-1 DER / JER %Status
AMI ES2004a20.62 / 25.9918.76 / 22.74Floor; reference information
AMI ES2004b13.40 / 15.8312.61 / 14.28Floor; reference information
AliMeeting R8001_M8004_MS80126.46 / 30.4122.02 / 24.55Floor; reference information
AliMeeting R8003_M8001_MS80120.40 / 24.1117.38 / 19.14Floor; reference information

Community-1's native WeSpeaker/PLDA/VBx adapter is not implemented. Its published PLDA does not require fitting, but its exact transform/dataflow contract has not yet been established for an independent implementation. Its PLDA is never silently substituted for a CAM++ backend. The tier-1 default is unchanged.

Additional ASR, long-form and timing results

All WER rows: fp32, en/1 normalizer, paired utterance (or file) bootstrap, 1000 resamples, seed 1729, scored by onespeech-eval score. "Delta" is ours minus reference; CIs are of the paired difference. Machine: AMD Ryzen 9 7950X3D (16C/32T, AVX2/FMA/AVX-512), shared worker at load 22-25, CPU only. .NET SDK 10.0.403, OneModel 1.2.0, OneAudio 1.7.2. Jobs ran as queue shards of 4-6 cores; no timing claim is made from them.

RowDataOurs (95% CI)Reference (pin)Delta [CI]Verdict
Parakeet-TDT-0.6B-v3 (tier 2), greedy TDTLibriSpeech test-clean, all 26202.088% [1.931, 2.241]2.088% (NeMo 3.0.0, fp32)0.000 [0, 0]within noise
sametest-other, all 29393.791% [3.575, 4.027]3.791%0.000 [0, 0]within noise
Qwen3-ASR-1.7Btest-clean, first 500 sorted IDs1.326% [1.026, 1.677]1.260% (qwen-asr 0.0.6 on Transformers 4.57.6, fp32)+0.066 [0, +0.175]within noise
sametest-other, first 500 sorted IDs5.815% [5.077, 6.624]5.815%0.000 [0, 0]within noise
Whisper large-v3-turbo long-form, temperature 0 on both sidesEarnings-22, 5 files (4474955, 4483046, 4468919, 4479524, 4481221)13.427% [9.701, 17.827]85.101% [49.0, 125.3] (openai-whisper 20250625 transcribe())-71.674 [-115.1, -33.6]better than the reference pipeline; see below
same, default fallback temperatures, both sides (information)same 5 files13.427% [9.701, 17.827]19.524% [17.243, 21.736]-6.097 [-10.047, -2.409]better than the reference pipeline

Parakeet: all 99,653 (clean) and 97,717 (other) reference tokens are identical to NeMo's, and so are all emission frames (2620/2620 and 2939/2939 utterances). The raw text strings differ in 6 and 5 utterances only by spacing; the normalized scores are identical.

Qwen3-ASR-1.7B: the first 500 sorted IDs per split, not the full splits. The CPU reference costs about 115 utterances per hour on a shared host, so the full 5559 utterances did not fit. Raw text differs in 2 of 500 (clean) and 1 of 500 (other) utterances.

Long-form, per file (ours; reference at temperature 0; reference with default fallback), WER %:

FileOursReference T=0Reference default
44749558.47358.38621.960
448304621.11958.83720.711
446891913.79037.13722.137
447952410.070140.14015.944
448122110.869136.66516.805

Why the reference rows are large: at temperature 0, transcribe() with its default previous-text conditioning falls into repetition loops on these long recordings (reference output for 4479524 has 4000 words against 2122 reference words; for 4474955 one segment text repeats 346 times, for 4481221 1013 times). Our pipeline chunks at speech boundaries and does not condition across chunks, so it does not loop. Ours is identical with and without fallback on this set. These rows are better than the reference pipeline, not an equality or within-noise claim; the comparison is against the reference's own pipeline. The 4483046 default-fallback row is the one where the reference is better than ours-at-T=0 in per-file terms (20.711 vs 21.119, paired, no CI at n=1).

Timing revalidation on current code

Mean absolute boundary error (ms) and share within 50/100 ms, pooled over timed words, against MFA 3.4.3 (English v3.0.0, speaker adaptation off) alignments of the same LibriSpeech slices (test-clean first 200, test-other first 100). Floors are the values recorded earlier; no row regressed.

MethodSliceMatched/timedStart meanEnd meanStart within 50/100 %End within 50/100 %Recorded floor
Timing order via Speech.Transcribe (turbo + Qwen3-ForcedAligner)clean 2004563/456326.1726.9591.41 / 98.7990.88 / 98.5326.2 / 27.0
sameother 1001499/149927.7226.9890.59 / 98.1390.46 / 98.33none
omniASR-CTC via Speech.Alignclean 2004634/463452.7050.9453.28 / 91.1160.25 / 88.8252.70 / 50.94 (identical)
sameother 1001571/156249.6953.3757.11 / 92.2559.73 / 86.8149.69 / 53.37 (identical)
Whisper small DTW (ours)clean 2004540/454094.2479.2849.07 / 71.1546.34 / 69.25identical
sameother 1001470/1470104.0775.4949.80 / 72.8647.89 / 71.77identical
openai-whisper DTW (information, unchanged archived run)clean / other4531 / 146992.87 / 103.8977.98 / 75.80

Qwen3-ForcedAligner vs the toolkit, clean 200 (4634 words): start/end mean 28.73/18.90 ms; start within 50/100 ms 90.80/94.37 %, end 98.07/98.10 %; 67 words untimed by ours, 0 by the toolkit. Identical to the recorded row (post-processing parity remains a documented gap).

Numbers are word-pooled and cover the matched words of each method's own transcript, so the turbo row (its own recognized words) and the CTC row (reference text) have different word sets, as in the earlier floors.

Diarization and cache-aware streaming — full-set evaluation

Float32 CPU evaluation on an AMD Ryzen 9 7950X3D (x64; AVX2/FMA/AVX512 available), .NET SDK 10.0.403/runtime 10.0.14, OneModel 1.2.0 and OneAudio 1.7.2. These are quality and audio-clock availability measurements, not throughput benchmarks.

Data and scoring

  • AMI: all 16 Full-corpus-ASR test meetings: EN2002a–d, ES2004a–d, IS1009a–d and TS3003a–d. Original Mix-Headset audio, 16 kHz mono, word annotations v1.6.2; positive silence gaps retained. CC-BY-4.0.
  • AliMeeting: all eight Eval far-field recordings, first input channel, 16 kHz mono, nonempty TextGrid intervals. CC-BY-SA-4.0, evaluation only.
  • DER has no collar and scores overlap. Dataset DER pools reference speaker-seconds; JER averages reference-speaker errors. Paired 95% intervals use 1,000 meeting resamples, seed 1729. Meetings within an AMI series share participants; these are meeting, not independent-speaker, resamples.
  • default: the unchanged file-helper policy, Silero VAD + CAM++ English for AMI/Chinese for AliMeeting + spectral/AHC clustering and cosine resegmentation. It does not detect overlap. Reference: released ModelScope 1.40.2 CAM++ bundle, pinned local auxiliaries, float32 CPU, four threads. No test-set fitting.
  • nemotron: Nemotron 3 Diarization, explicitly selected tier 2, compared with Transformers 5.22.2 at the same publisher pin and precision; four threads on both sides.
  • pyannote: the segmentation-3.0/CAM++ slot, four threads, a floor, not a community-1 reimplementation. The pyannote.audio 4.0.7 community-1 pipeline is information only: its embedding, stitching and PLDA/VBx backend differ. Authorized local snapshots, offline; eight CPU threads, or sixteen on five recordings that exceeded the bounded eight-thread reservation. Neither tier-2 path is a default.

Raw and qualified reference results

The ModelScope public output for EN2002c contains one reversed interval, [2043.28, 2043.10, speaker 1], among 513 returned turns. The raw output and strict error are preserved. A negative-duration interval has no valid RTTM representation; a numeric raw reference score is therefore unavailable. An explicit qualified projection omits only this interval and retains the other 512 turns. It never swaps endpoints or invents timing.

EN2002c reference treatmentOur DER / JER %Reference DER / JER %Interpretation
Raw public output, strict serialization32.8114 / 32.7066Unscorable: reversed intervalUnqualified full-AMI reference score/CI unavailable
Explicitly qualified projection32.8114 / 32.706630.5655 / 32.7222Full-AMI comparison below is conditional on this one omission

All other ModelScope recordings were valid. Dataset-level tier-1 differences include zero in their paired intervals, but that does not hide substantial individual-meeting differences: for example EN2002b is +6.63 DER/+15.59 JER points. Every meeting is listed below. Nemotron is within paired noise on both complete sets. The pyannote slot remains below community-1 quality: AMI differences are +3.68 DER/+8.12 JER points and AliMeeting +4.65/+5.67 points, with positive paired intervals; those are disclosed information-baseline gaps, not equivalence passes.

Nemotron 3.5 ASR streaming 0.6B

First 200 ordinal LibriSpeech test-clean/test-other utterances, float32 greedy English decoding. Reference: Transformers 5.22.2 CPU, two threads; OneSpeech four threads, actual published live-event policy. Known utterance boundaries isolate recognition from endpoint-detector differences. Normalizer en/1, 1,000 paired utterance resamples, seed 1729.

All 800 native/reference utterance/chunk pairs have identical lexical token sequences. Both sides were freshly generated. Paired WER differences and their 95% intervals are [0,0] on every row.

Chunk msSplit / utterancesWER ours = reference %Each WER 95% CI %Token-identical pairs
80test-clean / 2002.888[2.264, 3.589]200/200
80test-other / 2009.824[8.331, 11.312]200/200
560test-clean / 2002.802[2.223, 3.493]200/200
560test-other / 2008.295[6.983, 9.672]200/200

Stable-word availability closes a word at the next word boundary or EOF. Both engines use the same saved offline 80-ms RNN-T acoustic endpoints as a timing proxy, not forced-alignment truth. Signed negative delays are retained. Latency means are over matched words; unmatched counts are shown. This is audio-time availability, not CPU speed or a learned endpointing-policy comparison. Publication remains approximately 55–58 ms later in OneSpeech, so latency parity is not claimed.

Chunk msSplitOurs mean / median msReference mean / median msMean gap msMatched / unmatched words
80test-clean258.541 / 240.000200.100 / 179.000+58.4414576 / 64
80test-other217.315 / 160.000160.448 / 99.000+56.8672871 / 143
560test-clean405.200 / 400.000347.623 / 339.000+57.5774594 / 48
560test-other348.760 / 320.000293.566 / 259.000+55.1942895 / 123

Actual EOF Final availability relative to the last common offline word end is identical for both engines and chunk sizes: test-clean mean/median 33.875/0 ms, test-other 12.925/0 ms. Utterance EOF is known in this experiment. These descriptive latency statistics have no bootstrap interval.

Diarized transcript sanity check

Whisper small through Speech.Transcribe, English, AMI ES2004a's first 300 seconds: en/1 WER 16.0584% on 411 reference words. After optimal one-to-one word-count speaker mapping, 287/344 = 83.4302% of all Word objects have the correct maximum-overlap reference speaker, or 287/321 = 89.4081% among eligible timed/reference-covered words. There are 29 Unassigned, zero untimed words and zero overlap flags. This speaker measure is temporal attribution, not lexical correctness.

Timing provenance is 333 ForcedAligner, five CtcAligner and six Dtw words. The earlier all-word sanity figure was 84.3%; the current value is 83.43%, while WER remains 16.06%. The timing chain has changed since the earlier DTW-only measurement; no improvement claim is made.

Complete-set and per-meeting diarization rows

All rates are percentages. Difference intervals and single-meeting differences are percentage points. The single-meeting 0.5-point diagnostic is descriptive; complete-set verdicts use paired meeting intervals. Pyannote/community-1 rows are information, not native-equivalence bars.

ami — complete-set comparisons

SystemDER ours / reference %DER difference [95% CI] ppJER ours / reference %JER difference [95% CI] ppInterpretation
default (N=16)28.605698 / 26.996987+1.608711 [-0.645170, +3.608149]32.731323 / 31.691698+1.039624 [-2.895311, +5.636265]within paired noise; qualified reference
nemotron (N=16)25.956223 / 25.956130+0.000093 [-0.000632, +0.001013]28.229055 / 28.228935+0.000120 [-0.000768, +0.001258]within paired noise
pyannote (N=16)20.727578 / 17.049233+3.678345 [+2.154713, +5.615498]30.307162 / 22.187481+8.119681 [+4.497820, +12.028704]floor; community-1 information only

ami — every meeting

SystemRecordingDER ours / reference %JER ours / reference %Delta DER / JER ppSingle-meeting diagnostic
defaultEN2002a38.1571 / 37.917138.7891 / 39.5974+0.2400 / -0.8083outside 0.5 pp: JER
defaultEN2002b41.1616 / 34.534153.2373 / 37.6481+6.6275 / +15.5893outside 0.5 pp: DER, JER
defaultEN2002c32.8114 / 30.565532.7066 / 32.7222+2.2460 / -0.0156outside 0.5 pp: DER; one malformed oracle turn omitted
defaultEN2002d36.4656 / 43.897238.4239 / 54.0351-7.4316 / -15.6112outside 0.5 pp: DER, JER
defaultES2004a28.2116 / 26.535929.6213 / 29.6337+1.6757 / -0.0125outside 0.5 pp: DER
defaultES2004b20.9156 / 18.109819.7743 / 19.3180+2.8059 / +0.4564outside 0.5 pp: DER
defaultES2004c19.2390 / 19.267419.7516 / 20.3014-0.0283 / -0.5498outside 0.5 pp: JER
defaultES2004d29.8934 / 28.350030.8881 / 32.7533+1.5434 / -1.8652outside 0.5 pp: DER, JER
defaultIS1009a28.8166 / 27.406238.1760 / 41.7104+1.4104 / -3.5344outside 0.5 pp: DER, JER
defaultIS1009b16.3341 / 16.686617.3990 / 17.9862-0.3525 / -0.5871outside 0.5 pp: JER
defaultIS1009c15.4235 / 14.591214.2788 / 15.2765+0.8323 / -0.9978outside 0.5 pp: DER, JER
defaultIS1009d24.0613 / 24.929328.7483 / 31.4794-0.8680 / -2.7311outside 0.5 pp: DER, JER
defaultTS3003a30.9360 / 24.584165.1388 / 65.9223+6.3519 / -0.7835outside 0.5 pp: DER, JER
defaultTS3003b29.5800 / 19.344142.8439 / 17.2337+10.2358 / +25.6102outside 0.5 pp: DER, JER
defaultTS3003c24.2966 / 20.023221.6058 / 18.7358+4.2734 / +2.8700outside 0.5 pp: DER, JER
defaultTS3003d33.0900 / 31.103132.3121 / 32.9713+1.9869 / -0.6592outside 0.5 pp: DER, JER
nemotronEN2002a29.8965 / 29.896131.4741 / 31.4739+0.0004 / +0.0003within 0.5 pp
nemotronEN2002b30.1470 / 30.146530.7041 / 30.7037+0.0004 / +0.0004within 0.5 pp
nemotronEN2002c29.1778 / 29.177829.3575 / 29.3575+0.0000 / +0.0000within 0.5 pp
nemotronEN2002d33.2286 / 33.228634.7778 / 34.7778+0.0000 / +0.0000within 0.5 pp
nemotronES2004a26.8965 / 26.900829.0843 / 29.0874-0.0043 / -0.0031within 0.5 pp
nemotronES2004b21.6238 / 21.623821.5331 / 21.5331+0.0000 / +0.0000within 0.5 pp
nemotronES2004c20.3478 / 20.350020.2420 / 20.2445-0.0022 / -0.0026within 0.5 pp
nemotronES2004d22.4500 / 22.450023.5946 / 23.5946+0.0000 / +0.0000within 0.5 pp
nemotronIS1009a27.6462 / 27.646246.7131 / 46.7131+0.0000 / +0.0000within 0.5 pp
nemotronIS1009b14.9801 / 14.980115.5914 / 15.5914+0.0000 / +0.0000within 0.5 pp
nemotronIS1009c15.5322 / 15.532215.5646 / 15.5646+0.0000 / +0.0000within 0.5 pp
nemotronIS1009d19.7187 / 19.718722.7378 / 22.7378+0.0000 / +0.0000within 0.5 pp
nemotronTS3003a34.9082 / 34.908244.7680 / 44.7680+0.0000 / +0.0000within 0.5 pp
nemotronTS3003b25.8803 / 25.874225.7980 / 25.7907+0.0060 / +0.0073within 0.5 pp
nemotronTS3003c29.9417 / 29.942229.5242 / 29.5245-0.0005 / -0.0003within 0.5 pp
nemotronTS3003d31.4813 / 31.481330.4825 / 30.4825+0.0000 / +0.0000within 0.5 pp
pyannoteEN2002a25.2994 / 21.905531.1313 / 26.5933+3.3940 / +4.5380information, not parity
pyannoteEN2002b25.1858 / 20.742332.2769 / 26.1589+4.4435 / +6.1180information, not parity
pyannoteEN2002c19.7641 / 17.537822.7784 / 19.9288+2.2263 / +2.8497information, not parity
pyannoteEN2002d34.8360 / 23.172150.5422 / 27.7051+11.6639 / +22.8371information, not parity
pyannoteES2004a20.6223 / 18.756925.9899 / 22.7352+1.8654 / +3.2547information, not parity
pyannoteES2004b13.3961 / 12.605315.8318 / 14.2777+0.7908 / +1.5541information, not parity
pyannoteES2004c13.5521 / 12.347615.7594 / 13.6303+1.2045 / +2.1292information, not parity
pyannoteES2004d20.7726 / 18.673227.6010 / 24.3477+2.0994 / +3.2533information, not parity
pyannoteIS1009a28.0381 / 19.647753.5455 / 33.2918+8.3903 / +20.2537information, not parity
pyannoteIS1009b15.4046 / 15.191019.2789 / 15.9595+0.2136 / +3.3194information, not parity
pyannoteIS1009c12.4533 / 10.050515.2045 / 11.7915+2.4028 / +3.4130information, not parity
pyannoteIS1009d25.5250 / 16.454447.5072 / 25.4566+9.0705 / +22.0506information, not parity
pyannoteTS3003a21.4821 / 17.143959.8290 / 39.2217+4.3382 / +20.6074information, not parity
pyannoteTS3003b13.6168 / 11.968416.3609 / 13.8352+1.6484 / +2.5257information, not parity
pyannoteTS3003c15.2336 / 13.340516.7263 / 13.5044+1.8931 / +3.2219information, not parity
pyannoteTS3003d25.8165 / 21.075332.6690 / 25.9974+4.7412 / +6.6716information, not parity

alimeeting — complete-set comparisons

SystemDER ours / reference %DER difference [95% CI] ppJER ours / reference %JER difference [95% CI] ppInterpretation
default (N=8)35.487475 / 37.264385-1.776910 [-7.743750, +2.860047]39.678194 / 42.152640-2.474446 [-13.124693, +4.145233]within paired noise
nemotron (N=8)17.520012 / 17.522146-0.002135 [-0.005671, +0.000577]18.115182 / 18.116630-0.001449 [-0.004958, +0.000871]within paired noise
pyannote (N=8)25.079101 / 20.431073+4.648028 [+1.130799, +8.780060]31.380495 / 25.710263+5.670231 [+0.666037, +11.195585]floor; community-1 information only

alimeeting — every meeting

SystemRecordingDER ours / reference %JER ours / reference %Delta DER / JER ppSingle-meeting diagnostic
defaultR8001_M8004_MS80141.5741 / 34.519641.1256 / 34.0168+7.0545 / +7.1088outside 0.5 pp: DER, JER
defaultR8003_M8001_MS80126.7902 / 26.888728.9546 / 28.5758-0.0985 / +0.3788within 0.5 pp
defaultR8007_M8010_MS80348.2493 / 64.515954.9748 / 83.9990-16.2667 / -29.0242outside 0.5 pp: DER, JER
defaultR8007_M8011_MS80634.7856 / 33.341148.5413 / 42.2086+1.4445 / +6.3327outside 0.5 pp: DER, JER
defaultR8008_M8013_MS80762.1732 / 60.023761.9760 / 61.6746+2.1495 / +0.3013outside 0.5 pp: DER
defaultR8009_M8018_MS80916.9636 / 17.069317.4936 / 17.9012-0.1057 / -0.4077within 0.5 pp
defaultR8009_M8019_MS81020.5389 / 20.825623.1732 / 22.2419-0.2868 / +0.9313outside 0.5 pp: JER
defaultR8009_M8020_MS81015.6915 / 15.884215.1541 / 16.6524-0.1927 / -1.4983outside 0.5 pp: JER
nemotronR8001_M8004_MS80118.6372 / 18.637218.0251 / 18.0251+0.0000 / +0.0000within 0.5 pp
nemotronR8003_M8001_MS80118.3003 / 18.300318.5405 / 18.5405+0.0000 / +0.0000within 0.5 pp
nemotronR8007_M8010_MS80321.8159 / 21.815924.4054 / 24.4054+0.0000 / +0.0000within 0.5 pp
nemotronR8007_M8011_MS80613.1157 / 13.113614.3962 / 14.3934+0.0021 / +0.0027within 0.5 pp
nemotronR8008_M8013_MS80718.2221 / 18.222118.6807 / 18.6807+0.0000 / +0.0000within 0.5 pp
nemotronR8009_M8018_MS80916.7428 / 16.742816.7129 / 16.7129+0.0000 / +0.0000within 0.5 pp
nemotronR8009_M8019_MS81016.3699 / 16.379316.6533 / 16.6632-0.0094 / -0.0099within 0.5 pp
nemotronR8009_M8020_MS81014.3181 / 14.331314.3182 / 14.3319-0.0132 / -0.0136within 0.5 pp
pyannoteR8001_M8004_MS80126.4572 / 22.017030.4064 / 24.5484+4.4402 / +5.8580information, not parity
pyannoteR8003_M8001_MS80120.3952 / 17.384424.1139 / 19.1369+3.0107 / +4.9770information, not parity
pyannoteR8007_M8010_MS80337.6432 / 34.241447.6091 / 48.9949+3.4018 / -1.3858information, not parity
pyannoteR8007_M8011_MS80628.9305 / 20.172746.2390 / 28.1000+8.7578 / +18.1390information, not parity
pyannoteR8008_M8013_MS80725.1735 / 28.458529.8080 / 32.9240-3.2850 / -3.1161information, not parity
pyannoteR8009_M8018_MS80914.5736 / 11.965116.6198 / 13.0970+2.6085 / +3.5228information, not parity
pyannoteR8009_M8019_MS81026.5512 / 8.716424.3318 / 9.2037+17.8348 / +15.1281information, not parity
pyannoteR8009_M8020_MS81010.0264 / 7.83919.8560 / 8.1313+2.1874 / +1.7247information, not parity

Speed

Measured 2026-11-08 using the structural harness, measurement version 5, one repetition per row. These are our own CPU measurements, not comparisons with another implementation. All models use fp32 at the publisher revisions pinned in the catalog.

  • x64: AMD Ryzen 9 7950X3D, 16 physical / 32 logical CPUs, AVX2/AVX512F/FMA, Linux Mint 22.3.
  • arm64: Apple M2, 8 logical CPUs, 8 GiB RAM, AdvSimd, macOS 27.0.1.
  • Both use .NET SDK 10.0.403, runtime 10.0.14, OneModel 1.2.0 and OneAudio 1.7.2; no GPU. The process CPU-count limit equals the row's thread count. Silero retains its production one-thread setting.

Each filtered row ran in an exclusive bench queue job bounded to 20 minutes. Models were loaded and warmed on a different ten-second clip before timing. Load time is separate; download, conversion and verification are excluded. End-to-end is encoded audio to Transcript using retained model instances and the production recognition, deferred alignment, clustering and merge algorithms. This is not cold Speech.Transcribe latency: that helper releases sessions between stages, while this warm-throughput harness retains them and can use more memory.

Inputs are deterministic LibriSpeech test-clean concatenations of 60, 600 and 3600 seconds, without inserted silence; clustering uses the 1049.355-second AMI ES2004a Mix-Headset recording. These constructed inputs make no quality claim. align is omniASR-CTC forced alignment; diarize is Silero + CAM++ English clustering; live is Moonshine streaming-tiny with 100 ms chunks; long is the full file pipeline with Whisper tiny on 3600 seconds.

The structural bar is end-to-end / summed graph wall time ≤1.15. RTF is elapsed seconds / audio seconds: ≤1 means at least real time. RSS is decimal GB, sampled every five seconds; “steady” discards the first 30 seconds but includes phase changes, so its range is not evidence of a constant-memory plateau. Short rows without steady samples fall back to the sampled peak. Live working B/chunk excludes graph-runtime allocations and immutable emitted payloads (500 measured chunks after 100 warm chunks); it is not total process allocation.

MachineRowThreadsLoad sE2E sGraph sRatioPeak / steady GBRTFB/chunkBench job
x64turbo6019.80102.73101.201.01513.21 / 11.94–13.211.712—008051
x64turbo6048.8937.1736.131.02913.23 / 12.63–13.230.619—008053
x64turbo60019.53799.19790.481.01113.60 / 11.86–13.601.332—008054
x64turbo60049.13313.43305.181.02713.54 / 11.90–13.540.522—008061
x64small17.1044.0642.671.0329.86 / 9.12–9.860.734—008029
x64small46.3521.6320.771.0419.78 / 9.78–9.780.361—008040
x64align11.8834.2733.991.0085.02 / 4.78–4.780.571—008042
x64align41.819.999.721.0275.04 / 5.04–5.040.166—008044
x64diarize10.1470.7868.761.0290.47 / 0.46–0.470.067—008045
x64diarize40.1446.7744.761.0450.47 / 0.47–0.470.045—008048
x64live10.6221.2521.141.0050.74 / 0.74–0.740.3540008050
x64long85.43627.14579.961.0819.95 / 7.94–9.950.174—008063
arm64small133.9484.1382.431.0212.77 / 1.32–2.771.402—002027
arm64small431.3938.4837.381.0292.43 / 1.86–1.860.641—002029
arm64align11.0054.7654.581.0033.70 / 2.78–3.290.913—002030
arm64align40.9417.8517.581.0153.27 / 3.27–3.270.298—002031
arm64diarize10.1091.4288.661.0310.46 / 0.44–0.460.087—002032
arm64diarize40.0954.6351.751.0560.46 / 0.45–0.460.052—002033
arm64live10.3929.2929.171.0040.76 / 0.75–0.760.4880002034
arm64long429.681144.501087.011.0534.79 / 0.48–4.790.318—002035

The load-average table below reports the one-minute component before / during / after each timed call. The during interval includes the workload itself. Queue startup CPU snapshots showed no other CPU-bound user workload; desktop and OS services remained active. Large initial load averages can reflect decaying earlier activity, not concurrent CPU utilization. Full 1/5/15-minute samples and queue logs were retained with the measurement records.

MachineRow / threadsLoad beforeDuring min–maxLoad after
x64turbo60 / 11.621.23–1.681.25
x64turbo60 / 41.701.70–3.103.10
x64turbo600 / 11.951.12–1.951.27
x64turbo600 / 41.591.54–3.923.37
x64small / 117.049.25–17.049.25
x64small / 46.975.65–6.975.65
x64align / 14.273.26–4.273.26
x64align / 42.862.79–2.952.79
x64diarize / 12.571.69–2.571.80
x64diarize / 41.751.75–2.872.59
x64live / 12.381.91–2.381.91
x64long / 82.732.73–7.204.94
arm64small / 12.082.07–2.552.55
arm64small / 42.512.28–3.303.30
arm64align / 13.012.19–3.012.19
arm64align / 42.422.42–3.083.08
arm64diarize / 13.152.33–3.222.33
arm64diarize / 42.332.33–3.273.27
arm64live / 13.272.82–3.272.92
arm64long / 42.532.49–6.384.67

Results: every measured structural ratio passes (maximum 1.081 on x64, 1.056 on arm64). The tier-1 live default meets real time on one core on both machines, with 0 B/chunk of our working allocation. This does not imply that all file models run in real time on one core: turbo's measured RTF is 1.712 on 60 seconds and 1.332 on 600 seconds.

Working-set qualification: the one-hour run is not literally flat on x64. After discarding the first minute of each phase, recognition's first/last fifth means are 8.001/8.013 GB and diarization's are 9.356/9.376 GB, but alignment rises from 8.837 to 9.772 GB (+10.6%, fitted slope +6.47 MB/s). The whole-run first/last fifth means are 8.003/9.365 GB. This row therefore does not establish a strict flat-RSS bar; it also cannot distinguish bounded buffer-pool residency from input-length growth. On arm64, the corresponding recognition means are 0.841/0.865 GB, alignment 4.352/2.026 GB, and diarization 0.610/0.525 GB. No tuning or forced collection was used to alter these rows. These observations should not be turned into a universal constant-memory guarantee.

Missing row: Qwen3-ASR-1.7B was not measured. The approximately 62 GiB shared model/data tree plus its upstream and converted files would exceed the run's approximately 70 GiB storage budget. No Qwen speed claim or cross-model default re-selection is inferred from this omission. The one-hour memory rows use tiny; turbo is covered only through 600 seconds. No int8 speed row was measured here.

Model choices and remaining evidence

  • Files: Whisper large-v3-turbo remains the default. Its test-other WER is 5.758% in the file-model comparison; Qwen3-ASR 1.7B is 4.131%, a turbo-minus-Qwen difference of +1.63 points (paired CI [1.02, 2.31]). Qwen 1.7B is available by name for accuracy. The fixed-slice CPU comparison favoured turbo's resource requirements; the completed structural measurements and their limits are reported in the Speed section.
  • Live: Moonshine streaming-tiny is the default. On 20-file clean/other streaming slices, its WER floor is 1.70/8.33%, with mean finalisation latency 3057/1617 ms. Streaming-small is 1.95/3.74%, 3073/1622 ms. Latency is relative to Whisper-tiny DTW word ends, not independent boundary truth. There is no vendor streaming-policy reference for these floors.
  • Language identification: Whisper and its reference each identified 15/15 FLEURS probes (five each English/French/German). This is information only, not multilingual coverage evidence.
  • Publisher availability: VoxCeleb1 and VoxConverse audio are no longer available from the publisher. Their intended rows are unavailable; no unofficial re-upload is substituted.
  • Gated segmentation: authorized segmentation parity and complete-set slot measurements are reported above. The segmentation/CAM++ slot is not a community-1 reimplementation; the community-1 comparison remains information, with its quality gaps disclosed.
  • Long-form: full long-form rows are reserved for the 1.0 evaluation. Existing single-file observations do not establish equivalence. In particular, an Earnings-22 4474955 turbo temperature-zero comparison was 55.159% versus 58.386% reference WER: outside the 0.5-point bound, in our favour because the reference appended repeated tail text. Other decoding/pipeline settings produced different scores; they must not be combined into that row. Whole-recording Qwen reference runs exceeded the CPU run bounds.
  • Quantization and speed: full Moonshine int8 quality is reported above; full Whisper fp32 and int8 comparisons are complete and within paired noise. The Speed section reports the measured structural-overhead and live-allocation rows, including the Nemotron allocation residual and unmeasured Qwen row; it does not establish a blanket throughput guarantee.

These results do not yet demonstrate every release target. See evaluation conventions for scoring and word timing for failure semantics.