音声入力を改めて見直した話

技術

最近、音声入力の使い方を改めて見直してみました。結論から言うと、現時点ではWhisperingとAPIを組み合わせる方法に落ち着いています。

以前から生成AIを使う際に音声入力を試してはいたものの、精度が思ったほど良くなく、所々手直ししたりなど、実用面では少しネックに感じていました。今回、いくつかの方法を試行錯誤した結果、PC上で思考を整理したり、文章のたたき台を作ったりする用途であれば、かなりスムーズに使える環境を作ることができました。

1. これまでの生成AIの使い方

普段使う生成AIは、ここしばらくGeminiを主軸にしつつ、Claudeを補助的に使う形でした。

以前、ChatGPTのGPT-4oをよく使っていた時期もあります。しかし、Gemini 3.0 Proが出た頃からは、Geminiをメインに、必要に応じてClaudeを使うことが多くなりました。ChatGPTは、以前有料版を使っていたこともあったものの、最近はほとんど使っていません。GPT-5になったあたりから、対話の応対があまり好みには感じられず、敢えて調べて調整して使う必然もないかといった感覚でした。

ただ、最近になりGeminiを最優先にすることのメリットが、以前ほど明確ではないようにも感じています。そこで、ClaudeやChatGPTも含め、特定のサービスに固定せず、用途ごとに使い分ける方向へ少しずつ広げているところです。

余談ですが、PerplexityではGLM 5.2をよく使っています。ローカル環境ではQwen 3.6も使っており、できるだけ特定のモデルやサービスだけに依存しない形を意識しています。

2. ChatGPTの音声入力は想像以上によかった

今回あらためて使ってみて気づいたのは、ChatGPTの音声入力精度が、GeminiやClaudeで使っていた音声入力と比べて明らかに良いということでした。

すでに知っている人からすれば当たり前の話かもしれません。しかし、自分にとってはかなり差が大きいものでした。GeminiやClaudeの音声入力は、正直なところ実用の境界をあと一歩満たしていないように感じていたからです。

一方でChatGPTは、特に大きな問題を感じず使える精度でした。ここ最近までChatGPTをあまりちゃんと使っていなかったことで、音声入力の精度が実用域まで上がっているという認識を、自分の中で更新できていなかったのだと思います。

音声入力そのものについては、ChatGPTの入力欄に限定せず、ほかの場所でも活用できるのではないか。そう考えたことが、今回いろいろ試すきっかけになりました。

3. 第一段階:AutoHotKeyでChatGPTを経由する

最初に試したのは、ChatGPTの音声入力欄を使いつつ、AutoHotKeyでショートカット操作を作る方法でした。

AutoHotKeyをスタートアップに登録し、たとえばF8を1回押すとChatGPTを開いている元のタブへ移動する。そこで音声入力の結果をCtrl + Xで切り取り、元のタブへ戻ってCtrl + Vで貼り付ける、といった一連の手作業だけをワンボタンに置き換えます。

音声入力だけChatGPTに任せ、実際の入力先は別の検索欄やテキスト欄にする。こうすれば、ChatGPTの音声入力精度をほかの用途にも活かせるのではないかと考えました。

環境そのものは作れたので、最初はこれで十分便利に使えるかもしれないと思っていました。

ChatGPT経由の問題:利用制限が読めない

ただし、この方法には大きな問題がありました。ChatGPTの音声入力には、チャット送信回数とは別で何らか一定の利用制限があるようなのです。

考えながら長めに話したあと、音声入力を完了しようとしてエラーになると、話した内容がすべて消えてしまう。たとえば数分間話した内容が消えた場合、まったく同じ内容をもう一度話せるかというと、なかなか難しいものがあります。

有料枠なら閾値が別だったのかもしれませんが、いつ制限にかかるのかが分からず、回数や時間に上限がある可能性を考えると、常用するには少し不安が残ります。精度自体は良いものの、入力の途中で内容が失われるリスクがあるなら、実用性は怪しいと感じました。

そこで、別の方法を探すことにしました。

4. 第二段階:ローカルでWhisperを動かす

調べていくと、ChatGPTの音声認識にはWhisperという技術が使われているらしいと分かりました。同じ技術をローカル環境で動かせば、同程度の精度が得られるのではないか。そこで、試しに環境を構築することにしました。

Whisperはローカルでも実行できるため、最初はClineベースで作業フォルダを作り、環境構築を試していましたが、思うように進みませんでした。

仕方なく、実行計画書のみをClineで出力してもらい、それをもって、途中からHermes Agent側に引き継ぎ、Discord経由で指示を出しながら環境を作っていきました。このとき、Hermes AgentにはQwen 3.6の35B-A3B、Q3量子化モデルを使っていました。

ただ、このモデルではコンテキストの保持がうまくいかず、環境構築の途中で発生した不具合を直し切れない状態になってしまいました。そこから先へ進むのが難しくなったため、最終的にはOpenRouter側へ移行し、DeepSeek V4 Flash 0731のAPIに切り替えました。

