Windowsでローカル音声認識を始める方法|Whisper・whisper.cppの選び方

公開日
2026-08-09
更新日
2026-09-29
情報確認日
2026-09-29
編集・運営
Local AI Compass

Windowsで音声ファイルをクラウドへ送らずに文字起こしし、必要ならSRT/VTT字幕として保存したい人向けに、Whisperまたはwhisper.cppをローカルで動かす手順を整理します。Windows AI Speech Recognitionはアプリ組み込み用API、Foundry Localはローカルendpointとして役割を分け、モデルサイズ、ffmpeg、精度とプライバシーを一緒に確認します。

導入前に確認すること

  • Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
  • 最初は軽量モデル、短い質問、少ない同時作業から始める
  • 公式サイトの対応OS、利用規約、モデルのライセンスを確認する

先に結論:音声→Whisper→テキストの流れを小さく試す

Windowsでローカル音声認識を始めるときは、音声ファイルをローカルのWhisper実装へ渡し、文字起こし結果と区間情報を保存する構成から始めます。Whisperは音声認識、言語識別、音声翻訳に使えるモデルですが、チャット用のLLMとは役割が違います。

Windowsでローカル音声認識を始める前に確認する項目
確認するもの最初の判断注意点
実行方式Python版Whisperかwhisper.cppか導入手順、CLI、必要な音声形式が違う
音声の扱い音声ファイルをローカルrunnerへ渡す一時ファイル、履歴、外部連携も別に確認する
モデル日本語を含むmultilingualモデルから比較するサイズが大きいほど速さやメモリが自動で改善するわけではない
検証短い非機密音声で結果を確認する固有名詞、数字、否定、話者の切り替わりを人が確認する
Windowsの音声アクセス、Win+H、ローカル文字起こしの使い分け
やりたいこと最初に見る機能通信と用途の境界
Windows 11を声で操作し、入力欄へ日本語を話して入力する音声アクセス端末内で音声認識する。日本語に対応し、初回は言語ファイル取得のためインターネット接続が必要
Windowsの入力欄へ手早く音声入力する(Win+H)Windows音声入力オンライン音声認識を使用するため、インターネット接続が必要
録音済み音声からテキストやSRT/VTTを作るWhisperまたはwhisper.cpp音声ファイルをrunnerへ渡して保存する。モデルや依存関係の取得は別途確認する
音声認識を自分のWindowsアプリへ組み込むWindows AI APIsまたはFoundry Localアプリ向けAPI。OS、SDK、モデル、runtimeの条件は後の比較で確認する

Windows 11の音声アクセスは、言語ファイルの取得後はインターネットへ接続せずにPC操作とテキスト入力に使えます。一方、Win+Hの音声入力はオンライン音声認識を使います。Windows Speech Recognition(WSR)は2024年9月にWindows 11 22H2以降で音声アクセスへ置き換わったため、現在のWindows 11向け手順として混同しないでください。音声アクセスはOS機能で、録音済みファイルをSRT/VTTへ書き出すWhisper runnerとは用途が異なります。

ローカル実行とは、モデルと依存関係を準備した後の推論経路をPC内に置く考え方です。初回のパッケージ、ffmpeg、モデル取得、更新、外部APIや同期機能まで自動的に無通信になるわけではありません。

OpenAI Whisperとwhisper.cppをどう分けるか

OpenAIのWhisper公式リポジトリは、PythonパッケージとCLIで音声ファイルを処理する流れを案内しています。Python環境やffmpegを扱える人は、モデル選択と出力形式を確認しながら始めやすい経路です。

ggml-orgのwhisper.cppはWhisperをC/C++で動かすプロジェクトで、READMEにはwhisper-cli、whisper-server、whisper-streamなどのツールが案内されています。CMakeでビルドする手順や音声形式の条件を自分で確認できる人向けの選択肢です。

OpenAI Whisperとwhisper.cppの選び方
経路向いている確認先に見る点
OpenAI WhisperPythonやCLIでまず文字起こしを試すPython環境、ffmpeg、モデル名、出力ファイル
whisper.cppC/C++実装やCLI、サーバー構成を検討するCMake、対応モデル、whisper-cliの音声形式
共通ローカルファイルを同じ条件で比較するモデル、言語、音声品質、処理時間、結果の確認方法

