whisper.cpp を Visual Studio 2022 でビルドする方法
whisper.cpp は、OpenAIのWhisper音声認識モデルをC/C++で実装した高性能な音声認識ライブラリです。 本記事では、Windows環境でVisual Studio 2022を使用してビルドし、日本語の音声ファイルを文字起こしする方法を解説します。
1. 前提条件
- Windows 10/11
- Visual Studio 2022 (Community版でOK)
- Git
2. リポジトリのクローン
まず、whisper.cppのリポジトリをクローンします。
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
3. CMakeでビルドファイルを生成
Visual Studio 2022に付属のCMakeを使用して、ビルドファイルを生成します。
Visual Studio 2022のCMakeは以下の場所にあります:
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe
"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -B build -G "Visual Studio 17 2022" -A x64
成功すると以下のような出力が表示されます:
-- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.26200.
-- The C compiler identification is MSVC 19.44.35222.0
-- The CXX compiler identification is MSVC 19.44.35222.0
...
-- Configuring done
-- Generating done
-- Build files have been written to: .../whisper.cpp/build
4. プロジェクトをビルド
Releaseモードでビルドを実行します。
"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build build --config Release -j
実行ファイルは
build\bin\Release\ フォルダに生成されます。
5. 生成される実行ファイル
| ファイル名 | サイズ | 説明 |
|---|---|---|
whisper-cli.exe |
約481KB | メインのCLIツール(音声認識) |
whisper-server.exe |
約723KB | HTTPサーバー |
whisper-bench.exe |
約21KB | ベンチマークツール |
whisper-quantize.exe |
約104KB | モデル量子化ツール |
whisper.dll |
約485KB | Whisperライブラリ |
ggml.dll |
約67KB | GGMLバックエンド |
ggml-base.dll |
約537KB | GGML基本ライブラリ |
ggml-cpu.dll |
約730KB | GGML CPUバックエンド |
6. モデルのダウンロード
音声認識を行うには、Whisperモデルが必要です。日本語を認識するには、多言語モデル(.enがついていないもの)を使用します。
利用可能なモデル
| モデル | サイズ | メモリ使用量 | 精度 |
|---|---|---|---|
| tiny | 75 MB | ~273 MB | 低 |
| base | 142 MB | ~388 MB | 中 |
| small | 466 MB | ~852 MB | 中高 |
| medium | 1.5 GB | ~2.1 GB | 高 |
| large | 2.9 GB | ~3.9 GB | 最高 |
baseモデルのダウンロード(推奨)
curl -L -o models\ggml-base.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin
または、付属のスクリプトを使用:
cd models
download-ggml-model.cmd base
modelsフォルダにあるfor-tests-*.binファイルはテスト用のダミーファイル(約500KB)です。
実際の音声認識には使用できません。本物のモデル(ggml-base.binは142MB)をダウンロードしてください。
7. 対応音声フォーマット
whisper-cli.exeは以下の音声フォーマットに対応しています:
- WAV - Windows標準の音声形式
- MP3 - 圧縮音声形式
- FLAC - 可逆圧縮形式
- OGG - オープンソース形式
8. 使用方法
基本的な使い方
build\bin\Release\whisper-cli.exe -m models\ggml-base.bin -f audio.wav
日本語音声の文字起こし
build\bin\Release\whisper-cli.exe -m models\ggml-base.bin -l ja -f audio.mp3
SRT字幕ファイルを出力
build\bin\Release\whisper-cli.exe -m models\ggml-base.bin -l ja -osrt -f audio.mp3
VTT字幕ファイルを出力
build\bin\Release\whisper-cli.exe -m models\ggml-base.bin -l ja -ovtt -f audio.mp3
テキストファイルに出力
build\bin\Release\whisper-cli.exe -m models\ggml-base.bin -l ja -otxt -f audio.mp3
JSON形式で出力
build\bin\Release\whisper-cli.exe -m models\ggml-base.bin -l ja -oj -f audio.mp3
9. 主要なオプション
| オプション | 説明 | デフォルト値 |
|---|---|---|
-m, --model |
モデルファイルのパス | models/ggml-base.en.bin |
-f, --file |
入力音声ファイル | - |
-l, --language |
言語コード(ja=日本語) | en |
-t, --threads |
使用するスレッド数 | 4 |
-osrt |
SRT字幕を出力 | false |
-ovtt |
VTT字幕を出力 | false |
-otxt |
テキストファイルを出力 | false |
-oj |
JSONを出力 | false |
-tr, --translate |
英語に翻訳 | false |
--vad |
音声区間検出を有効化 | false |
10. トラブルシューティング
CMakeが見つからない場合
Visual Studio 2022のCMakeへのフルパスを使用してください:
"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe"
DLLが見つからないエラー
実行時にDLLエラーが出る場合は、以下のDLLファイルが同じフォルダにあることを確認してください:
- whisper.dll
- ggml.dll
- ggml-base.dll
- ggml-cpu.dll
音声ファイルの変換
音声ファイルがうまく認識されない場合は、ffmpegで16kHz、モノラルのWAVに変換してみてください:
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
11. 参考リンク
WinUI 3 / XAML の Grid.Width 設定方法
WinUI 3でMenuFlyoutをShowAtで表示する方法【コード付き解説】
MenuFlyout は WinUI 3 で便利なポップアップメニュー
WinUI 3の開発で混乱しがちな「空白のウィンドウ」と「空白のページ」の違い
PowerShellでMSIXアプリ(Storeアプリ)を起動する方法|AppUserModelIdとURIスキーム活用術
Microsoft Storeアプリ更新時のロールアウト設定まとめ
PowerShellでtail -f!WindowsでUTF-8対応のリアルタイムログ監視を実現する方法
Microsoft純正の新しいコンソールエディタ「edit」が復活!| edit.exe インストール方法
Microsoft Authenticatorのオートフィル機能が2025年7月に終了
RuntimeBroker.exeとMsEdgeWebView2.exeとは?Windows 11のプロセスについて
PowerShellでGrapheme Clusterについて処理を考える
業務用ノートパソコンのストレージは暗号化されている?BitLockerの確認と対策方法
【Windows】Volta コマンドライン インストール | Node.jsをバージョン管理する方法
【C#】大容量ファイルを指定サイズ以下に分割する方法|.NET8対応コード付き
【Anker Soundcore Liberty 4】イヤーピース紛失!代替品はAmazonで購入
Windows 11でタスクマネージャー以外からアプリを終了させる方法【PowerShell・コマンドプロンプト】
【Excel VBA】セルにUUIDを自動生成して埋める方法