Benchmarks

RTF (real-time factor) abaixo de 1.0 significa mais rapido que tempo real.

Apple Silicon (MLX + CoreML)

Todos os benchmarks em M2 Max, 64 GB, macOS 14 com builds de release e metallib compilada.

ASR — Taxa de erro de palavra

Avaliado em LibriSpeech test-clean (2620 enunciados, ~5.4 horas de fala lida em ingles).

ModeloBitsTamanhoWER%RTF
Qwen3-ASR 1.7B8-bit2.3 GB2.350.090
Qwen3-ASR 1.7B4-bit1.2 GB2.570.045
Parakeet TDT 0.6BINT8634 MB2.740.089
Qwen3-ASR 0.6B8-bit960 MB2.800.025
Qwen3-ASR 0.6B4-bit675 MB3.340.023

Comparacao com modelos publicados

ModeloParametrosTamanhoPrecisaoWER%Fonte
Qwen3-ASR 1.7B1.7B2.3 GB8-bit2.35Este benchmark
Whisper Large v3 Turbo809M1.6 GBFP162.5OpenAI (2024)
Qwen3-ASR 1.7B1.7B1.2 GB4-bit2.57Este benchmark
Whisper Large v31.5B3.1 GBFP162.7OpenAI (2023)
Parakeet TDT 0.6B600M634 MBINT82.74Este benchmark
Qwen3-ASR 0.6B600M960 MB8-bit2.80Este benchmark
Whisper Medium769M1.5 GBFP163.0OpenAI (2022)
Qwen3-ASR 0.6B600M675 MB4-bit3.34Este benchmark
Whisper Small244M483 MBFP163.4OpenAI (2022)

Estabilidade em longa duracao (carga sustentada no Neural Engine)

200 enunciados LibriSpeech processados sequencialmente (~30 min de audio, M2 Max). Testa se a WER ou a latencia degradam sob transcricao sustentada.

MetricaPrimeiros 25%Ultimos 25%Geral
WER%1.301.232.43
RTF0.6720.4000.539

Nenhuma degradacao detectada. A WER e estavel durante a sessao. O RTF na verdade melhora conforme o CoreML aquece seu cache de plano de execucao. Nenhum thermal throttling apos 42 minutos de inferencia continua no Neural Engine. O Parakeet processa cada chunk independentemente — sem acumulacao de estado entre chunks.

Resultados multilingues (FLEURS)

CER usado para idiomas CJK (sem fronteiras de palavras). Parakeet suporta ~25 idiomas europeus (sem CJK).

IdiomaMetricaQwen3 4-bitQwen3 8-bitParakeet INT8
EspanholWER6.445.065.18
InglesWER6.575.649.30
ChinesCER8.417.71
AlemaoWER9.456.8112.33
FrancesWER11.428.5013.02
JaponesCER16.118.64
RussoWER16.3510.5211.49
CoreanoWER19.956.89
HindiWER25.9318.57
ArabeWER33.4720.31

Delta de compressao

Perda de precisao ao quantizar para larguras de bits menores.

VarianteWER%SubstituicoesInsercoesDelecoesErros totaisTamanho
Qwen3 0.6B 8-bit2.801111922681471960 MB
Qwen3 0.6B 4-bit3.3413231233081754675 MB
Delta+0.54+212+31+40+283-30%
Parakeet TDT INT82.749901253081423634 MB
Principal conclusao

Qwen3-ASR 1.7B 8-bit atinge 2.35% de WER — superando Whisper Large v3 Turbo (2.5%) e Whisper Large v3 (2.7%) enquanto roda a 11x tempo real em Apple Silicon.

TTS — Inteligibilidade round-trip

Sintetize texto, depois transcreva o audio de volta com Qwen3-ASR 0.6B e calcule a WER contra o texto original. Avaliado em 30 frases conversacionais integradas em ingles.

EngineModeloParametrosTamanhoWER%RTF
CosyVoice30.5B 4-bit500M~1.9 GB3.250.59
Qwen3-TTS1.7B 4-bit1.7B~2.3 GB3.470.79
Qwen3-TTS1.7B 8-bit1.7B~3.5 GB3.660.85
Kokoro-82MCoreML82M~170 MB3.900.17
Qwen3-TTS0.6B 8-bit600M~960 MB9.740.76
Qwen3-TTS0.6B 4-bit600M~675 MB15.580.76

Breakdown de latencia (Qwen3-TTS)