「どちらが常に簡単・高速」とは言い切れません。Pythonの準備が済んでいるか、Windowsでビルドを許容できるか、CLI/APIへ広げたいかで選び、同じ短い音声を使って結果と処理時間を比較します。

Windows AI Speech Recognition・Foundry Local・Whisperの役割を分ける

同じ「Windowsで音声を文字起こし」でも、選ぶ層が違います。Windows AI Speech RecognitionはWindows AI APIsをアプリへ組み込むためのAPI、OpenAI Whisperとwhisper.cppはモデルを動かすrunner、Foundry Localはローカルモデルをアプリから呼び出すruntimeです。名前にWhisperが出てきても、セットアップ、対応ハードウェア、モデル準備、検証経路は同じではありません。

Windowsローカル音声認識の経路を選ぶ比較表
経路向いている目的hardware・モデル準備先に確認すること
Windows AI Speech RecognitionWindowsアプリに録音・マイクのbatch/streamingを組み込むCopilot+ PCはNPU、非Copilot+ PCはCPU。GPUは非対応。モデルのready状態が必要Windows 11 24H2(build 26100)以降、WinAppSDK 1.7.1以降、MSIX manifestとモデル準備
OpenAI Whisper(Python)PythonやCLIでモデル・出力形式を比較するCPU・GPUの実行先はrunner、設定、PCで変わるPython環境、ffmpeg、multilingualモデル、出力ファイル
whisper.cppC/C++のCLI・server・stream構成を試すビルド方式と選んだbackend、ggmlモデルを分けて確認するCMake、モデルファイル、whisper-cliの16-bit WAV条件
Foundry Local別アプリからローカルの音声endpointを呼び出すロード済みWhisperモデルのIDと動的endpointを使う`/v1/audio/transcriptions`、対応形式、モデルID、通信範囲

Windows AI Speech Recognitionは録音ファイルを一括処理するbatch recognitionと、マイクやaudio streamを継続処理するstreaming recognitionを提供します。Copilot+ PCにNPUがあれば自動的にNPUで動き、CPUを選ぶ設定を利用者が追加する仕組みではありません。非Copilot+ PCではCPUが使われ、GPUは対応対象外です。

CPUでリアルタイム性を重視する場合、Microsoftの推奨は4つ以上の物理コア、3GHz以上のbase clock、32MB以上のL3 cacheです。これは良好なCPU体験の目安であり、動作のハード最小要件や速度保証ではありません。低い構成ではbatchを優先するなど、実音声で待ち時間を確認します。

CPU-only端末では、音声認識モデルが最初から入っていない場合があります。まず`GetReadyState`で状態を確認し、`EnsureReadyAsync`が必要なら、Windows Update経由のバックグラウンド取得と同意を説明してから準備します。モデルはSettings > System > AI Componentsから後で削除できるため、「一度動いたから常にオフラインで準備不要」とは考えません。モデル準備後の認識は端末内でも、初回取得、アプリ更新、外部連携の通信経路は別に記録します。

アプリ実装で`Not declared by app`が出る場合は、Windows buildやWinAppSDKだけでなく、MSIX packageとmanifestも確認します。Microsoftは`Package.appxmanifest`への`systemAIModels` capability宣言と、`TargetDeviceFamily`の`MaxVersionTested`に新しいWindows versionを設定するよう案内しています。公式例の`10.0.26226.0`より古い値は、model読み込み時にこのエラーへつながる場合があります。source manifestだけでなく、build後にpackageへ入ったmanifestも照合してください。

Foundry Localでは、公式REST APIに`POST /v1/audio/transcriptions`があり、MP3、WAV、FLAC、OGG、WebMなどの音声と、ロード済みWhisperモデルのIDを渡します。portは固定値と決めつけず、実行中サービスからendpointを取得します。Foundry Localの起動・モデルロード・Open WebUI接続を含む手順は専用記事へ分け、ここでは「アプリ組み込みAPIか、Python/C++ runnerか、OpenAI互換endpointか」を選ぶ判断に集中します。

モデルサイズは日本語対応とPC負荷を分けて選ぶ

