[音声LLM] Whisper.cppを使って音声文字起こし【ローカル/オフライン/高精度】

Whisper.cppとは?

Whisper.cpp は、OpenAI が開発した音声認識モデル「Whisper」を、C++ に移植した高速・軽量な実装です。

開発者 ggerganov 氏 によって公開され、以下のような特長があります:

  • ローカルで動作:インターネット接続不要。プライバシー重視の音声認識が可能
  • Python不要:C++のみで動作。CLIベースでシンプル
  • GPU不要でも動く:CPUだけでも実行可能(ただし処理はやや重め)
  • クロスプラットフォーム:Windows / Linux / macOS / Raspberry Pi など幅広く対応
  • OpenAIのWhisperモデルと互換性ggml 形式のモデルを使用し、公式精度を再現可能

家庭用PCでも十分動作し、ニュースや会話、動画、会議音声の文字起こしに活用できます。

本記事では、この Whisper.cpp を Windows 環境に導入して実際に動かす手順 を、初心者でもわかるよう丁寧に解説していきます。

【使用環境】

  • Windows 10/11
  • Visual Studio 2022 Build Tools
  • PowerShell / コマンドプロンプト
  • Git

1. Visual Studio Build Tools

  1. Microsoft 公式ページ から Build Tools をダウンロード
  2. インストール時に「C++ によるデスクトップ開発」を選択
  3. CMake / Windows SDK / MSVC / その他のオプションも給合

2. whisper.cpp のクローン

git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release

必要なら: Developer Command Prompt for VS 2022から実行


3. モデルのダウンロード

入れたバイナリ:whisper.cpp/models

curl -L -o ggml-small.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin

この例は small モデル。large-v3 なら絶大に速度の違いを感じる


4. 実行コマンド

cd build/bin/Release

# ベーシックなコマンド
whisper-cli.exe -m ..\..\..\models\ggml-small.bin -f sample.wav -l ja --output-txt

例の sample.wavは自分の音声ファイルでOK

サンプルボイスはここからお借りしました。


5. 動作確認

  • sample.txt が出力されれば成功
  • Japanese もそこそこの精度
  • large-v3 にすると「ボーダーレートだけど高精度」

6. Whisper モデル一覧と比較

Whisper には複数のモデルがあり、ファイルサイズ・精度・処理速度のバランスが異なります。
用途やマシンスペックに応じて選ぶことができます。

モデル名 容量 精度 日本語対応 特徴
tiny ~75MB とにかく軽い。ラズパイなど超軽量用途に最適
base ~142MB やや低 軽量。短い音声や高速処理に向く
small ~487MB 精度と速度のバランスが良い
medium ~1.5GB 精度がぐっと向上。処理時間は増える
large-v3 ~2.9GB 非常に高い Whisper最高精度。処理時間は最も長い

モデル選びの目安

  • お試し・軽量運用small
  • 本気の文字起こし・議事録作成large-v3
  • 非力なPC(メモリ4GB以下)basetiny
  • GPUあり・精度最重視openai/whisper + large-v3 モデルが理想(別記事)

モデルダウンロード例(curl)

# small モデル(バランス型)
curl -L -o ggml-small.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin

# large-v3 モデル(最高精度)
curl -L -o ggml-large-v3.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin

公式配布元:https://huggingface.co/ggerganov/whisper.cpp

7. Tips

  • --output-srt でサブタイトル作成
  • --language autoは言語自動検出
  • 出力フォーマット:txt, srt, vtt, json

8. トラブルの場合

  • パスの誤りは where cl, where cmake で確認
  • PATH に exe まで書いていたら勝手に掛らない
  • Developer Command Prompt から実行すると最初は楽