EstagioTempo% do totalDescricao
Embed1-3 ms<1%Embedding de texto (TTFT)
Generate2-6 s~92%Tokens de codec autoregressivos
Decode244-457 ms~8%Decodificador de codec para waveform
Principal conclusao

Todos os engines TTS rodam mais rapido que tempo real (RTF < 1.0). CosyVoice3 lidera em inteligibilidade (3.25% WER). Kokoro e o mais rapido (RTF 0.17) com apenas 170 MB.

VAD — Precisao de deteccao

Avaliacao FLEURS (10 idiomas, 250 arquivos)

Avaliado contra o ground truth de referencia do Python FireRedVAD no mesmo limiar.

EngineParametrosBackendF1%FAR%MR%RTF
FireRedVAD588KCoreML (ANE)99.122.520.470.007
Silero v5309KCoreML (ANE)95.1315.761.890.022
Silero v5309KMLX (GPU)95.1115.851.890.027
Pyannote1.5MMLX (GPU)94.8614.712.920.358

Avaliacao VoxConverse (multi-locutor)

5 arquivos de conversa multi-locutor avaliados em resolucao de frame de 10 ms.

EngineParametrosBackendF1%FAR%MR%RTF
Pyannote1.5MMLX (GPU)98.2250.090.190.358
Silero v5309KCoreML (ANE)97.5233.292.690.022
Silero v5309KMLX (GPU)95.9821.025.880.027
FireRedVAD588KCoreML (ANE)94.2140.125.050.007

Comparacao com numeros publicados

ModeloF1%FAR%MR%ParametrosDataset
Pyannote (nossos)98.2250.090.191.5MVoxConverse
FireRedVAD (paper)97.572.693.62588KFLEURS-VAD-102
Silero (nossos)95.9821.025.88309KVoxConverse
Silero-VAD (paper)95.959.413.95309KFLEURS-VAD-102
FireRedVAD (nossos)94.2169.335.05588KVoxConverse
Principal conclusao

FireRedVAD atinge 99.12% F1 no FLEURS com a menor taxa de falso alarme (2.52%) e roda a 135x tempo real. Silero v5 oferece a melhor opcao de streaming com 32 ms por chunk.

Embeddings de falante

Latencia de extracao

Clipe de audio de 20 segundos, 10 iteracoes apos warmup.

ModeloDimBackendLatencia
CAM++ (3D-Speaker)192CoreML (ANE)12 ms
WeSpeaker ResNet34-LM256MLX (GPU)64 ms
WeSpeaker ResNet34-LM256CoreML (ANE)143 ms

Qualidade de embedding (VoxConverse)

Similaridade de cosseno entre embeddings de nivel de segmento em 5 gravacoes multi-locutor. Maior separacao = melhor discriminacao de falante.

ModeloBackendIntra-locutorInter-locutorSeparacao
WeSpeakerMLX0.7260.1420.584
WeSpeakerCoreML0.7260.1430.582
CAM++CoreML0.7230.3950.328
Principal conclusao

Os tres engines correspondem a referencia Python pyannote (separacao de 0.577, similaridade de cosseno >0.96). WeSpeaker atinge 0.584 de separacao em MLX e CoreML. CAM++ roda 5x mais rapido (12 ms vs 65 ms) com boa separacao (0.328).

Separacao de fontes — SDR

Relacao sinal-distorcao (SDR) no MUSDB18-HQ (50 faixas de teste completas, estereo 44.1 kHz). Maior e melhor. Dois tamanhos de modelo: HQ (8.9M params/stem) e L (28.3M params/stem).

AlvoUMX-HQ (MLX)UMX-L (MLX)UMX-HQ (publicado)
Vocal6.23 dB~10.5 dB6.32 dB
Bateria6.44 dB~7.0 dB5.73 dB
Baixo4.56 dB~5.5 dB5.23 dB
Outros3.41 dB~4.5 dB4.02 dB
ModeloParams/stemTamanhoRTFVelocidade
Open-Unmix HQ8.9M136 MB0.234.3x tempo real
Open-Unmix L28.3M432 MB0.214.8x tempo real
Principal conclusao

UMX-HQ iguala o SDR publicado em vocal e bateria com um modelo leve de 8.9M. UMX-L fornece melhoria de +2–4 dB com 3x o tamanho do modelo. Ambos incluem pos-filtragem multichannel Wiener EM e rodam mais rapido que tempo real em Apple Silicon.

Reproducao

# 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