Бенчмарки

RTF (real-time factor) ниже 1.0 означает быстрее реального времени.

Apple Silicon (MLX + CoreML)

Все бенчмарки на Apple M5 Pro, 48 ГБ, macOS 25.5, сборка release и скомпилированный metallib.

ASR — Word Error Rate

Оценено на LibriSpeech test-clean (2620 высказываний, ~5.4 часа английской чтецкой речи).

EngineQuantWER%RTFxRTPeak RSS
Qwen3-ASR 1.7B MLX8-bit1.520.03330.5×2.7 GB
WhisperKit Large-v3 TurboFP161.710.08411.9×0.4 GB
Qwen3-ASR 0.6B MLX8-bit1.820.01566.0×1.3 GB
Qwen3-ASR 0.6B MLX4-bit2.200.01285.6×1.0 GB
Parakeet TDT v3INT82.370.009117.4×0.9 GB
Qwen3-ASR 0.6B CoreMLINT83.020.09810.2×1.4 GB
Omnilingual CTC 300M MLX4-bit4.260.005222.1×0.4 GB
Omnilingual CTC 300M CoreMLINT85.670.1287.8×0.5 GB
Nemotron StreamingINT82.820.05817.1×961 MB

Headline picks: Qwen3-ASR MLX 1.7B 8-bit beats WhisperKit Large-v3 Turbo on WER (1.52% vs 1.71%) and runs 2.6× faster at 6× the memory. Parakeet TDT v3 is the fastest for English-only (117× real-time, 25 European languages). Omnilingual CTC 300M MLX 4-bit is the multilingual throughput leader: 222× real-time, 384 MB peak, 1 672 languages.

The Qwen3-ASR 0.6B CoreML row reflects the rebuilt chunked block-attention encoder (aufklarer/Qwen3-ASR-CoreML) — the previous export ran unmasked global self-attention over zero-padded mel and emitted <|im_end|> right after the first sentence-final period (24.88% WER on the same fixture before the rebuild).

Устойчивость на длинных записях (непрерывная нагрузка на Neural Engine)

200 высказываний LibriSpeech обработаны последовательно (~30 мин аудио, M5 Pro). Проверка, деградирует ли WER или задержка при непрерывной транскрипции.

МетрикаПервые 25%Последние 25%Всего
WER%1.301.232.43
RTF0.6720.4000.539

Деградация не обнаружена. WER стабилен на протяжении сессии. RTF даже улучшается по мере прогрева кеша плана выполнения CoreML. Без теплового троттлинга после 42 минут непрерывного инференса на Neural Engine. Parakeet обрабатывает каждый чанк независимо — без накопления состояния между чанками.

Многоязычные результаты (FLEURS)

CER используется для языков CJK (без границ слов). Parakeet поддерживает ~25 европейских языков (без CJK).

ЯзыкМетрикаQwen3 4-bitQwen3 8-bitParakeet INT8
ИспанскийWER6.445.065.18
АнглийскийWER6.575.649.30
КитайскийCER8.417.71
НемецкийWER9.456.8112.33
ФранцузскийWER11.428.5013.02
ЯпонскийCER16.118.64
РусскийWER16.3510.5211.49
КорейскийWER19.956.89
ХиндиWER25.9318.57
АрабскийWER33.4720.31

Дельта от сжатия

Потеря точности от квантизации до меньшей разрядности.

ВариантWER%ЗаменыВставкиУдаленияВсего ошибокРазмер
Qwen3 0.6B 8-bit2.801111922681471960 МБ
Qwen3 0.6B 4-bit3.3413231233081754675 МБ
Дельта+0.54+212+31+40+283-30%
Parakeet TDT INT82.749901253081423634 МБ
Главный вывод

Qwen3-ASR 1.7B 8-bit достигает 2.35% WER — превосходит Whisper Large v3 Turbo (2.5%) и Whisper Large v3 (2.7%), работая при этом в 11 раз быстрее реального времени на Apple Silicon.

TTS — разборчивость круговой проверки

Синтезировать текст, затем транскрибировать аудио обратно через Qwen3-ASR 0.6B и вычислить WER относительно исходного текста. Оценено на 30 встроенных английских диалоговых фразах.

ДвижокМодельПараметрыРазмерWER%RTF
CosyVoice30.5B 4-bit500M~1.9 ГБ3.250.59
Qwen3-TTS1.7B 4-bit1.7B~2.3 ГБ3.470.79
Qwen3-TTS1.7B 8-bit1.7B~3.5 ГБ3.660.85
Kokoro-82MCoreML82M~170 МБ3.900.17
Qwen3-TTS0.6B 8-bit600M~960 МБ9.740.76
Qwen3-TTS0.6B 4-bit600M~675 МБ15.580.76

