IDチームの前田です。先日のプライムセールでRazer Seiren V3 Miniというコンデンサーマイクを購入しました。EarPodsで反応しないような小声話しても、音声入力で認識されるようになったので音声入力が捗っています。
今回は音声入力の話です。生成AIを利用した音声入力は便利な反面、話した内容がそのままクラウド(学習に利用しない、ZDRなどは明記されていますが)に送られていることが、以前からずっと気になっていました。
議事録や設計メモ、顧客とのやり取りの下書きなど、音声で扱う情報ほど外に出したくないものが多いです。
さて、今回はそのモヤモヤを解消すべく、文字起こしから後処理まですべてを Mac の中で完結させる、完全ローカルの日本語音声入力環境を2026年07月現在の主要技術で構築してみました。
音声認識には Whisper Large V3 Turbo を、認識結果の校正には Qwen3-32b を使い、両者を TypeWhisper の上でつなぎます。
クラウドに一切送信しないので、ネットワークが切れていても動きますし、月額費用もかかりません。
なお、今回の検証環境は下記になります。
- MacBook Pro(Apple M3 Max、メモリ 128GB)
- macOS Tahoe 26.5.2
- TypeWhisper 1.5
3行まとめ
TypeWhisper も WhisperKit も Qwen3 も、名前だけでは何をするものか先に一つずつ押さえておきます。すでにご存知の用語は読み飛ばしてください。
TypeWhisperとは
TypeWhisper は、macOS 向けのオープンソースの音声入力アプリです。
システム全体で使えるディクテーション(どのアプリのテキスト欄でも音声で入力できる機能)を提供していて、WhisperKit、Parakeet、Apple Speech といった複数のローカル音声認識エンジンを切り替えて使えます。
さらに、認識したテキストを LLM で後処理する機能も持っていて、設定画面の Plugins から外部の LLM エンジンと接続できます。
Whisperとは
Whisper / Whisper Large V3 Turbo は、OpenAI が開発した音声認識モデルです。
Large V3 Turbo はデコーダ部分を大きく削減することで高速化しながら、認識精度はほぼ維持しています。
あとで紹介する WhisperKit を経由することで、Apple Silicon 上で CoreML に最適化された状態で動きます。
WhisperKit は、Apple の CoreML フレームワークを使って Whisper を Mac 上で動かすオープンソースのエンジンです。
すべての処理を端末内で実行するため、API キーもクラウドアカウントも必要ありません。
TypeWhisper には標準で同梱されていて、設定で有効化するだけで使えます。
Qwen3
Qwen3 は、Alibaba Cloud が開発したオープンウェイトの LLM です。
Qwen3-32b は 320 億パラメータの多言語対応モデルで、日本語の処理も得意です。
あとで紹介する Ollama を使えば Mac 上でローカルに起動でき、認識結果の校正役として働いてくれます。
Ollama
Ollama は、macOS / Linux / Windows でローカル LLM を手軽に動かすためのツールです。
OpenAI 互換の API エンドポイントを提供してくれるので、TypeWhisper の「OpenAI Compatible」プラグインからそのまま接続できます。
この互換 API のおかげで、ローカルで動かした Qwen3-32b を、変換用のアダプタを挟まずに音声入力アプリから直接呼び出せます。
LLM ポスト処理 は、音声認識(ASR)で得たテキストを、LLM があとから校正・整形する処理のことです。
音声認識は同音異義語や句読点で誤りやすいのですが、その出力を LLM に通すことで、誤字や句読点、専門用語の表記を文脈に沿って補正できます。
本構成では Qwen3-32b がこの役割を担います。
構成の全体像
録音した声が、TypeWhisper の中でどうテキストに変わっていくのか。流れを図にしておきます。
録音から文字起こし、校正、テキストの挿入まで、すべての処理が Mac の中で完結します。
TypeWhisper が制御役になって、文字起こしを WhisperKit に、校正を Ollama 上の Qwen3-32b に振り分けてくれます。
音声データも文字起こしの途中経過も、外部のサーバーには一切出ていきません。
Ollama への校正リクエストも localhost、つまり自分の Mac の中だけで完結しているので、ネットワークが切れていても問題なく動きます。
セットアップ手順(完全ローカル構成)
やること自体はシンプルで、音声認識エンジン(WhisperKit)と校正用の LLM(Ollama 上の Qwen3-32b)をそれぞれ用意して、TypeWhisper でつなぐだけです。
以下の 5 ステップで構築していきます。
Step 1: TypeWhisper のインストール
まずは音声入力の本体になるアプリを入れます。これがエンジンと LLM を束ねる土台になります。
Homebrew を使う場合は、次のコマンド一発で入ります。
brew install --cask typewhisperHomebrew を使わない場合は、公式サイト(typewhisper.com)から dmg をダウンロードして、アプリケーションフォルダにドラッグするだけです。
起動すると下記のようなセットアップウィザードが表示されますので、必要な権限付与などを行ってください
Step 2: WhisperKit の有効化とモデルの用意
文字起こしの精度を決めるエンジンを用意します。今回は Apple Silicon に最適化された WhisperKit を選びます。
TypeWhisper の設定(Settings)を開いて、「Integration」から WhisperKit を探して有効化します。
有効化したら、WhisperKit を文字起こしエンジンとして選び、使うモデルに Whisper Large V3 Turbo を指定します。
モデルは初回利用時に自動でダウンロードされるので、手動でファイルを用意する必要はありません。
このモデルは精度と速度のバランスが良く、日常的な日本語のディクテーション用途にちょうど良いです。
Step 3: Ollama で Qwen3-32b をローカル起動
校正役の LLM を Mac 上に立ち上げます。TypeWhisper はこの LLM に HTTP で接続するので、API サーバーとして常駐させておく必要があります。
インストール方法は 2 通りあります。
コマンドラインで完結させたいなら formula 版、アプリとして管理したいなら cask 版を選ぶと良いです。
# 方法A: Homebrew(formula)でインストールする場合
brew install ollama
# APIサーバーとして起動(TypeWhisperが接続するために必要)
ollama serve
# 別のターミナルタブで実行 ↓
ollama pull qwen3:32b # モデルのダウンロード(約20GB)
# 方法B: 公式サイト or --cask でインストールする場合
# アプリ起動でサーバーが自動起動するため ollama serve は不要
brew install --cask ollama
ollama pull qwen3:32bformula 版では ollama serve を実行している間だけ API サーバーが動くので注意してください。
cask 版やアプリ版はメニューバーに常駐して、サーバーが自動で起動するため、ollama serve を手動で叩く必要はありません。
qwen3:32b は約 20GB あるので、ダウンロードには回線速度に応じた時間と、それなりの空きディスク容量が必要になります。
Step 4: TypeWhisper の OpenAI Compatible 設定
文字起こしエンジンと校正 LLM をつなぎます。Ollama が OpenAI 互換 API を提供してくれるので、TypeWhisper 側はそれを「OpenAI 互換のサービス」として登録するだけです。
TypeWhisper の設定で「Plugins」から「OpenAI Compatible」を選び、「Configure」を押して次の値を入力します。
| 設定項目 | 値 |
|---|---|
| Server URL | http://localhost:11434/v1 |
| API Key | 空のまま(Ollama では不要) |
| 音声認識モデル | なし (Wisperkitが行うため) |
| LLMモデル | qwen3:32b |
Server URL の 11434 は Ollama の標準ポートで、末尾の /v1 が OpenAI 互換エンドポイントを示します。
ローカルの Ollama は認証を要求しないので、API Key は空のままで問題ありません。
モデルは接続後に「Refresh models」で一覧から選ぶか、qwen3:32b と手動で入力します。
最後に「Test Connection」で接続を確認し、OpenAI Compatible を LLM プロバイダとして選んでおきます。
Step 5: 動作確認
最後に、文字起こしと LLM 校正がひとつながりで動くことを確認します。実際に発話して、出力されるテキストを見るのが一番早いです。
動かない時はセットアップウィザードをもう一回実行して、Whisperkitとモデルを選択し直すことで動くようになるかと思います。筆者の環境でもこのブログ記事を書いている時はセットアップウィザードを再度やり直さないと動きませんでした
好きなショートカットキーを割り当てて、テキスト入力欄で日本語を話してみてください。
WhisperKit が文字起こしを行い、その結果に対して Qwen3-32b による校正が走ります。
句読点が整って、同音異義語や専門用語の表記が文脈に合わせて補正されていれば、ローカル構成は正しく動いています。
まとめ
ローカル構成の利点は、音声データが外に出ないプライバシー、API キーも月額課金もいらないコスト、ネットワークがなくても動くオフライン動作の 3 つです。
ただし、速度は Groq のようなクラウド推論サービスには劣ります。Ollama は Mac のメモリ帯域で推論する以上、専用ハードウェアには残念ながら届きません。
校正プロンプトや用途別のショートカットキーなど、自分の使い方に育てていける余地はまだたくさんあるので、完全ローカルの音声入力を、今後も調整していきたいと思います。