音声入力って便利ですよね。
キーボードを打たなくても、話すだけで文章を入力できます。
ちょっとした検索、短いメモ、チャットの返信くらいなら、MacやiPadの標準音声入力でも十分使えます。
私も以前から、MacやiPadの音声入力は普通に使っていました。
ただ、使っているうちに、どうしても気になることがありました。
それが、誤字です。
短い文章ならまだいいんです。
でも、読書メモやブログの下書きのように、少し長めに話すと、あとから直す部分が増えてきます。

音声入力で楽をしたいのに、結局あとで修正に時間を取られる。
これだと、せっかく音声入力を使っているのに、あまり気持ちよくありません。
そんなときに、近年出てきたAI系の音声入力アプリを見て、かなり驚きました。
「あれ、AIの音声入力って、こんなに精度が高いの?」
と思ったんです。
Macの標準音声入力も便利です。
Appleが作っている標準機能ですから、決して悪いものではありません。
でも、AI系の音声入力アプリの精度を見てしまうと、だんだん物足りなく感じるようになりました。
- 誤字が少ない。
- 文脈のつながりが自然。
- 句読点もある程度入る。
- 少し長めに話しても、ちゃんと文章として成立する。
そこで、素朴な疑問が出てきました。
Appleの標準音声入力だって、大企業のAppleが作っているものです。
それなのに、なぜ最近出てきた新しい音声入力アプリの方が、こんなに高精度に感じるのか。
新興企業のよく知らないアプリが、どうやってここまで高い音声入力精度を出しているのか。
最初は、そこがまったく理解できませんでした。
調べていくと、Whisperという名前にたどり着いた

いろいろ調べていくと、どうやら多くのAI音声入力アプリの裏側には、Whisperという音声認識モデルが関係しているらしいとわかりました。
Whisper。
最初は、正直よくわかりませんでした。
- 音声認識モデルらしい。
- 精度が高いらしい。
- ローカルでも動かせるらしい。
さらに調べると、WhisperはOpenAIが開発した音声認識モデルだと知りました。
しかも、オープンソースとして公開されている。
これには驚きました。
こんなに高性能な音声認識モデルが無料で公開されているだと…
だからいろんなアプリに使われているんですね。(有料アプリもあるのに)
またオープンソースということは、OpenAIが作った高性能な音声認識モデルを自分のパソコンでも使える可能性があるわけです!
もちろん、公開されているからといって、誰でもワンクリックで簡単に使えるわけではありません。実際に動かすには、Pythonやターミナルを使う必要があります。
それでも、考え方が変わりました。
良い音声入力アプリを探すだけではなく、自分のMacでWhisperを動かせばいいのではないか。
そう思ったんです。
ローカルで動かすことの意味

私が音声入力で使いたかったのは、主に読書メモやブログ執筆です。
- 読書しながら思ったこと。
- ブログ記事の下書き。
- AIや投資や健康についてのメモ。
- 格闘技や映画レビューの感想。
こういう内容は、必ずしも機密情報ではありません。
でも、個人の考えや未公開の記事内容が含まれます。
音声データを外部サーバーに送ることに、少し抵抗がありました。
ローカルで動かせるなら、自分の音声データはMacの中だけで処理できます。
これは大きいです。
それに、私はM4 iMacを使っています。
せっかくApple Siliconの処理能力があるなら、それを音声認識にも活かしたい。
クラウドに送らず、自分のMacの中で完結する。
しかも、高精度な音声入力ができる。
これができるなら、試してみる価値はあると思いました。
音声入力アプリの危険性については、こちらの記事を参考にしてみてください。
>音声入力アプリは危険?声データをサーバーに送る前に知っておきたいリスクと安全な使い分け
非エンジニアでも、AIと一緒なら作れるかもしれない

