重要なポイント
- Georgi Gerganov氏が2022年に開発。現在はGitHubのggml-org組織で保守。
- MITライセンス ー 商用利用を含め、無料で使用・改変・再配布可能。
- CPU、Apple Metal/Core ML、NVIDIA CUDA、Vulkan、OpenVINO、AMD ROCm、Ascend NPUバックエンドで動作。
- Pythonランタイム不要 ー コンパイル済みC/C++バイナリとして提供、Pythonバインディングはオプション。
- streamingサンプルによりリアルタイムのマイク文字起こしにも対応し、ファイルのバッチ文字起こしもできる。
- 最新の安定版:v1.9.3、2026年8月20日公開。
📍 一文で説明
whisper.cppは、Georgi Gerganov氏が開発した、OpenAIの音声認識モデルWhisperの無料・MITライセンスC/C++移植版で、CPU、Apple Metal、NVIDIA CUDAなどのバックエンドを通じてPythonなしで完全にデバイス上で音声を文字起こしする。
💬 簡潔に説明
クラウドAPIに送る代わりに、自分のパソコンやデバイス上で話し声をテキストに変換するツール。コンパイル済みバイナリをダウンロードするか自分でビルドし、音声ファイルやマイクのライブストリームを渡すと、OpenAIが学習したのと同じモデルを使って無料で文字起こしを返す。
📌補足: 本レビューは、whisper.cppを単体のツールとして扱い、歴史、インストール、実際のコマンド、ライセンス、正直な限界に焦点を当てます。Apple SiliconとNVIDIA GPUでのfaster-whisperとの直接比較ベンチマークは、whisper.cpp対faster-whisper比較記事をご覧ください。
歴史:誰がなぜwhisper.cppを作ったか
OpenAIは2022年9月に音声認識モデルWhisperを公開しました。 大量の多言語音声データで学習したオープンウェイトモデルで、PyTorchに依存し、良好な性能を得るにはCUDA対応GPUを必要とするPythonパッケージ(openai-whisper)として配布されていました。
Georgi Gerganov氏はその直後、同じ2022年にこのモデルを純粋なC/C++へ移植しました。 リポジトリはggml-org/whisper.cppです。Gerganov氏はwhisper.cppの演算と量子化を支えるggmlテンソルライブラリの開発者でもあり、後にローカルで大規模言語モデルを実行するための同等のC/C++移植版であるllama.cppでも知られるようになりました ー 両プロジェクトは同じggml基盤と、通常はPythonとGPUを必要とするモデルを一般的なハードウェアで動かすという同じ設計目標を共有しています。
開発の動機は速度だけでなく、移植性とリソース効率でした。 WhisperのオリジナルのPython/PyTorch実装は、優れたGPUを備えたワークステーションでは実行しやすいものの、Raspberry Pi、iOSアプリ、WebAssemblyページ、Pythonインタプリタのない組み込みLinuxボードに展開するには重すぎます。whisper.cppはPythonとPyTorchへの依存を完全に取り除き、小さなバイナリにコンパイルされ、量子化サポートを追加することで、より小さなモデルバリアントが数百メガバイトのRAMに収まるようにしています。
プロジェクトは一人の開発者によるサイドプロジェクトの域をはるかに超えて成長しました。 現在は数百人の貢献者を抱え、Debian向けにパッケージ化され、2022年のオリジナル公開時には存在しなかったCore ML(Apple Neural Engine)、CUDA、Vulkan、OpenVINOなどのバックエンドを公式にサポートしています。それでも本質はWhisperの*実行環境*であり続けています ー 独自モデルの学習やファインチューニングは行わず、すべての文字起こしは、指定されたモデルサイズ(tinyからlarge-v3まで)についてOpenAIが公開した同じ重みを、プロジェクト独自のGGML形式に変換して使用しています。
whisper.cppを開発したのは誰ですか?
Georgi Gerganov氏がwhisper.cppを開発し、2022年にOpenAIのWhisperモデルのC/C++移植版として初めて公開しました。Gerganov氏はwhisper.cppが動作するggmlテンソルライブラリの開発者でもあり、後にローカルで大規模言語モデルを実行するための同等の移植版であるllama.cppも開発しました。
whisper.cppが実際にできること
whisper.cppは音声入力(WAVファイル、およびオプションのFFmpegデコードによるその他の形式、またはライブマイクストリーム)を受け取り、テキストの文字起こしを出力します。オプションでセグメントごとのタイムスタンプと英語への翻訳も可能です。これを実現するために、Whisperモデル(プロジェクト独自のGGML重み形式に変換済み)を読み込み、ggmlテンソルライブラリを通じて完全にローカルマシン上で推論を実行します。
- バッチ文字起こし。
whisper-cliバイナリを音声ファイルに向けて実行し、文字起こしを取得。プレーンテキスト、SRT/VTT字幕、JSON、CSVでの出力オプションあり。 - リアルタイムストリーミング。
whisper-streamサンプルはライブマイク音声を取り込み、継続的に文字起こしする。音声アシスタントやライブ字幕に有用。 - 多言語文字起こしと翻訳。 元となるWhisperモデルは多数の言語で学習されており、whisper.cppは渡すフラグに応じて元言語のまま文字起こしするか、直接英語に翻訳できる。
- ハードウェアアクセラレーション推論。 Apple Siliconでは、whisper.cppはモデルをCore ML形式にエクスポートしてApple Neural Engineを利用可能。NVIDIAハードウェアではCUDAを、他のGPUではVulkanやOpenVINOを利用可能。CPUのみのマシンでは、AVX2(x86)やNEON(ARM)ベクトル命令を使用する。
- 量子化。 モデルを量子化(例:4ビットや5ビットのGGML形式)することで、わずかな精度と引き換えにメモリ使用量を大幅に削減し、推論を高速化できる ー llama.cppがLLMに使うのと同じ技術。
whisper.cppのインストールと実行:手順
このガイドは、プロジェクト自身のREADMEに記載されたコマンドを使って、ソースからwhisper.cppをビルドし、最初の文字起こしを実行します。
- 1リポジトリをクローンする。
Why it matters: `git clone https://github.com/ggml-org/whisper.cpp.git` を実行し、続けて `cd whisper.cpp` を実行します。これにより、CMakeビルドファイルとモデルダウンロードスクリプトを含む、C/C++ソースツリー全体が取得されます。 - 2モデルをダウンロードする。
Why it matters: `sh ./models/download-ggml-model.sh base.en` を実行し、GGML形式の英語専用baseモデルを取得します。求める精度と速度のバランスに応じて `base.en` を `tiny`、`small`、`medium`、`large-v3` に置き換えるか、多言語モデルには `.en` 接尾辞を外してください。 - 3プロジェクトをビルドする。
Why it matters: `cmake -B build` を実行し、続けて `cmake --build build -j --config Release` を実行します。これによりCLIバイナリ(`whisper-cli`、`whisper-stream`など)が `build/bin/` ディレクトリにコンパイルされます。このステップにPythonのインストールは不要です。 - 4サンプルファイルを文字起こしする。
Why it matters: リポジトリに同梱されているサンプル音声ファイルを使って `./build/bin/whisper-cli -f samples/jfk.wav` を実行します。これでビルドがエンドツーエンドで機能していることを確認でき、ターミナルに文字起こしが出力されます。 - 5自分の音声を文字起こしする。
Why it matters: サンプルパスを自分のWAVファイルに置き換えます:`./build/bin/whisper-cli -m models/ggml-base.en.bin -f your-audio.wav`。`.srt`字幕ファイルも出力するには `-osrt` を、JSON出力には `-oj` を追加します。 - 6(任意)GPUアクセラレーションを有効にする。
Why it matters: Apple Siliconでは、macOSでデフォルトのCMakeフラグでビルドすると自動的にMetalアクセラレーションが使用されます。NVIDIAマシンでは、CUDA対応でビルドするために `cmake -B build` のステップに `-DGGML_CUDA=ON` を追加します(CUDAツールキットのインストールが必要)。 - 7(任意)リアルタイム文字起こしを試す。
Why it matters: ストリーミングサンプルをビルドし、`./build/bin/whisper-stream -m models/ggml-base.en.bin` を実行して、固定ファイルの代わりにライブマイク音声を継続的に文字起こしします。
実際の使用例
上記の基本的なインストール手順に加えて、以下は whisper-cli バイナリの実際によく使われる呼び出し例です。
- pywhispercpp はwhisper.cppのPythonバインディングを提供し、Metal/CUDAアクセラレーションを利用しつつ、ファイルごとにCLIバイナリを呼び出すのではなくPythonコードから呼び出したいチーム向け。
- **whisper.cppには小さなローカルHTTPサーバーのサンプル(
whisper-server)も付属しており**、ファイルごとにCLIを呼び出すのではなくHTTP経由で音声を送りたいチームに有用 ー Pythonへの依存なしに既存サービスへwhisper.cppを組み込むのに役立つ。
# 音声ファイルをプレーンテキストに文字起こし(デフォルト出力)
./build/bin/whisper-cli -m models/ggml-base.en.bin -f interview.wav
# より大きく精度の高いモデルを使い、SRT字幕を出力しながら文字起こし
./build/bin/whisper-cli -m models/ggml-large-v3.bin -f lecture.wav -osrt
# 非英語の音声を直接英語テキストに翻訳
./build/bin/whisper-cli -m models/ggml-medium.bin -f french-audio.wav -tr
# 特定のGPUを指定(マルチGPUマシン)
./build/bin/whisper-cli -m models/ggml-large-v3.bin -f audio.wav -g 0
# デフォルトマイクからのリアルタイム文字起こし
./build/bin/whisper-stream -m models/ggml-base.en.bin -t 8ライセンスとコスト
whisper.cppはMITライセンスの下で公開されています。 公式リポジトリのライセンスファイルは、クローズドソースおよび商用製品を含め、無料での使用・改変・再配布を許可しており、ロイヤリティは不要、ライセンス表示の保持以外の帰属表示義務もありません。
whisper.cpp自体に有料プラン、サブスクリプション、ライセンス料は一切存在しません。 実際にかかるコストは、実行するハードウェア(またはホスティングを選ぶ場合はクラウドVM)と、その上に製品を構築する場合の自身の開発時間だけです。使用量計測もAPIキーもベンダーロックインもありません。
基盤となるWhisperモデルの重みも、OpenAIによって別途MITライセンスで公開されています。 そのため、実行環境(whisper.cpp)とそれが読み込むモデルの重みの両方が、商用利用に対して寛容なライセンスとなっています。
whisper.cppは商用利用でも無料ですか?
はい。whisper.cppはMITライセンスであり、使用しているWhisperモデルの重みもOpenAIによってMITライセンスで公開されています。両方とも商用利用、改変、再配布が無料で許可されています。
whisper.cppが向いていない用途
whisper.cppは文字起こしの実行環境であり、完全な対話型AIや話者分離の製品ではありません。以下の状況には向いていません。
- 話者分離(誰が何を言ったか)。 whisper.cppは発話内容を文字起こしするが、複数人の録音で異なる話者をネイティブに分離・ラベル付けすることはできない。話者分離には、whisper.cppの文字起こしを話者分離ツールと組み合わせるなど、別途モデルやパイプラインを重ねる必要がある。
- 大規模での100ミリ秒未満のストリーミング遅延。 組み込みの
whisper-streamサンプルは1台のマシンでの単一のライブマイクにはよく機能するが、whisper.cppは、多数の同時ユーザー向けに専用のリアルタイム音声APIが設計されるような、専用に構築され水平にスケールされたストリーミング音声認識サービスではない。 - 非技術者向けのゼロセットアップ。 whisper.cppはコマンドラインツールであり、ほとんどのユーザーはソースからビルドするかコンパイル済みバイナリを取得する ー 非開発者向けの洗練されたグラフィカルインストーラーやアプリストアの掲載はない。ワンクリックの文字起こしアプリが欲しいユーザーは、whisper.cppを基にしたGUIアプリケーションやホスト型の文字起こしサービスを検討すべき。
- Python優先パイプラインでNVIDIA GPUの最後の性能を絞り出すこと。 最大級のモデルとNVIDIAハードウェアでは、PromptQuorumのベンチマークにより、faster-whisperのCTranslate2バックエンドがwhisper.cppのCUDAパスより高速でVRAM効率も良いことが判明した ー 展開先がすでにNVIDIA GPU上のPythonサービスであれば、faster-whisperの方が通常より適している。
whisper.cppの代替ツール
faster-whisper
- 最適な用途:
- NVIDIA GPU上のPythonパイプライン ー CTranslate2バックエンド、オリジナルWhisper比で約4倍のスループット
- ライセンス:
- MIT
WhisperX
- 最適な用途:
- Whisperの文字起こしに加えて、単語レベルのタイムスタンプと話者分離が必要な場合
- ライセンス:
- BSD-2-Clause
OpenAI Whisper API
- 最適な用途:
- セルフホストより従量課金のマネージドクラウドAPIを好むチーム
- ライセンス:
- プロプライエタリ(有料API)
Vosk
- 最適な用途:
- Whisper並みの精度よりも小さなフットプリントが重要な、非常にリソースの限られたオフラインデバイス
- ライセンス:
- Apache-2.0
よくある質問
whisper.cppとは何ですか?
whisper.cppは、Georgi Gerganov氏が開発した、OpenAIの音声認識モデルWhisperの無料・MITライセンスのC/C++再実装で、Pythonランタイムなしでローカルに文字起こしを実行します。
whisper.cppは無料ですか?
はい。whisper.cppはMITライセンスで、有料プラン、サブスクリプション、利用料は一切ありません。使用しているWhisperモデルの重みも、OpenAIによってMITライセンスで公開されています。
whisper.cppの実行にGPUは必要ですか?
いいえ。whisper.cppはAVX2(x86)やNEON(ARM)最適化を用いてCPUで動作し、tinyやbaseなど小さいモデルは、Raspberry Piを含むCPUのみのハードウェアでも快適にリアルタイムで動作します。GPU(Apple Metal、NVIDIA CUDA、Vulkan)はlarge-v3のような大きいモデルを高速化しますが、必須ではありません。
whisper.cppはリアルタイム文字起こしに対応していますか?
はい、whisper-stream サンプルにより、ライブマイク音声を取り込み継続的に文字起こしできます。遅延はモデルサイズとハードウェアに依存し、高速なCPUやGPU上の小さいモデルが最もリアルタイムに近くなります。
whisper.cppとfaster-whisperの違いは何ですか?
whisper.cppはPython依存のない純粋なC/C++実装で、CPU、Apple Metal、CUDA、組み込みデバイス間の移植性を重視して構築されています。faster-whisperはCTranslate2をベースとしたPythonライブラリで、主にPythonパイプライン内でのNVIDIA GPUのスループット向けに最適化されています。プラットフォームごとの数値については、PromptQuorumの詳細な比較記事をご覧ください。
whisper.cppはRaspberry Piで動作しますか?
はい。whisper.cppのARM NEON最適化により、tinyとbaseモデルはRaspberry Pi 5のCPUでリアルタイムに動作します。このプロジェクトはインストールが必要なPythonやCUDAへの依存を持たないためです。
whisper.cppは音声を英語に翻訳しますか?
はい。whisper-cli に -tr(翻訳)フラグを渡すと、非英語の音声を文字起こしし、多言語Whisperモデルに組み込まれた翻訳機能を使って直接英語テキストに翻訳します。
whisper.cppは現在誰が保守していますか?
このプロジェクトは、元の開発者Georgi Gerganov氏が設立したGitHubのggml-org組織で保守されており、数百人のコミュニティ開発者が貢献しています。開発は現在も活発に続いており、v1.9.3が2026年8月20日に公開されました。
whisper.cppは録音内の異なる話者を分離できますか?
ネイティブにはできません。whisper.cppは発話をテキストに文字起こししますが、それ自体で話者分離を行うことはありません。「誰が何を言ったか」が必要な場合は、専用の話者分離ツールと組み合わせるか、Whisperの文字起こしに話者分離を追加するWhisperXを使用してください。
総評
whisper.cppは、目指したことをまさに成し遂げています。C/C++をコンパイルできるあらゆるデバイスに、Python、CUDA、重いランタイムを必要とせずにOpenAIのWhisper音声認識モデルをもたらすことです。Raspberry PiからApple SiliconのMac、Vulkan対応GPUまで無改造で動作するこの移植性は、ローカル・オフライン文字起こしにおいて近い無料の代替がなく、MITライセンスにより商用製品への組み込みも安心して行えます。無料でよく保守されており、オリジナルのWhisperと同じモデルの重みを使うため、指定したモデルサイズでの精度はOpenAIが公開したものと一致します。最も強い選択肢とは言えないのは、最大のスループットを追求するPython優先・NVIDIA GPU専用パイプラインの場合で、そこではPromptQuorumの直接比較記事が示す通りfaster-whisperのCTranslate2バックエンドに軍配が上がります。それ以外のすべてのケース ー 組み込みハードウェア、Apple Silicon、クロスプラットフォームアプリを対象とする開発者、あるいはPython環境の代わりに単一の自己完結バイナリを求める人 ー にとって、whisper.cppは十分に検証された、コストのかからない出発点です。
出典
- GitHub上のwhisper.cpp ー 公式リポジトリ:README、インストール手順、ライセンス、リリース履歴。
- whisper.cppのリリース ー v1.9.3(2026年8月20日)を含むバージョン履歴。
- whisper.cppのLICENSE ー MITライセンスの本文。
- OpenAI Whisperの発表 ー 2022年のWhisperモデルの初回公開。