日本語の文字起こしでは、英語専用の`.en`モデルだけを選ばず、multilingualモデルを候補にします。OpenAIのREADMEにはtiny、base、small、medium、large、turboなどの比較が掲載されていますが、表の速度やVRAMは特定環境での目安であり、Windowsの手元PCで同じ結果になる保証ではありません。

Whisperモデルサイズを選ぶときの比較表
候補最初の見方判断の仕方
tiny / base小さめのモデルから短い日本語音声を試す速度、固有名詞、聞き間違いを実音声で確認する
small / medium精度と処理負荷の差を比較するメモリ、処理時間、音声の長さに余裕があるかを見る
large高い負荷を許容できる場合の比較候補最初から入れず、用途とPC条件を固定して試す
turbo高速化された候補として公式説明を読む翻訳用途など、READMEの制約を確認してから使う

モデルを大きくすれば日本語のすべての音声が正しくなるわけではありません。Whisper model cardは、言語ごとの性能差、hallucination、話者分離などの限界を説明しています。モデル名ではなく、実際に使う音声で検証してください。

Windowsで最初の1本を動かす

最初は個人情報や機密会議ではなく、短い音声ファイルで経路を固定します。下記は公式資料を読むための例であり、このサイトの作業環境へPythonパッケージを追加する手順ではありません。

  1. Python版を試す場合は、分離したPython環境を用意し、公式のopenai-whisperパッケージを入れる。
  2. Whisper公式が前提にしているffmpegをWindowsへ用意し、コマンドから呼び出せるか確認する。
  3. 日本語を含むmultilingualモデルを1つ選び、短いWAVまたは音声ファイルで言語指定を明示して処理する。
  4. 出力されたテキスト、区間、処理時間、エラーを記録し、モデルだけを変えて比較する。
py -m pip install -U openai-whisper
whisper "C:/audio/sample.wav" --language Japanese --model base

OpenAI Whisper公式READMEはffmpegを必要な依存として案内し、WindowsではChocolateyやScoopを使う例も示しています。インストール方法は環境の管理方針と公式資料を確認し、作業PCへ未知のスクリプトを貼り付けないでください。

  1. whisper.cppを試す場合は、公式リポジトリを取得し、WindowsのCMake手順に合わせてReleaseビルドを作る。
  2. 公式READMEが案内するggmlモデルを1つ取得し、モデルファイルと実行ファイルの場所を確認する。
  3. whisper-cliへ短い16-bit WAVを渡し、結果が出ることを確認してから入力形式やモデルを変える。
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
cmake -B build
cmake --build build --config Release
./build/bin/Release/whisper-cli.exe -m models/ggml-base.bin -f audio/sample.wav

whisper.cpp公式の現在のCLI例は16-bit WAVを入力にしています。MP3などをそのまま渡して失敗した場合は、まずffmpegで単純なWAVへ変換します。

ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav

SRT・WebVTT字幕として保存する

文字起こし結果を字幕ファイルにする場合、OpenAI WhisperのCLIはSRTまたはVTTを選び、保存先も指定できます。下の例は字幕用フォルダーへSRTを書き出します。

whisper "C:/audio/sample.wav" --language Japanese --model base --output_format srt --output_dir "C:/audio/subtitles"

WebVTTにする場合は`--output_format srt`を`--output_format vtt`へ変えます。whisper.cppは`-osrt`または`-ovtt`で形式を選び、`-of`には拡張子を付けない出力名を渡します。

./build/bin/Release/whisper-cli.exe -m models/ggml-base.bin -f audio/sample.wav -osrt -of audio/sample

このwhisper.cpp例は`audio/sample.srt`を出力します。VTTでは`-osrt`を`-ovtt`に置き換えます。自動字幕は完成稿ではないため、原音と照合し、区間のずれ、固有名詞、数字、抜けた発話を確認してから共有してください。話者ラベルが必要なら、話者分離の記事の手順を別途確認します。

音声形式・区間・タイムスタンプを先に整える

音声形式の問題と認識精度の問題を混ぜないため、最初の比較では同じ音声を使い、変換後のファイルを別名で残します。whisper.cppのCLI例は16-bit WAVを前提にしているため、まずmono、16kHz、PCMのWAVへ変換すると確認しやすくなります。