私はエンジニアではありません。
Pythonを日常的に書くわけでもありません。
ターミナルの黒い画面に慣れていたわけでもありません。
普通なら、ここで諦めるところです。
でも、今はAIがあります。
エラーが出たら、そのままAIに見せる。
コードの意味がわからなければ、説明してもらう。
修正案を試す。
また詰まったら相談する。
この繰り返しで、少しずつ前に進めます。
私がこの環境を作り始めた当時、主に相談していたのはGemini 2.5 Proでした。
その段階のAIでも、非エンジニアの私が相談しながら作ることができました。
今のAIなら、同じような環境を作るハードルはさらに下がっていると思います。
もちろん、一発で完成したわけではありません。
むしろ、遠回りだらけでした。
でも、できました。
最初の構成は、PythonでWhisperを動かすだけだった
最初に作ったのは、とてもシンプルな自作音声入力ツールでした。
右Shiftキーを押している間だけ録音する。
キーを離したらWhisperで文字起こしする。
結果をクリップボードにコピーする。
そのまま入力欄に貼り付ける。
開始音や完了音には、Mac標準のサウンドを使いました。
この時点で、かなり嬉しかったです。
音声が外部サーバーに出ない。
自分のMacの中で文字起こしできる。
Mac標準音声入力よりも、長めの発話に強い。
ただ、実用してみるとすぐに壁にぶつかりました。
Whisperの一番高性能のモデル(Large V3)で処理すると、処理に10秒近くかかることがあったんです。(M4チップなのに)
10秒と聞くと、短く感じるかもしれません。
でも、音声入力では長いです。
話す。
キーを離す。
待つ。
まだ出ない。
やっと貼り付く。
この待ち時間で、思考の流れが切れます。
読書メモやブログの下書きでは、思いついたことをそのまま残したい。
そのためには、音声入力のテンポがかなり大事です。
精度が高くても、毎回10秒待つのはつらい。
そこで、もっと軽く動く構成を探すことになりました。
軽量構成に変えると、10秒が3〜5秒になった
次に試したのは、より軽く動くモデルや実行環境です。(Large V3 Turbo)
細かいモデル名や仕組みは次の記事で整理しますが、同じWhisper系でも、速度を重視した構成があります。(ただし速度を重視する軽量モデルにすると、精度が少し悪くなります)
>Whisper、Turbo、4bit、MLXの違いを整理|Macローカル音声入力で本当に見るべきこと
それに切り替えると、体感は大きく変わりました。
それまで10秒近くかかっていた処理が、3〜5秒ほどで返ってくるようになったのです。
これは、かなり大きな変化でした。
話す。
指を離す。
少し待つ。
文字が貼り付く。
このくらいなら、思考が続きます。
音声入力ツールとして、初めて実用になると感じた瞬間でした。
ただ、使っているうちに、また別の欲が出てきます。
もっと精度を上げたい。
もっと安定させたい。
もっと自分の書き方に合わせたい。
音声入力は、一度便利さを知ると、細かい不満がどんどん見えてきます。
faster-whisperと軽量化で、さらに安定運用を目指した
次に試したのが、faster-whisperという実行環境です。
ここでは、Whisperをより軽く、効率よく動かす方向に進みました。
速度だけでなく、メモリ消費を減らすことも目的でした。
以前の構成では数GB単位でメモリを使っていたものが、軽量化によってかなり減りました。
私の環境では、約4GB使っていたものが、1GBから2GB程度まで下がった記録があります。
M4 iMacにはメモリの余裕があります。
でも、軽く動くに越したことはありません。
また、この段階で単に速くするだけでなく、実用上の不満も潰していきました。
Whisperは、何も話していないのに、たまに「ご視聴ありがとうございました」のような字幕っぽい文を出すことがあります。
YouTubeの字幕のような文章が、なぜか出てくるわけです。
そこで、そういう出力はPython側で弾くようにしました。
また、「入力破棄」や「ボツ」と言ったら、その認識結果を貼り付けずに捨てる機能も入れました。
マイクも、毎回手で選ぶのは面倒です。
そこで、Shureのマイクが接続されていれば、自動でそちらを選ぶようにしました。
このあたりから、単にWhisperを動かすだけではなく、自分の使い方に合わせて周辺の仕組みを作ることが大事だとわかってきました。
音声入力は、モデルの精度だけではなく、操作感や補正処理まで含めて完成するものなんだと思います。
AIを使えば、「今こうなんだけれど、これをこうして欲しい」とお願いするだけで、どんどん改善していってくれるから嬉しい。自分だけの使いやすいツールが作れるんだよね(`・ω・´)”
記号入力や誤変換補正で、自分用の入力環境になっていった
さらに使っていくと、細かい不満が出てきました。
- 「改行」と言ったら改行したい。
- 「かぎかっこ」と言ったら「を出したい。
- 「読点」と言ったら、を入れたい。
- 「句点」と言ったら。を入れたい。
- 「見出しツー」と言ったら、Markdownの見出しを入れたい。
ただ、音声認識は意外な変換をします。
「とうてん」が「当店」になる。
「くてん」が「苦点」になる。
「かぎかっこ」が漢字になったり、閉じ括弧がうまく入らなかったりする。
ここで、AIに完璧な認識を求めるのではなく、Python側で誤変換を捕まえる方針に変えました。
たとえば、
「当店」と出たら「、」に直す。
「苦点」と出たら「。」に直す。
長いコマンドを短いコマンドより先に処理する。
こういう辞書トラップを入れていきました。
この発想は、かなり大きかったです。
AIに完璧を求めるのではなく、AIが間違えやすいパターンをこちらで修正する。
これで、音声入力がかなり実用的になりました。
このあたりから、単にWhisperを使っているというより、だんだん「自分専用の音声入力環境を作っている」感覚になってきました。
まだ100%上手くいくわけではありませんが、やるのとやらないのでは全然違います。
最終的にはMLXにたどり着いた

いろいろ試した結果、最終的にたどり着いたのがMLXです。
MLXは、Apple Silicon向けに作られた機械学習用のフレームワークです。
正直に言うと、最初からMLXを知っていれば、もっと早く今の構成にたどり着けたと思います。
でも、知らなかったので遠回りしました。
- PythonでWhisperを動かすところから始める。
- 軽い構成を試す。
- faster-whisperを試す。
- 量子化を試す。
- エラーに悩む。
- ようやくMLXにたどり着く。
そういう流れでした。
MLXに移行した直後、体感で大きかったのは速度です。
それまでの高性能モデルでは、発話終了から貼り付けまでに5秒、6秒、7秒くらいかかることがありました。
それがMLXに移行してからは、私の環境では3〜4秒台まで短くなりました。
しかも、これは軽さだけを優先した構成ではありません。
精度も重視したモデルを、Apple Silicon向けの環境で動かす形です。
もちろん、良いことばかりではありません。
メモリ消費は増えました。
以前の軽量構成では1GB台で動いていたものが、MLX移行後は3GBから4GB近く使うようになりました。
でも、私のM4 iMacにはメモリの余裕があります。
それなら、私は軽さよりも、認識精度と快適さを優先したい。
そう考えて、最終的にMLXを使う構成に落ち着きました。
この精度のモデルを数秒で使えるのであれば、「4GBは妥協するぜ!」という判断です!
それにしても、元々は高性能モデルを使うのに10秒くらいかかってた処理が、MLXというAppleシリコン向けを使うことで3〜4秒になるってのがすごい!Mチップバンザイ!
今の自作音声入力ツールでできること

現在の自作音声入力ツールは、こういうものです。
- 右Shiftキーを押している間だけ録音する。
- Shureのマイクを自動で見つける。
- 録音データはSSDに保存せず、メモリ上で処理する。
- Whisper系のモデルをMLXで動かして文字起こしする。
- ブログ用語に寄せた初期プロンプトを入れる。
- 誤変換を辞書で補正する。
- 記号やMarkdownも音声コマンドで入力できる。
- 最後にクリップボード経由で、今開いている入力欄へ貼り付ける。
ここまで来ると、単なる文字起こしではありません。
私のブログ執筆用の音声入力環境です。
AI、健康、映画レビュー、ガジェット。
など、自分がよく書くジャンルの単語を初期プロンプトに入れています。
音声入力アプリを使っているというより、自分の書き方に合わせた入力環境を作った感覚に近いです。
Mac標準音声入力との使い分け
Mac標準音声入力を捨てたわけではありません。
短い入力なら、今でも標準音声入力は便利です。
- 一言だけ入力したいとき。
- 検索ワードを入れるとき。
- 短い返信をするとき。
こういう場面では、標準音声入力の方が気楽です。
一方で、少し長めに考えながら話したいときは、自作音声入力ツールの方が向いています。
- 読書メモ。
- ブログの下書き。
- 記事構成のアイデア。
- 映画レビューの感想。
- 格闘技の試合分析。
- AIツールを使った感想。
こういうものは、Whisper系のモデルでまとめて文字起こしした方が気持ちいいです。
私の中では、短文はMac標準音声入力、長文と思考整理は自作音声入力ツール、という使い分けになっています。
全部を自作ツールで置き換える必要はありません。
標準機能には標準機能の良さがあります。
ただ、AIによる高精度な音声入力を知ってしまうと、Mac標準だけでは物足りない場面が出てきます。
その穴を、自分用に埋めたのが、このローカル音声入力環境です。
安定したら、むやみに更新しない
最近は、MLX本体や関連ライブラリも更新されています。
ただ、今の私は、むやみにアップデートしない方針です。
理由は単純です。
今の環境が安定して動いているからです。
音声入力環境は、いろいろな部品の組み合わせで動いています。
- Pythonの仮想環境。
- Whisperを動かすためのライブラリ。
- MLX本体。
- 音声入力ライブラリ。
- マイク認識。
- クリップボード。
- AppleScript。
- 効果音。
- 辞書補正。
- 正規表現。
どれか一つが変わるだけで、微妙に挙動が変わる可能性があります。
もちろん、更新によって速くなる可能性はあります。
でも、認識精度が劇的に上がるとは限りません。
それなら、今ちゃんと動いている環境は安定版として残す。
試すなら別環境で試す。
これくらいがちょうどいいと思っています。
実用で使う道具は、動き続けることも性能のうちです。
遠回りしたから、自分の道具になった
最初からMLXを知っていれば、もっと早く今の構成にたどり着けたと思います。
でも、この遠回りは無駄ではありませんでした。
- Mac標準音声入力への物足りなさ。
- AI音声入力アプリへの驚き。
- Whisperとの出会い。
- Python環境のエラー。
- Automatorの不安定さ。
- 軽量構成への切り替え。
- メモリ使用量の変化。
- Whisperの幻覚対策。
- 記号入力の誤変換。
- MLXへの移行。
- 安定運用のために、むやみにアップデートしない判断。
こういう過程を通ったことで、今の環境がなぜこの形になっているのかがわかります。
ただのコピペではなく、自分の使い方に合わせて育ててきた道具になりました。
そして何より、非エンジニアでも、AIに相談しながらここまでできるという実感が得られました。
まとめ
Macの標準音声入力は便利です。
でも、AI音声認識の精度を知ってしまうと、その差が気になり始めます。
調べていくと、Whisperにたどり着きました。
さらに、Apple Siliconで動かすならMLXという選択肢もありました。
最初から全部わかっていたわけではありません。
WhisperをPythonで動かすところから始め、軽い構成を試し、faster-whisperを試し、In-Memory処理や辞書補正を入れ、最後にMLXへたどり着きました。
今では、読書メモやブログ執筆でかなり便利に使えています。
- 音声を外部サーバーに送らず、自分のMacの中だけで処理できる。
- 自分のよく使う言葉に合わせて補正できる。
- 自分の操作感に合わせて、右Shiftで録音してすぐ貼り付けられる。
これは、単なる音声入力アプリではありません。
自分のために作った、自分専用の入力環境です。
完成品を探すだけではなく、自分の不満に合わせて道具を作れる。
しかも、非エンジニアでもAIに相談しながら作れる。
- Macでローカル音声入力を使いたい人。
- Whisperに興味がある人。
- 音声データをクラウドに送ることに不安がある人。
- ブログ執筆や読書メモをもっと楽にしたい人。
そういう人にとって、WhisperとMLXを使ったローカル音声入力は、かなり面白い選択肢になると思います。
参考までに。それでは!
参考リンク
- Introducing Whisper|OpenAI
https://openai.com/research/whisper/ - Apple MLX
https://opensource.apple.com/projects/mlx/ - mlx-community/whisper-large-v3-mlx-4bit|Hugging Face
https://huggingface.co/mlx-community/whisper-large-v3-mlx-4bit


コメント