MacでWhisperを高速化する方法②:whisper.cpp編(ネイティブCLI・Apple Silicon最適)

AI音声

Pythonを使わずにWhisperを動かしたいなら、最適解はwhisper.cppです。
これはC/C++で書かれたネイティブ実装版のWhisperで、Apple Siliconでも高速に動作します。
依存が少なく、CLIだけで即実行可能。軽量なツールとしてラップトップやRaspberry Piでも動作します。

本記事では、Mac上での導入からモデル取得、実行までを実測に基づいて解説します。

whisper.cppとは(概要)

whisper.cpp は、OpenAI WhisperをC/C++で再実装した軽量版です。
Python不要・依存最小で、CPU最適化された推論を実現します。

  • 特徴
    • Mac(Apple Silicon)やLinuxでネイティブ動作
    • PythonやPyTorch不要、依存が少ない
    • モデルを量子化(int8など)して軽量化可能
    • CLIのみで実行(スクリプト不要)

速度の目安:
同一条件で openai-whisper の約2〜3倍、faster-whisper と同等かそれ以上。

2. モデルのダウンロード(.bin形式)

whisper.cppは実行時にモデルを自動ダウンロードしません。 事前に公式配布ページ等からダウンロードして、パスを指定する必要があります。

whisper.cppは独自形式のモデル(.bin)を使用します。
公式リポジトリまたはGitHubのリンクからダウンロードできます。

2-1. ダウンロード例(baseモデル)

モデルファイルはサイズが大きいため、まずは tiny または base から試すのがおすすめです。

下記はbaseモデルを試す例です。

# 作業ディレクトリを作成
mkdir -p ~/Works/whisper_cpp && cd ~/Works/whisper_cpp

# baseモデルをダウンロード
curl -L -O https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin

# ファイル確認
ls ggml-base.bin
モデルサイズ精度用途目安
tiny約75MB速い・軽いテスト用・短時間音声
base約145MB実用最低ラインノート・要約
small約500MB精度バランス良会議・インタビュー
medium約1.5GB高精度長時間処理向け
large-v3約2.9GB最高精度精密分析・研究

4. 速度と精度の目安(Apple Silicon実測)

MacBook Air M2(8コアCPU)での実測例:

モデルファイル長(1分音声)処理時間備考
tiny約1分約2秒軽快。雑音に弱い
base約1分約4秒実用最低ライン
small約1分約7秒精度と速度のバランス良
medium約1分約12秒長時間向け

CPUのみでこの速度。 GPU不要で十分な性能が得られます。
Apple Siliconでは whisper.cpp が最も軽快に動作します。

5. よくあるトラブルと対処

症状原因と対処
command not found: whisper-cppHomebrewのPATH未登録。brew doctorで確認。
model file not found.binモデルのパス指定を確認(相対パスでもOK)。
出力が空になる音声が短すぎる/静音。ファイル形式(WAV)を再確認。
ノイズが多い/誤認識入力音質を改善、またはsmall以上のモデルを利用。

リンク集

タイトルとURLをコピーしました