Benchmarks
RTF(リアルタイム係数)が1.0未満の場合、リアルタイムより高速であることを意味します。
Apple Silicon (MLX + CoreML)
すべてのベンチマークはM2 Max、64 GB、macOS 14上で、リリースビルドとコンパイル済みmetallibを使用しています。
ASR — 単語誤り率
LibriSpeech test-clean(2620発話、英語の朗読音声約5.4時間)で評価。
| モデル | ビット数 | サイズ | WER% | RTF |
|---|---|---|---|---|
| Qwen3-ASR 1.7B | 8ビット | 2.3 GB | 2.35 | 0.090 |
| Qwen3-ASR 1.7B | 4ビット | 1.2 GB | 2.57 | 0.045 |
| Parakeet TDT 0.6B | INT8 | 634 MB | 2.74 | 0.089 |
| Qwen3-ASR 0.6B | 8ビット | 960 MB | 2.80 | 0.025 |
| Qwen3-ASR 0.6B | 4ビット | 675 MB | 3.34 | 0.023 |
公開モデルとの比較
| モデル | パラメーター | サイズ | 精度 | WER% | 出典 |
|---|---|---|---|---|---|
| Qwen3-ASR 1.7B | 1.7B | 2.3 GB | 8ビット | 2.35 | 本ベンチマーク |
| Whisper Large v3 Turbo | 809M | 1.6 GB | FP16 | 2.5 | OpenAI (2024) |
| Qwen3-ASR 1.7B | 1.7B | 1.2 GB | 4ビット | 2.57 | 本ベンチマーク |
| Whisper Large v3 | 1.5B | 3.1 GB | FP16 | 2.7 | OpenAI (2023) |
| Parakeet TDT 0.6B | 600M | 634 MB | INT8 | 2.74 | 本ベンチマーク |
| Qwen3-ASR 0.6B | 600M | 960 MB | 8ビット | 2.80 | 本ベンチマーク |
| Whisper Medium | 769M | 1.5 GB | FP16 | 3.0 | OpenAI (2022) |
| Qwen3-ASR 0.6B | 600M | 675 MB | 4ビット | 3.34 | 本ベンチマーク |
| Whisper Small | 244M | 483 MB | FP16 | 3.4 | OpenAI (2022) |
長尺安定性(持続的なNeural Engine負荷)
200件のLibriSpeech発話を順次処理(音声約30分、M2 Max)。持続的な文字起こし下でWERやレイテンシーが劣化するかをテストします。
| 指標 | 最初の25% | 最後の25% | 全体 |
|---|---|---|---|
| WER% | 1.30 | 1.23 | 2.43 |
| RTF | 0.672 | 0.400 | 0.539 |
劣化は検出されませんでした。セッション全体でWERは安定しています。CoreMLが実行計画キャッシュをウォームアップするにつれ、RTFは実際に向上します。42分間の連続Neural Engine推論後もサーマルスロットリングは発生しません。Parakeetは各チャンクを独立して処理するため、チャンク間の状態蓄積はありません。
多言語結果(FLEURS)
CJK言語(単語境界なし)にはCERを使用。Parakeetは約25の欧州言語をサポート(CJKは非対応)。
| 言語 | 指標 | Qwen3 4ビット | Qwen3 8ビット | Parakeet INT8 |
|---|---|---|---|---|
| スペイン語 | WER | 6.44 | 5.06 | 5.18 |
| 英語 | WER | 6.57 | 5.64 | 9.30 |
| 中国語 | CER | 8.41 | 7.71 | — |
| ドイツ語 | WER | 9.45 | 6.81 | 12.33 |
| フランス語 | WER | 11.42 | 8.50 | 13.02 |
| 日本語 | CER | 16.11 | 8.64 | — |
| ロシア語 | WER | 16.35 | 10.52 | 11.49 |
| 韓国語 | WER | 19.95 | 6.89 | — |
| ヒンディー語 | WER | 25.93 | 18.57 | — |
| アラビア語 | WER | 33.47 | 20.31 | — |
圧縮デルタ
より低ビット幅への量子化による精度の損失。
| バリアント | WER% | 置換 | 挿入 | 削除 | 合計エラー | サイズ |
|---|---|---|---|---|---|---|
| Qwen3 0.6B 8ビット | 2.80 | 1111 | 92 | 268 | 1471 | 960 MB |
| Qwen3 0.6B 4ビット | 3.34 | 1323 | 123 | 308 | 1754 | 675 MB |
| デルタ | +0.54 | +212 | +31 | +40 | +283 | -30% |
| Parakeet TDT INT8 | 2.74 | 990 | 125 | 308 | 1423 | 634 MB |
Qwen3-ASR 1.7B 8ビットは2.35% WERを達成し、Whisper Large v3 Turbo(2.5%)およびWhisper Large v3(2.7%)を上回りながら、Apple Silicon上で11倍のリアルタイム速度で動作します。
TTS — ラウンドトリップ明瞭度
テキストを合成し、その音声をQwen3-ASR 0.6Bで文字起こしし、元のテキストに対するWERを計算します。30件の組み込み英語会話文で評価。
| エンジン | モデル | パラメーター | サイズ | WER% | RTF |
|---|---|---|---|---|---|
| CosyVoice3 | 0.5B 4ビット | 500M | 約1.9 GB | 3.25 | 0.59 |
| Qwen3-TTS | 1.7B 4ビット | 1.7B | 約2.3 GB | 3.47 | 0.79 |
| Qwen3-TTS | 1.7B 8ビット | 1.7B | 約3.5 GB | 3.66 | 0.85 |
| Kokoro-82M | CoreML | 82M | 約170 MB | 3.90 | 0.17 |
| Qwen3-TTS | 0.6B 8ビット | 600M | 約960 MB | 9.74 | 0.76 |
| Qwen3-TTS | 0.6B 4ビット | 600M | 約675 MB | 15.58 | 0.76 |
レイテンシー内訳 (Qwen3-TTS)
| ステージ | 時間 | 全体に占める割合 | 説明 |
|---|---|---|---|
| Embed | 1-3 ms | <1% | テキスト埋め込み (TTFT) |
| Generate | 2-6 秒 | 約92% | 自己回帰コーデックトークン |
| Decode | 244-457 ms | 約8% | コーデックデコーダーから波形へ |
すべてのTTSエンジンはリアルタイムより高速に動作します(RTF < 1.0)。CosyVoice3は明瞭度でリード(3.25% WER)。Kokoroはわずか170 MBで最速(RTF 0.17)です。
VAD — 検出精度
FLEURS評価(10言語、250ファイル)
同じしきい値でPython FireRedVADリファレンスのグラウンドトゥルースと比較評価。
| エンジン | パラメーター | バックエンド | F1% | FAR% | MR% | 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 |
VoxConverse評価(複数話者)
5件の複数話者会話ファイルを10 msフレーム分解能で評価。
| エンジン | パラメーター | バックエンド | F1% | FAR% | MR% | 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 |
公開数値との比較
| モデル | F1% | FAR% | MR% | パラメーター | データセット |
|---|---|---|---|---|---|
| Pyannote (本実装) | 98.22 | 50.09 | 0.19 | 1.5M | VoxConverse |
| FireRedVAD (論文) | 97.57 | 2.69 | 3.62 | 588K | FLEURS-VAD-102 |
| Silero (本実装) | 95.98 | 21.02 | 5.88 | 309K | VoxConverse |
| Silero-VAD (論文) | 95.95 | 9.41 | 3.95 | 309K | FLEURS-VAD-102 |
| FireRedVAD (本実装) | 94.21 | 69.33 | 5.05 | 588K | VoxConverse |
FireRedVADはFLEURSで99.12% F1を達成し、最低の誤報率(2.52%)で動作し、135倍のリアルタイム速度で実行されます。Silero v5はチャンクあたり32 msで最高のストリーミングオプションを提供します。
話者embedding
抽出レイテンシー
20秒の音声クリップ、ウォームアップ後10回反復。
| モデル | 次元 | バックエンド | レイテンシー |
|---|---|---|---|
| CAM++ (3D-Speaker) | 192 | CoreML (ANE) | 12 ms |
| WeSpeaker ResNet34-LM | 256 | MLX (GPU) | 64 ms |
| WeSpeaker ResNet34-LM | 256 | CoreML (ANE) | 143 ms |
埋め込み品質 (VoxConverse)
5件の複数話者録音からのセグメントレベルembedding間のコサイン類似度。分離が大きいほど話者識別が優れます。
| モデル | バックエンド | 同一話者内 | 話者間 | 分離 |
|---|---|---|---|---|
| WeSpeaker | MLX | 0.726 | 0.142 | 0.584 |
| WeSpeaker | CoreML | 0.726 | 0.143 | 0.582 |
| CAM++ | CoreML | 0.723 | 0.395 | 0.328 |
3つのエンジンすべてがPython pyannoteリファレンス(0.577分離、コサイン類似度 >0.96)と一致します。WeSpeakerはMLXとCoreMLの両方で0.584の分離を達成します。CAM++は5倍高速(12 ms対65 ms)で動作し、良好な分離(0.328)を示します。
音源分離 — SDR
MUSDB18-HQ(50件のフルレングステストトラック、ステレオ 44.1kHz)での信号対歪み比(SDR)。高いほど良好です。2つのモデルサイズ:HQ(ステムあたり8.9Mパラメーター)とL(ステムあたり28.3Mパラメーター)。
| ターゲット | UMX-HQ (MLX) | UMX-L (MLX) | UMX-HQ (公開値) |
|---|---|---|---|
| ボーカル | 6.23 dB | 約10.5 dB | 6.32 dB |
| ドラム | 6.44 dB | 約7.0 dB | 5.73 dB |
| ベース | 4.56 dB | 約5.5 dB | 5.23 dB |
| その他 | 3.41 dB | 約4.5 dB | 4.02 dB |
| モデル | ステムあたりパラメーター | サイズ | RTF | 速度 |
|---|---|---|---|---|
| Open-Unmix HQ | 8.9M | 136 MB | 0.23 | 4.3倍リアルタイム |
| Open-Unmix L | 28.3M | 432 MB | 0.21 | 4.8倍リアルタイム |
UMX-HQは軽量な8.9Mモデルでボーカルとドラムの公開SDRと一致します。UMX-Lはモデルサイズの3倍で+2〜4 dBの改善を提供します。どちらも多チャネル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
# 話者embedding 比較
python scripts/benchmark_speaker.py --compare
# 音源分離 (MUSDB18-HQ、Zenodoからダウンロード)
python scripts/benchmark_separation.py --data-dir benchmarks/data/musdb18-hq