ローカル音声認識の入力と出力を確認する項目
項目最初の確認結果への影響
チャンネルmonoへ変換して比較する左右の差や無音を条件から外しやすい
サンプルレート・PCM16kHz、16-bit PCMのWAVを作るCLIの入力条件をそろえやすい
無音・雑音冒頭と末尾、環境音、重なりを確認する認識誤りとモデル差を分けやすい
区間・タイムスタンプ文章だけでなく開始・終了位置も残す原音へ戻って固有名詞を確認しやすい

タイムスタンプやセグメントは聞き直す場所を絞るのに役立ちますが、話者を自動で正確に分離することや、会議記録を無検証で完成させることを意味しません。話者名、数字、製品名、否定表現は音声と照合します。

無音区間が長い録音では、VAD(Voice Activity Detection)が使える実装もあります。ただし、VADは「誰が話したか」や内容の正しさを保証する機能ではないため、まず通常の短い音声で文字起こし経路を確認します。

Windowsで詰まりやすい症状を切り分ける

Whisperとwhisper.cppのWindowsトラブル切り分け表
症状最初に確認次の一手
ffmpegが見つからないコマンドがPATHから呼べるか公式手順で導入し、同じシェルから再確認する
処理が遅い・止まるモデルサイズ、音声の長さ、RAM、CPU/GPU短い音声と小さいモデルで再現する
日本語が英語のようになるlanguage指定、multilingualか、音声品質言語指定を固定し、別モデルで同じ音声を比較する
同じ文を繰り返す・内容が違う無音、雑音、長さ、hallucinationの可能性原音と照合し、入力を短くして再実行する
WAVを読めない16-bit PCM、mono、ファイルパスffmpegで変換し、ASCIIに近い短いパスで試す
リアルタイムで使いたい処理速度とstream機能を混同していないかまずファイル処理を完成させ、現在の実装の制約を確認する

「文字が間違った」だけでモデルを大きくする前に、入力音声、language指定、音量、無音、パス、メモリを一つずつ固定します。リアルタイム処理は別の性能条件があり、ファイル文字起こしが動いたことだけでは保証できません。

プライバシーと精度を両立する確認ルール

Whisper model cardは、出力のhallucination、言語による性能差、リアルタイム利用を前提にしていないことなどを説明しています。医療、法務、人事、本人確認などの高リスク用途や、同意のない録音を「ローカルだから問題ない」と扱わず、用途・権限・確認者を決めてください。

  • 最初は本人が権利を持つ短い非機密音声で、入力、モデル、出力先を記録する。
  • 音声ファイル、変換後WAV、一時ファイル、文字起こし結果、ログを別々の保存対象として確認する。
  • 外部API、クラウド同期、翻訳サービス、共有フォルダへ送る経路がないかを処理ごとに確認する。
  • 固有名詞、日付、金額、否定、専門用語、話者の交代を原音と照合し、重要な文章は人が承認する。
  • 不要になった音声と中間ファイルを、保存期間と削除方法に沿って個別に整理する。

最初の到達点は、長い会議を自動処理することではありません。短い音声を同じ条件で再現し、どのモデル・形式・保存先・確認手順なら自分のPCと用途に合うかを把握することです。

よくある質問

WhisperはWindowsでオフライン利用できますか?

モデルと依存関係を取得し、ローカルrunnerを準備した後の音声処理はPC内で実行できます。ただし、パッケージ・モデル・runtimeの取得、更新、外部APIや同期機能は別の通信経路です。

Windowsで日本語を文字起こしするなら、どのWhisperモデルがよいですか?

日本語を含むmultilingualモデルから、tinyやbaseなど小さい候補を短い音声で比較するのが現実的です。PC、音声品質、固有名詞によって結果が変わるため、固定の最適解とは考えないでください。

GPUなしのWindows PCでもWhisperは使えますか?

小さいモデルと短い音声から試せますが、処理速度はCPU、メモリ、モデルサイズ、音声の長さで変わります。「動く」と「待ち時間が実用的」は分けて確認してください。

Whisperでffmpegはなぜ必要ですか?

OpenAI Whisper公式READMEはffmpegを必要な依存として案内しています。whisper.cppの現在のCLI例は16-bit WAVを使うため、MP3などで問題が出たらffmpegでmono・PCMのWAVへ変換して切り分けます。

