TL;DR
- Apple Silicon Mac向けの文字起こしライブラリ mlx-whisper を使うと、通常のWhisperより約20倍高速に音声認識できる
- 3分の動画:通常Whisper 1分48秒 → mlx-whisper 5.4秒
- 30分の動画でも1分10秒で文字起こし完了
pip install mlx-whisperだけで導入可能。Apple公式のMLXフレームワークがApple Silicon GPUをフル活用
きっかけ
DHU特任准教授でAI教育者のusutaku氏(@usutaku_channel)が、自身のMac環境でのベンチマーク結果をXに投稿し、大きな反響を呼んだ(いいね871、ブックマーク1,142、インプレッション11.7万、3/25時点)。
当たり前の話だったら申し訳ないのだが、これまで動画の文字起こしするのに普通のWhisperを使ってた。これを、Mac用のmlx whisperに変えたら、1分48秒かかっていた文字起こしが5.4秒になった...(3分尺の動画)
usutaku氏のPC環境はメモリ128GBとのことで、「メモリが大きいからここまで速い面はある」と補足している。
mlx-whisperとは
mlx-whisper は、AppleのオープンソースMLフレームワーク「MLX」上でOpenAIのWhisperモデルを動かすライブラリだ。Apple公式のmlx-examplesリポジトリに含まれている。
なぜ速いのか
| 項目 | 通常のWhisper(PyTorch) | mlx-whisper |
|---|---|---|
| 実行基盤 | PyTorch + CPU(Macの場合) | Apple MLXフレームワーク |
| GPU活用 | MPS経由で部分的 | Apple Silicon GPU(Neural Engine含む)をフル活用 |
| メモリ管理 | 一般的なGPUメモリ管理 | ユニファイドメモリを直接活用 |
| 最適化 | 汎用的 | Apple Silicon専用に最適化 |
ポイントは ユニファイドメモリアーキテクチャ だ。Apple SiliconではCPUとGPUが同じメモリを共有しているため、データ転送のオーバーヘッドがない。mlx-whisperはこの特性を最大限に活用する。メモリが多いほど大きなモデルを高速に扱えるため、usutaku氏の128GB環境では特に顕著な効果が出ている。
実測ベンチマーク
usutaku氏の報告値(128GBメモリ環境):
| 動画の長さ | 通常のWhisper | mlx-whisper | 高速化倍率 |
|---|---|---|---|
| 3分 | 1分48秒 | 5.4秒 | 約20倍 |
| 30分 | — | 1分10秒 | — |
他のベンチマーク(Simon Willison氏のブログなど)でも、mlx-whisperは通常のWhisperに対して 3〜20倍 の高速化が報告されている。環境(チップ世代、メモリ量、モデルサイズ)によって差はあるが、最低でも数倍の高速化は期待できる。
導入方法
インストール
# ffmpegが必要(未インストールの場合)
brew install ffmpeg
# mlx-whisperをインストール
pip install mlx-whisper
基本的な使い方
コマンドライン:
# 音声ファイルを文字起こし
mlx_whisper audio_file.mp3
# 出力形式を指定
mlx_whisper -f srt audio_file.mp3
# モデルを指定(より高精度なモデル)
mlx_whisper --model mlx-community/whisper-large-v3-turbo audio_file.mp3
Python API:
import mlx_whisper
# シンプルな文字起こし
text = mlx_whisper.transcribe(audio.mp3)[text]
# 大きなモデルでより高精度に
result = mlx_whisper.transcribe(
audio.mp3,
path_or_hf_repo=mlx-community/whisper-large-v3-turbo
)
# 単語レベルのタイムスタンプ付き
result = mlx_whisper.transcribe(audio.mp3, word_timestamps=True)
利用可能なモデル
Hugging Face MLX Communityに変換済みモデルが公開されている。
| モデル | パラメータ数 | 用途 |
|---|---|---|
| whisper-tiny | 39M | 高速、精度は控えめ |
| whisper-base | 74M | バランス型 |
| whisper-small | 244M | 実用的な精度 |
| whisper-medium | 769M | 高精度 |
| whisper-large-v3 | 1.5B | 最高精度 |
| whisper-large-v3-turbo | 809M | 高精度かつ高速(おすすめ) |
Whisper実装の比較
Mac環境で文字起こしする選択肢は複数ある。
| 実装 | 特徴 | Apple Silicon最適化 | 導入の手軽さ |
|---|---|---|---|
| mlx-whisper | Apple MLXフレームワーク | ★★★ | pip install |
| whisper.cpp | C++実装、Core ML対応 | ★★☆ | ビルド必要 |
| 通常Whisper(PyTorch) | OpenAI公式 | ★☆☆ | pip install |
| Whisper API(クラウド) | OpenAI API経由 | — | API key必要、従量課金 |
| faster-whisper | CTranslate2ベース | ★☆☆(Mac非最適) | pip install |
ローカルで速度を求めるなら、Apple Silicon Macでは mlx-whisper一択 と言ってよい。
個人開発者にとっての意味
- 議事録・インタビュー文字起こしのコストがゼロに。30分の会議を1分で文字起こしできるなら、毎回やっても苦にならない
- 動画コンテンツのアクセシビリティ向上。字幕生成がローカルで高速にできるなら、YouTubeやポッドキャストの字幕付けも気軽に
- AIパイプラインの前処理として。音声→テキスト→LLM要約のパイプラインで、ボトルネックだった文字起こしが解消される
- プライバシー。クラウドAPIに音声を送信する必要がなく、機密性の高い会議の文字起こしにも安心
注意点
- Apple Silicon Mac専用(Intel Macでは動作しない)
- メモリ量が性能に直結する。16GBでも動くが、32GB以上が推奨
- 大きなモデル(large-v3)を使うにはメモリに余裕が必要
まとめ
mlx-whisperは「知っているかどうか」だけで生産性が劇的に変わるツールだ。Apple Silicon Macを使っている開発者で、文字起こしに通常のWhisperやクラウドAPIを使っているなら、今すぐ乗り換える価値がある。pip install mlx-whisper の一行で、文字起こしの体験が変わる。
usutaku氏のポストが871いいね・1,142ブックマークを集めたのは、「知らなかった」人がそれだけ多かった証拠だ。Apple SiliconのGPU性能を眠らせているMacユーザーは、まだまだ多い。
ソース:
- usutaku氏のXポスト
- mlx-whisper(GitHub / Apple MLX Examples)
- mlx-whisper(PyPI)
- Hugging Face MLX Community Whisperモデル