Traduzione automatica · Originale inglese
Test prestazionali
RTF (fattore in tempo reale) inferiore a 1,0 significa più veloce del tempo reale.
Apple Silicon (MLX + CoreML)
Tutti i benchmark su Apple M5 Pro, 48 GB, macOS 25.5 con il rilascio costruisce e compilato metallizzato. Ogni motore viene eseguito in un processo di bambino separato (asr-bench --isolated) così la colonna di Peak RSS è il costo reale per motore, non un segno di acqua alta sequenziale.
ASR — Tasso di errore di parola
Valutazioni LibriSpeech test-clean# Prima # 200 proferimenti (~30 min del discorso di lettura inglese). WER calcolato tramite un normalizzatore di stile Whisper + Levenshtein su token di spazio bianco. Qwen3-ASR 5-bit le righe sono state misurate su un sottoinsieme 100-utterance dello stesso apparecchio su serie M (aggiunto quando la variante 5/bit è atterrata); stesso normalizzatore, stesso set di dati.
| Motore | Quanta quantità | WER% | RTF | XRT | picco RSS |
|---|---|---|---|---|---|
| Qwen3-ASR 1.7B MLX | 5-bit | 1.32 | 0.027 | 36.4× | 1.92 GB |
| Qwen3-ASR 1.7B MLX | 8 bit | 1.52 | 0.033 | 30.5× | 2,7 GB |
| Qwen3-ASR 0.6B MLX | 8 bit | 1.82 | 0.015 | 66.0× | 1.3 GB |
| Qwen3-ASR 0.6B MLX | 5-bit | 1.74 | 0.014 | 70.5× | 1.03 GB |
| WhisperKit Turbo Large-v3 | FP16 | 1.71 | 0.084 | 11.9× | 0,4 GB |
| WhisperASR nativo CoreML | FP16 | 1.40 | 0.089 | 14.0× | 384 MB |
| Qwen3-ASR 0.6B MLX | 4 bit | 2.20 | 0.012 | 85.6× | 1,0 GB |
| Parakeet TDT v3 | INT8 | 2.37 | 0.009 | 117.4× | 0,9 GB |
| Qwen3-ASR 0.6B CoreML | INT8 | 3.02 | 0.098 | 10.2× | 1.4 GB |
| Omnilingual CTC 300M MLX | 4 bit | 4.26 | 0.005 | 222.1× | 0.4 GB |
| Omnilingual CTC 300M CoreML | INT8 | 5.67 | 0.128 | 7.8× | 0,5 GB |
| Nemotron Streaming | INT8 | 2.82 | 0.058 | 17.1× | 961 MB |
Destinazioni: Qwen3-ASR MLX 1.7B. 5-bit è il nuovo leader di precisione 1.32% WER — batte WhisperKit Large-v3 Turbo (1.71%) e la nostra 1.7B. 8-bit (in inglese)1.52%) durante l'utilizzo ~600 MB meno picco RSS che 8-bit e running 23% Piu' veloce. Parakeet TDT v3 è il più veloce per la sola inglese (117In tempo reale, 25 Lingue europee). Omnilingual CTC 300M MLX 4-bit è il leader multilinguistico del throughput: 222In tempo reale, 384 Il picco di MB, 1 672 lingue.
La riga Qwen3-ASR 0.6B CoreML riflette l'encoder di blocco ricostruito (aufklarer/Qwen3-ASR-CoreML) — l'esportazione precedente è stata smascherata l'autoattenzione globale sul mel zero-puntato ed emessa <|im_end|> subito dopo la prima frase-finale (24.88% WER sullo stesso apparecchio prima della ricostruzione).
Hai bisogno di una guida a decisioni focalizzate? Vedi Qwen3-ASR vs Whisper: accuratezza, velocità e memoria
La diarizzazione è misurata separatamente in otto lingue: vedi benchmark di diarizzazione dei diffusori per l'accordo DER e per i paesi dell'oratore su pyannote Community-1, NVIDIA Sortformer, MOSS e la nuvola del discorso API.
Stabilità a lungo termine (carico del motore nativo Neural Engine)
200 Pronunciazioni libriSpeech trasformate in sequenza (~30 min audio, M5 Pro). Test se WER o degrado di latenza sotto trascrizione sostenuta.
| Metrico | Primo 25% | Ultimo 25% | Complessivamente |
|---|---|---|---|
| WER% | 1.30 | 1.23 | 2.43 |
| RTF | 0.672 | 0.400 | 0.539 |
Nessun degrado rilevato. WER è stabile in tutta la sessione. RTF in realtà migliora come CoreML riscalda la sua cache del piano di esecuzione. Nessun battimento termico dopo 42 minuti di continuo Neural Engine Inferenza. Parakeet processi ogni pezzo indipendentemente — nessun accumulo di stato a pezzi.
Risultati plurilingui ( FLEURS)
CER utilizzato per le lingue CJK (senza confini di parola). Parakeet supporta ~25 lingue europee (n. CJK).
| Lingua | Metrico | Qwen3 4-bit | Qwen3 8 bit | Parakeet INT8 |
|---|---|---|---|---|
| Spagnolo | WER | 6.44 | 5.06 | 5.18 |
| Inglese | WER | 6.57 | 5.64 | 9.30 |
| Cinese | CER | 8.41 | 7.71 | — |
| Germania | WER | 9.45 | 6.81 | 12.33 |
| Francese | WER | 11.42 | 8.50 | 13.02 |
| Giapponese | CER | 16.11 | 8.64 | — |
| Russo | WER | 16.35 | 10.52 | 11.49 |
| Coreano | WER | 19.95 | 6.89 | — |
| Hindi | WER | 25.93 | 18.57 | — |
| Arabo | WER | 33.47 | 20.31 | — |
delta di compressione
Perdita di precisione da quantizzazione a larghezza di bit inferiore.
| Variante | WER% | Sostituzione | Inserzioni | Delezioni | Errori totali | Dimensione |
|---|---|---|---|---|---|---|
| Qwen3 0.6B 8 bit | 2.80 | 1111 | 92 | 268 | 1471 | 960 MB |
| Qwen3 0.6B 4-bit | 3.34 | 1323 | 123 | 308 | 1754 | 675 MB |
| Delta del Delta | +0.54 | +212 | +31 | +40 | +283 | -30% |
| Parakeet TDT INT8 | 2.74 | 990 | 125 | 308 | 1423 | 634 MB |
Qwen3-ASR 1.7B MLX raggiunge 1.32% WER a) 5-bit (in inglese)1.52% a) 8-bit) — battendo WhisperKit Large-v3 Turbo (1.71%) durante la corsa 30-36× in tempo reale Apple Silicon.
TTS — Intelleggibilità del ciclo tondo
Sinthesize text, quindi trascrivi l'audio indietro con Qwen3-ASR 0.6B e computo WER contro il testo originale. 30 frasi di conversazione in inglese integrate.
| Motore | Modello | Params | Dimensione | WER% | RTF |
|---|---|---|---|---|---|
| CosyVoice3 | 0.5B 4-bit | 500M | ~1.9 GB | 3.25 | 0.59 |
| Qwen3-TTS | 1.7B 4-bit | 1.7. | ~2.3 GB | 3.47 | 0.79 |
| Qwen3-TTS | 1.7B 8 bit | 1.7. | ~3,5 GB | 3.66 | 0.85 |
| Kokoro-82M | CoreML | 82M | ~ 170 MB | 3.90 | 0.17 |
| Qwen3-TTS | 0.6B 8 bit | 600M | ~ 960 MB | 9.74 | 0.76 |
| Qwen3-TTS | 0.6B 4-bit | 600M | ~ 675 MB | 15.58 | 0.76 |
clonazione vocale (zero-shot)
clonazione vocale zero-shot dalla stessa clip di riferimento 12 s; roundtrip = Qwen3-ASR trascrizione dell'output rispetto al testo di input. Apple M5 Pro, 48 GB; RTF è tempo di parete ÷ audio secondi (più basso è più veloce).
| Motore | WER% | picco RSS | Audio audio | Synth | RTF | Andata e ritorno |
|---|---|---|---|---|---|---|
| Higgs TTS 3 (clone) | 4B bf16 | 8.6 GB | 6.04 s | 4.73 s | 0.78 | esatto |
| F5-TTS (16 passi) | 336M fp16 | 0,8 GB | 5.09 s | 2.91 s | 0.57 | 1-parola sub |
| F5-TTS (32 passi) | 336M fp16 | 0,8 GB | 5.09 s | 5.75 s | 1.13 | 1-parola sub |
| IndexTTS2 (clone) | 1.5B classe fp16 | 3.0 GB | 5.80 s | 5.8 | 1.0 | esatto |
Ripartizione della distanza ( Qwen3-TTS)
| Fase | Tempo | % del totale | Designazione |
|---|---|---|---|
| Embed | 1-3 ms | <1% | Embedding del testo (TTFT) |
| Generazione | 2-6 | ~92% | Autoregressive codec tokens |
| Denominazione | 244-457 ms | ~8% | decodificatore di codice a forma d'onda |
Tutti TTS i motori funzionano più velocemente del tempo reale (RTF < 1.0). CosyVoice3 porta intelligibilità (3.25% WER). Kokoro è il più veloce (RTF 0.17) soltanto 170 MB.
VAD — Accuratezza di rilevazione
Valutazione FLEURS (10 lingue, 250 file)
Valutata contro Python FireRedVAD verità di riferimento terra alla stessa soglia.
| Motore | Params | Indietro | F1% | FAR% | RM% | RTF |
|---|---|---|---|---|---|---|
| FireRedVAD | 588K | CoreML (ANE) | 99.12 | 2.52 | 0.47 | 0.007 |
| Silero v5 | 309K | CoreML (ANE) | 95.13 | 15.76 | 1.89 | 0.022 |
| Silero v5 | 309K | MLX (GPU) | 95.11 | 15.85 | 1.89 | 0.027 |
| Pyannote | 1.5M | MLX (GPU) | 94.86 | 14.71 | 2.92 | 0.358 |
Valutazione VoxConverse (multi-speaker)
5 file di conversazione multi-speaker valutati a 10 ms risoluzione cornice.
| Motore | Params | Indietro | F1% | FAR% | RM% | RTF |
|---|---|---|---|---|---|---|
| Pyannote | 1.5M | MLX (GPU) | 98.22 | 50.09 | 0.19 | 0.358 |
| Silero v5 | 309K | CoreML (ANE) | 97.52 | 33.29 | 2.69 | 0.022 |
| Silero v5 | 309K | MLX (GPU) | 95.98 | 21.02 | 5.88 | 0.027 |
| FireRedVAD | 588K | CoreML (ANE) | 94.21 | 40.12 | 5.05 | 0.007 |
Confronto con numeri pubblicati
| Modello | F1% | FAR% | RM% | Params | Dataset |
|---|---|---|---|---|---|
| Pyannote (nostri) | 98.22 | 50.09 | 0.19 | 1.5M | VoxConverse |
| FireRedVAD (carta) | 97.57 | 2.69 | 3.62 | 588K | FLEURS-VAD-102 |
| Silero (nostri) | 95.98 | 21.02 | 5.88 | 309K | VoxConverse |
| Silero-VAD (carta) | 95.95 | 9.41 | 3.95 | 309K | FLEURS-VAD-102 |
| FireRedVAD (nostri) | 94.21 | 69.33 | 5.05 | 588K | VoxConverse |
FireRedVAD raggiunge 99.12% F1 su FLEURS con la velocità di allarme più bassa (2.52%) e corre a 135x in tempo reale. Silero v5 fornisce la migliore opzione di streaming a 32 ms per chunk.
Rilevamento di parole di attivazione / parole chiave
KWS Zipformer (gigaspeech fine-tune)
Streaming Zipformer2 trasduttore (3.49M params, Apache-2.0) INT8 palettizzazione su CoreML. Valutata contro 12 parole chiave su LibriSpeech test-clean (158 pronunce positive, 60 negativo). Soglia sintonizzata: acThreshold = 0.15, contextScore = 0.5, numTrailingBlanks = 1.
| Metrico | Valore | Osservazioni |
|---|---|---|
| RTF (CPU + Neural Engine) | 0.04 | 26× in tempo reale su serie M |
| Richiamo (12 parole chiave) | 88% | LibriSpeech test-clean, 158 pronunce positive |
| Falsi positivi / pronuncia | 0.27 | 60 pronunce negative |
| CoreML INT8 vs PyTorch FP32 | 99% | Accordo di emissione |
| Dimensione del modello compatibile | ~ 4 MB | encoder 3.3 MB + decoder 525 KB + joiner 160 KB |
| Memoria runtime | ~ 6 MB | Pesi + cache di stato di encoder |
Rilevamento migliorato dei valori predefiniti sintonizzati 62% a 88% (e tagliare FP/utt da 0.43 a 0.27) vs. default delle cascate di ghiaccio a monte (acThreshold = 0.25, contextScore = 2.0). Vedi Guida alle parole per il formato di parola chiave e per-phrase soglia di sintonia.
Embedding dei parlanti
Latenza di estrazione
20 secondi clip audio, 10 iterations dopo il riscaldamento.
| Modello | Dim. | Indietro | Lattice |
|---|---|---|---|
| CAM++ (3D-Speaker) | 192 | CoreML (ANE) | 12 ms |
| WeSpeaker ResNet34-LM | 256 | MLX (GPU) | 64 m |
| WeSpeaker ResNet34-LM | 256 | CoreML (ANE) | 143 ms |
Qualità dell'incorporo (VoxConverse)
La somiglianza con il livello di segmento tra le embeddings di 5 registrazioni multi-speaker, una maggiore separazione = una migliore discriminazione dei diffusori.
| Modello | Indietro | Intra-Speaker | Interprete | Separazione |
|---|---|---|---|---|
| WeSpeaker | MLX | 0.726 | 0.142 | 0.584 |
| WeSpeaker | CoreML | 0.726 | 0.143 | 0.582 |
| CAMPIONAMENTO | CoreML | 0.723 | 0.395 | 0.328 |
Tutti e tre i motori corrispondono al riferimento piannoto Python (0.577 separazione, somiglianza del coseno >0.96). WeSpeaker raggiunge separazione 0.584 su MLX e CoreML. 5x più veloce (12 ms vs 65 ms) con buona separazione (0.328).
Separazione della fonte — SDR
Rapporto segnale-distorzione (SDR) su MUSDB18-HQ (50 tracce di prova full-length, stereo 44.1kHz). Più alto è meglio. Due dimensioni del modello: HQ (8.9M params/stem) e L (28.3M param/stem).
| Obiettivo | UMX-HQ ( MLX) | UMX-L ( MLX) | UMX-HQ (pubblicato) |
|---|---|---|---|
| Vocale | 6.23 dB | ~ 10.5 dB | 6.32 dB |
| Tamburi | 6.44 DB | ~ 7.0 dB | 5.73 dB |
| Basso | 4.56 dB | ~ 5.5 dB | 5.23 dB |
| Altri | 3.41 dB | ~ 4.5 dB | 4.02 dB |
| Modello | Params/stem | Dimensione | RTF | Velocità |
|---|---|---|---|---|
| HQ Open-Unmix | 8.9M | 136 MB | 0.23 | 4.3x in tempo reale |
| Open-Unmix L | 28.3M | 432 MB | 0.21 | 4.8x in tempo reale |
UMX-HQ ha pubblicato SDR su voci e tamburi con un leggero modello 8.9M. UMX-L offre un miglioramento di +2-4 dB a 3x la dimensione del modello. Entrambi includono il multicanale Wiener EM post-filtrazione ed eseguire più velocemente rispetto al tempo reale su Apple Silicon
Android — on-device (Galaxy S23)
Misurazione di un Samsung Galaxy S23 (SM-S918B), arm64, CPU solo, INT8 dove annotato. RTF è parete ÷ audio (più basso è più veloce del tempo reale; <1.0 è in tempo reale); Peak RSS è il set residente del modello in esecuzione. 20 s clip; TTS relazioni RTF o time-to-first audio (TTFA).
| Modello | Compiti | Tempo di esecuzione | Velocità | picco RSS |
|---|---|---|---|---|
| Parakeet-EOU 120M | Streaming STT + EOU | ONNX INT8 | 0.21 RTF | MB 232 |
| Omnilingual CTC 300M | STT multilingue | LiteRT | 0.15 RTF | 831 MB |
| Nemotron Streaming 0.6B | Streaming STT | LiteRT | 0.67 RTF | 1.30 GB |
| Parakeet-TDT 0.6B | STT (batch) | ONNX INT8 | 0.082 RTF | 1.15 GB |
| Supertonic-3 99 | TTS (voce preimpostata) | LiteRT | 0.34 RTF · ~1.1 s TTFA | 832 MB |
| Kokoro-82M | TTS (voce preimpostata) | ONNX FP32 | 0.53 RTF | 640 MB |
Titolo: Parakeet-EOU-120M è il più leggero STT qui a ~ 232 MB — multilingue (25 europeo), streaming, con rilevamento end-of-utterance in linea, circa 5–6× più leggero del 0.6B. Parakeet. Disabilitare il ONNX CPU memoria arena (ora il default) tagliare Parakeet-TDT da ~1.34 Da GB a ~1.15 GB.
Riproduzione
# ASR benchmarks (LibriSpeech test-clean)
make build
python scripts/benchmark_asr.py --batch --engine qwen3 --model 0.6B
python scripts/benchmark_asr.py --batch --engine qwen3 --model 0.6B-8bit
python scripts/benchmark_asr.py --batch --engine parakeet
python scripts/benchmark_asr.py --batch --engine parakeet --model int8
# ASR multilingual (FLEURS, auto-download)
python scripts/benchmark_asr.py --dataset fleurs --language en_us --batch
# TTS round-trip
python scripts/benchmark_tts.py --compare
# VAD comparison
python scripts/benchmark_vad.py --compare
# Speaker embeddings comparison
python scripts/benchmark_speaker.py --compare
# Source separation (MUSDB18-HQ, download from Zenodo)
python scripts/benchmark_separation.py --data-dir benchmarks/data/musdb18-hq