OpenAI whisper は OpenAI 公式実装の音声認識のパッケージで,PyTorch がベースになっています.シンプルで,安定しており,GPU (MPS含む) の対応が行いやすいという特徴があります.一方で,WhisperX は音声認識に加えて,時間精度の向上,話者分離を加えた拡張版で,NVIDIA の CUDA 前提ではあるものの GPU に最適化されているという特徴があります.次の表に機能の比較を簡単にまとめます.
項目 |
OpenAI Whisper |
WhisperX |
|---|---|---|
| 音声認識 | ✓ | ✓ |
| タイムスタンプ | 粗い | ✓ 高精度(word単位) |
| 話者分離 | × | ✓ (--diarize) |
| 認識速度 | やや遅い | ✓ 高速(faster-whisper 使用) |
| GPU最適化 | △ | ✓ 強い(CUDA前提) |
| 出力 | シンプル | 詳細(JSON 充実) |
macOSで動かしたい場合,MPSを使いたい場合,シンプルに文字起こしだけを実行したい,というような場合は OpenAI whisper を利用するとよいでしょう.一方で,議事録作成や分析用途として話者分離が必要であったり,単語単位でその発話時間を必要とするような場合は WhisperX が適しています.また,NVIDIA GPU (CUDA) の利用によって高速な処理ができることも WhisperX の利点です.
このセクションでは,Windows 編と macOS 編についてそれぞれ WhisperX を用いた音声認識や話者分離を行います.Windows 編においては GPU を利用することで CPU と比較して10倍程度の速度で実行できることを示します.一方で,macOS 編では主として CPU を用いた利用方法について示します.OpenAI Whisper で GPU を利用する方法についても説明しますが,現時点では認識精度などの観点から Windows + NVIDIA GPU の組み合わせが最適であることも分かりました.