音声入力ソフトを自作しました -AokiVoice-
サービス内容
2026年2月頃の話ですが、記事化していなかったので記事として残すことにしました。
キーボード入力の負担を減らすため、音声入力ソフトを使っています。
当時、AquaVoiceというアプリを月10ドル払って使っていたのですが、あるとき「今なら自分で作れるのでは?」と思いたち、2日ほどで自作しました。その名も「AokiVoice」。
AokiVoiceはメニューバーに常駐し、右Shiftキーを押している間だけ録音します。キーを離すと音声を文字起こしし、その時使っているアプリやメモ帳などへ直接入力します。
文章を書くための画面を開いたり、文字起こし結果をコピーしたりする必要はありません。チャット、エディタ、ブラウザなど、普段使っているアプリ上でそのまま音声入力できます。
とにかく楽にいつでも使え、シンプルというのが特徴です。
作って終わりではなく、実際に使って問題を潰した
最初の実装では、短く右Shiftキーを押したときに録音停止が通知されず、録音状態が残ることがありました。そのまま再度録音を始めると、オーディオ入力の監視が二重になり、クラッシュにつながります。
そこで、キーを離した通知では録音を必ず停止し、録音時間が0.3秒未満の場合は文字起こしを省略する形に変更しました。録音リソースは確実に解放しつつ、誤操作による不要なAPI利用も防げます。
また、文字起こしAPIが同じ文章を2度生成するケースがありました。対策として、同じ文章が隣にあれば一行だけをカットする処理を追加しています。
音声認識の精度だけでは足りない
音声認識が正しくても、「チャットジーピーティー」「ギットハブ」「タイプスクリプト」のように、IT・AI用語が読みのまま出力されることがあります。
AokiVoiceでは、文字起こし後に辞書変換をかけ、ChatGPT、GitHub、TypeScriptといった表現に変換します。初期設定の辞書に加えて、後から独自の変換ルールを追加・編集・無効化することもできます。短い語が長い語の一部を先に置換しないよう、長いパターンから適用しているのも小さな工夫です。
普段使いするための細かな工夫
録音中なのか、文字起こし中なのかが分からない状態は不安なので、画面右上に小さなオーバーレイを表示するようにしました。録音中はマイク音量に合わせて赤いリングが動き、変換中は青色にに切り替わります。
文字起こしはOpenAI のWhisperAPIを使っています。APIキーを簡単に差し替えできるように設定画面から変更するようにしています。
自作して分かったこと
音声入力アプリの中心は文字起こしAPIですが、それだけでは日常的に使える道具にはなりません。
キーを短く押したときの後始末、認識結果の重複、専門用語の表記、貼り付け後のクリップボード復元、処理状態の見える化。実際に使う中で見つかった小さな不便を一つずつ直すことで、ようやく自分の作業に馴染むアプリになりました。
月額サービスをきっかけに始めた自作でしたが、自分が必要とする操作感に合わせて改善できることが、自作する一番の面白さだと感じています。
音声入力ソフトを利用されたい方へ
macOS向けに自作したソフトですが、少しアレンジすればwindows向けのソフトとしても活用いただけます。
音声入力ソフトを使ってみたい方、使っているけれど金額を抑えたい方は、ぜひお気軽にご連絡くださいませ。