Whisperはリアルタイム文字起こしに使えますか?

OpenAIの基本リポジトリはリアルタイム処理をそのまま保証するものではありません。whisper.cppにはstream関連の例がありますが、PC性能と実装条件を確認し、まず音声ファイル処理から検証してください。

Whisperの文字起こし結果はそのまま信用できますか?

そのまま確定しないでください。hallucination、言語差、雑音、固有名詞や数字の誤りが起こり得ます。重要な用途では原音と照合し、人が承認してから共有・保存します。

WhisperでSRTやWebVTTの字幕を保存できますか?

できます。OpenAI Whisper CLIでは`--output_format srt`または`vtt`、whisper.cppでは`-osrt`または`-ovtt`を指定します。出力後は原音に合わせてタイミング、表記、抜けを確認してください。

Windows AI Speech RecognitionとWhisperは同じですか?

同じ使い方ではありません。Windows AI Speech RecognitionはWindowsアプリへbatch・streamingの音声認識を組み込むAPI、OpenAI Whisperとwhisper.cppはモデルを自分で動かすrunnerです。アプリ統合、モデル・CLIの自由度、Windowsの前提条件を分けて選んでください。

Windows AI Speech RecognitionはGPUで動きますか?

公式の対応表ではGPUは非対応です。Copilot+ PCではNPUがあれば自動的にNPU、非Copilot+ PCではCPUが使われ、Copilot+ PCで利用者がCPUへ切り替える前提ではありません。

Windows AI Speech Recognitionは完全オフラインですか?

モデルが準備できた後の認識は端末内で行えますが、CPU-only端末では初回にEnsureReadyAsyncによるモデル取得と利用者の同意が必要になる場合があります。Windows Updateの取得、アプリ更新、外部APIや同期は別の通信経路として確認してください。

Foundry Localで音声を文字起こしできますか?

できます。現行のREST資料にはPOST /v1/audio/transcriptionsがあり、ロード済みWhisperモデルのIDと音声ファイルを渡します。動的portやモデルロードを含む実行手順はFoundry Localの記事で確認し、Windows AI Speech RecognitionやPython版Whisperと同じ性能・準備条件だとは考えないでください。

次に読むおすすめルート

初めてローカルAIを触る人

まず全体像をつかみ、LM StudioとOllamaの違い、モデルサイズの考え方を順番に確認します。

  1. クラウドAIとローカルAIの使い分け
  2. ローカルLLMとは
  3. ローカルAIを入れる前に確認すること
  4. WindowsでローカルAIを始める完全ガイド
  5. Windows ARMでローカルAIを使う前の確認
  6. WindowsでOllamaをインストールする
  7. WindowsでローカルTTSを始める
  8. WindowsでローカルOCRを始める
  9. Windowsで話者分離を始める
  10. WindowsでローカルAI翻訳を始める
  11. LM Studioとは
  12. GGUFとは
  13. GGUF版とは
  14. GGUFファイル名の読み方
  15. LM StudioでGGUFを入れる方法
  16. LM Studioで画像を読み込む方法
  17. LM Studioのモデル保存場所と移動
  18. 小型LLM・量子化の現実
  19. GGUF量子化安全とRAG/NPU研究
  20. Quant.npuとNPU向け静的量子化
  21. LENSで見るNPUレイテンシ予測
  22. Copilot+ PCのNPU期待値
  23. Hugging Face安全チェック
  24. PDF/RAG/引用確認の現実
  25. LM Studioで最初に選ぶモデル
  26. GGUFモデル選び診断
  27. Hugging FaceでGGUFモデルを探す方法
  28. Q4/Q5/Q8の違いと選び方
  29. 日本語GGUFモデルの選び方
  30. Q4/Q5/Q8研究ガイド
  31. Hermes Desktopとは
  32. Hermes DesktopとLM Studio接続
  33. Hermes DesktopとOllama接続
  34. Hermes Desktop接続トラブル
  35. Hermes AgentとDesktopの違い
  36. ローカルLLMツール比較
  37. ローカルAI更新メモ
  38. 診断ページ

あなたはどのタイプ?

関連チェック先

関連ツール

比較表を見る / 最初に検討しやすいツールを確認する