その結果、環境構築が途中で止まらず、ローカルでWhisperを使えるところまでは到達できました。

ローカルWhisperで感じた課題

ローカル環境は最初CUIベースだったため、音声を文字起こししてもテキストをすぐ扱いにくい環境でした。そこで途中からGUIベースの環境も作り、使いやすい形にはできました。

ただ、課題はいくつかありました。

  • 想像以上に重く、GPU処理だけで完結すると思っていたところ、CPU側にも継続的に1/3程度の高い負荷がかかっていました。軽量化を進め、最終的には1割程度まで負荷を下げられ、使えなくはない状態にはなりました
  • しかし一番大きかったのは、期待していたほど文字起こし精度が良くなかったことです

最初はV3 Turboを使い、その後にV3 Largeへ切り替えました。加えて、GUI上で変更できる設定についても、Accurateへの変更や、認識言語を日本語に設定するといった試行錯誤を行いました。

ただ、これらの設定を変えたことで、精度が大きく改善したと感じることはありませんでした。特に気になったのは、英語など横文字がうまく認識されにくいように感じたことです。

もちろん、このあたりはあくまで主観的な評価です。ただ、前提となるマイクや入力設定は変えていません。そのため、本来であれば同程度の精度になってくれることを期待していました。

もしかすると、OpenAIの純正とは初期設定やデフォルト値が異なっていたのかもしれません。しかし、明確に環境を変えているわけでもなかったにもかかわらず、初期段階から期待していた精度のラインに届いているようには感じられませんでした。

結果として、GeminiやClaudeの標準音声入力と大きな差がないように感じました。これでは、敢えて構築したこの環境を使う意味があまりありません。環境自体は完成したものの、常用するかどうかは保留となりました。

5. 第三段階:APIとWhisperingを使う

改めて調べる中で、WhisperはローカルだけでなくAPIとしても利用できると分かりました。Groqが提供するAPIには無料枠もあり、自分が想定している使用頻度や用途であれば、そちらの範囲で十分収まりそうでした。

また、個人的な用途で扱うデータでもあったため、念のためデータの取り扱いについても確認しました。Groqには「ゼロデータリテンション(ZDR)」というオプションが用意されており、有効にすることで入力データが保持されない設定にできるようです。個人用途とはいえ話した内容がそのまま音声として送信される以上、このオプションはオンにしておきました。

そこでAPIを発行し、実際に使えるGUIアプリケーションを探しました。その中で見つけたのが、Whisperingというソフトウェアです。

Whisperingでは、APIを設定すると、そのAPIを使って音声をテキスト化できます。そこで、これを第三の方策として試すことにしました。

6. Whisperingが今のところ最も使いやすい

まだ使い始めて間もないものの、現時点ではWhisperingが一番良さそうに感じています。

まず精度面では、ChatGPTの音声入力と比べても、結果を見た限りでは大きな差を感じません。提供されているAPIの利用範囲の面でも、日常的に考えを話しながら文章にする用途であれば、特に不便は感じません。

そして何より便利なのが、キーボードショートカットで完結する点です。

初期設定ではCtrl + Shift + ;が割り当てられています。Whisperingを起動した状態で、ほかのアプリケーションや検索欄を開いているときにこのショートカットを押すと、録音が始まる。もう一度同じキーを押すと録音が終わり、カーソルがある入力欄へ文字起こし結果が自動で貼り付けられます。

つまり、以前AutoHotKeyを活用して作っていたような、タブを移動し、文字起こしを行い、戻って切り貼りするという一連の行き来が必要ありません。Ctrl + Shift + ;を2回押すだけで、録音から入力欄への反映まで終えられる。

この手軽さは、思っていた以上に大きなものでした。

7. さいごに

音声入力APIの活用は、詳しい人から見れば「今さら」と思う話かもしれません。ただ、自分はこれまでGeminiやClaudeの音声入力精度を基準に考えていたため、音声入力がすでに実用域まで来ているという認識を十分に更新できていませんでした。

ChatGPTの音声入力を試したことで精度の高さに気づき、そこからAutoHotKey、ローカルWhisper、Whisperingと試行錯誤を重ねました。

ローカルWhisperについては、環境構築を最後まで行えた一方、期待していた精度は得られませんでした。マイクや入力環境を変えていないにもかかわらず差が出た理由は不明ですが、少なくとも自分の環境では、手間に見合う結果にはなりませんでした。

その一方で、WhisperingとAPIの組み合わせは、ローカル環境を構築するよりもずっと手軽なものでした。精度面でも実用的であり、ショートカットだけで録音から貼り付けまで完了します。

スマートフォンであれば、別の便利な方法もあるかもしれません。ただ、自分の場合は、考えを深めたり整理したりする用途では、PC側で使えることの利便性が高いと感じています。

ひとまずはWhisperingを使いながら、音声入力を思考整理や文章作成に活かしていきたいと思います。

タイトルとURLをコピーしました