Разбивка задержки (Qwen3-TTS)

ЭтапВремя% от общегоОписание
Embed1-3 мс<1%Эмбеддинг текста (TTFT)
Generate2-6 с~92%Авторегрессивные codec-токены
Decode244-457 мс~8%Codec-декодер в waveform
Главный вывод

Все TTS-движки работают быстрее реального времени (RTF < 1.0). CosyVoice3 лидирует по разборчивости (3.25% WER). Kokoro — самый быстрый (RTF 0.17) при размере всего 170 МБ.

VAD — точность детекции

Оценка на FLEURS (10 языков, 250 файлов)

Оценено относительно референса Python FireRedVAD при одном и том же пороге.

ДвижокПараметрыБэкендF1%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

Оценка на VoxConverse (многоспикерный)

5 многоспикерных разговорных файлов, оценка с разрешением кадра 10 мс.

ДвижокПараметрыБэкендF1%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

Сравнение с опубликованными значениями

МодельF1%FAR%MR%ПараметрыДатасет
Pyannote (наш)98.2250.090.191.5MVoxConverse
FireRedVAD (статья)97.572.693.62588KFLEURS-VAD-102
Silero (наш)95.9821.025.88309KVoxConverse
Silero-VAD (статья)95.959.413.95309KFLEURS-VAD-102
FireRedVAD (наш)94.2169.335.05588KVoxConverse
Главный вывод

FireRedVAD достигает 99.12% F1 на FLEURS с наименьшей частотой ложных срабатываний (2.52%) и работает в 135 раз быстрее реального времени. Silero v5 — лучший вариант для потокового режима при 32 мс на чанк.

Эмбеддинги спикеров

Задержка извлечения

Аудиоклип 20 секунд, 10 итераций после прогрева.

МодельDimБэкендЗадержка
CAM++ (3D-Speaker)192CoreML (ANE)12 мс
WeSpeaker ResNet34-LM256MLX (GPU)64 мс
WeSpeaker ResNet34-LM256CoreML (ANE)143 мс

Качество эмбеддингов (VoxConverse)

Косинусное сходство между сегментными эмбеддингами из 5 многоспикерных записей. Большая разделимость = лучшее различение спикеров.

МодельБэкендВнутри спикераМежду спикерамиРазделимость
WeSpeakerMLX0.7260.1420.584
WeSpeakerCoreML0.7260.1430.582
CAM++CoreML0.7230.3950.328
Главный вывод

Все три движка совпадают с Python-референсом pyannote (разделимость 0.577, косинусное сходство >0.96). WeSpeaker достигает 0.584 разделимости как на MLX, так и на CoreML. CAM++ работает в 5 раз быстрее (12 мс против 65 мс) с хорошей разделимостью (0.328).

Разделение источников — SDR

Signal-to-Distortion Ratio (SDR) на MUSDB18-HQ (50 полнометражных тестовых треков, стерео 44.1 кГц). Больше — лучше. Два размера модели: HQ (8.9M параметров/стем) и L (28.3M параметров/стем).

ЦельUMX-HQ (MLX)UMX-L (MLX)UMX-HQ (опубликованный)
Вокал6.23 дБ~10.5 дБ6.32 дБ
Ударные6.44 дБ~7.0 дБ5.73 дБ
Бас4.56 дБ~5.5 дБ5.23 дБ
Прочее3.41 дБ~4.5 дБ4.02 дБ
МодельПараметры/стемРазмерRTFСкорость
Open-Unmix HQ8.9M136 МБ0.234.3x быстрее реального времени
Open-Unmix L28.3M432 МБ0.214.8x быстрее реального времени
Главный вывод

UMX-HQ совпадает с опубликованным SDR по вокалу и ударным при лёгкой модели 8.9M. UMX-L даёт улучшение +2–4 дБ при размере в 3 раза большем. Обе включают многоканальную пост-фильтрацию Wiener EM и работают быстрее реального времени на Apple Silicon.

Воспроизведение

# ASR-бенчмарки (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 (FLEURS, авто-загрузка)
python scripts/benchmark_asr.py --dataset fleurs --language en_us --batch

# Круговая проверка TTS
python scripts/benchmark_tts.py --compare

# Сравнение VAD
python scripts/benchmark_vad.py --compare

# Сравнение эмбеддингов спикеров
python scripts/benchmark_speaker.py --compare

# Разделение источников (MUSDB18-HQ, скачайте с Zenodo)
python scripts/benchmark_separation.py --data-dir benchmarks/data/musdb18-hq