Groqってなに?Whisperってなに?何もわからなかった私が、音声入力無料で自作してみた
音声入力、ちょっと試してみたいけど、何を使えばいいのかよくわからない。アプリはたくさんあるけど、よさそうなものはたいてい有料。無料でもうちょっと試せたら。
そんなとき、限界突破ライフハックというPodcastの音声入力回で勝間和代さんが「お金をかけたくないなら、Python書けばいいんですよ」と言っているのを聞いたんです。え、音声入力ってPythonで書けるの?と思って調べてみました。そしたら意外とシンプルで。非エンジニアの私でもタダで作れてしまった。
せっかくなので、作り方をまとめてみます。
2部構成にしていて、前半が「音声入力って中で何をしてるの」という仕組みの話。後半が「じゃあ無料でどう作るの」という手順の話です。「音声入力って自作できるの?」と思った方の参考になれば嬉しいです。
※実装はClaude Codeで行ったので、完全な無課金ではないです。ただ、完全無料でもいけると思います。
勝間さんゲスト回の限界突破ライフハックはこちら
音声入力の仕組みがわからなかった
Podcastを聴いてびっくりしたのは、音声入力の話でAIモデルが出てきたことでした。てっきり「どのアプリ使ってます?」みたいな話だと思ってたからです。TypelessとかAqua Voiceとか。それなのに出てきたのは「どのモデルを使うか」って話でした。
しかも、SuperWhisperだのGroqだのGeminiだの、いろんな単語がいっぱい出てくる。それぞれがどう関連しているのかが全然わからなくて、そこが理解を難しくしていたんだと思います。
で、いろいろ調べてわかったのが、音声入力はそもそも2段階の作業をしている、ということでした。
音声入力は2段構造だった
ぜんぶ1個のすごいAIがやってると思ってたんですが、実は2段でした。
音声をテキストにする(文字起こし)
そのテキストをLLMで整える(整形)
1段目は、音声をまずテキストに起こすところ。そして、ここに必要なのがOpenAIのWhisperというモデルです。たとえば喋ると、聞こえたとおりに、こう起こします。
このメモを整理してまとめてノートに出したいんだよね思ったことというか感想というか自分はこういう風に気づきを得たみたいなところをまとめてみたくてちょっと一旦ドラフトにしてみてもらってもいいですか
句読点が一個もなくて、一息で喋ったのがそのまま出ます。読みづらい。
2段目で、これをLLM(Gemini・GPT・Claudeなど)に渡して整えます。さっきの文字起こしが、こうなります。
このメモを整理してまとめてノートに出したいんだよね。思ったことというか感想というか、自分はこういう風に気づきを得たみたいなところをまとめてみたくて、ちょっと一旦ドラフトにしてみてもらってもいいですか。
句読点が付いて、一気に読みやすくなった。これがLLMを入れるメリットですね。
こんな風に、まず音声をテキストにする。できたテキストを自分が出力したい形に整形する。これが音声入力アプリの中で行われていることです。
Groqは何をやっているのか
Podcastの中ではGroqの話も出てきました。
Groqとは、音声入力の2段構造をめっちゃ爆速でやってくれるやつです。
先ほどの2段、実はPCの中(ローカル)で動かせるのですが、ローカルでやると、音声をテキストに起こす時間とテキストを整形する時間を合わせると、体感けっこう長いんですよね。喋り終わってから文字が出るまで、10秒ほど待ちます。それをGroqに変えると10秒が2秒まで短縮されます。
これ、やってみるとわかるのですが、体験の良さが全然違います。
爆速で音声→テキスト→整形の流れを処理する。これがGroqの役割でした。
SuperWhisperは結局何なのか
SuperWhisperは音声→テキスト→整形の一連の流れを、まるごとやってくれるアプリです。TypelessやAqua Voiceと同じようなツールです。
数あるアプリの中でもSuperWhisperの良さは、使う場面ごとにモデルや整形の仕方を変えられることです。
ChatGPTやGeminiとチャットする時は喋った素のままの文章。Facebookにはきちんと整形された文章。このように、どこにテキストを出すかで整形の仕方やモデルを切り替えられる。
あと買い切りプランがある。他アプリは基本サブスクになります。
ここまでをGPTやClaudeに聞きながら整理したことで、ようやくPodcastで何を話していたのかが理解できるようになりました。
実際に作ってみた
仕組みが分かったところで、音声入力アプリを作ってみました。勝間さんの「Pythonで書けばいい」を実践しよう。
① 完全ローカル
無料で実装するにはどうすればいいのとClaudeやChatGPTに相談してみました。文字起こしも整形もローカルモデルを使えば全部タダでいけますとのことなので作ってみました。
タダでいける理由は、使う部品がどっちも無料だからです。
1段目の文字起こしに使ったのはOpenAIのWhisperモデルで、これはオープンソースとして公開されているため誰でも無料で使えます。
2段目の整形に使うLLMも、ローカルLLMを利用することにしました。これも整形はしないで素のままでいいとClaudeに伝えたら、それならローカルLLMで十分とのことでした。
なので2段のモデル構成はこんな感じになりました。
文字起こし:faster-whisper に large-v3-turbo
整形:Ollama に qwen2.5:7b(ローカルで動く無料のLLM)
そしてこの2つをPythonで繋ぎショートカットキーも作っておくと、キーを押すだけで音声入力が動くというわけです。動く時はこんな感じ。
1. Pythonをターミナルで起動する
2. ショートカットキーを押す → マイクに向かって喋る → もう一回ショートカットキーを押す
3. すると、喋った内容が文字になって出てくる
これで、ちゃんと動きました。Pythonを毎回起動はめんどくさかったので、ショートカットキーを押すだけで音声入力できるように設定すると楽です。
② Groq経由で速くする(無料)
実際に使ってみると、喋り終わってからテキストが出てくるまでが、やっぱ長いです。そこでGroqの出番です。Pythonや使うモデルは同じまま、Groq経由で文字起こしと整形を行うように変えるだけ。それで10秒が2秒になりました。
しかもGroqには無料枠があって、カード登録なしで試せます。音声入力くらいの用途なら、無料枠で足りそうです。
整形のモデルは用途で選ぶ
整形に使うLLMですが、自分の場合は、喋った内容をほぼそのままチャットなんかにテキストとして貼れればよかった。なので、ローカルLLMにしました。
プロンプトも軽く入れています。中でも「言い換え・要約・語順変更は禁止」と強めに縛っています。
整形にどのモデルを選ぶかは「自分が何をしたいか」次第です。きれいな文章に整えたい人は賢いモデル、喋った温度感をそのまま残したい人は軽いモデル、という感じで、用途で選ぶのが良さそうです。
おすすめの方法
完全に無料で完結させたいなら、ローカルが一番だと思います。ネットにも繋がなくていいし、APIキーの発行みたいな手続きもいらない。環境構築も、GPTやGeminiに聞けばできるはず。「こういうのを作りたいからPython書いて」とお願いして、出てきたコードをファイルとして保存して動かす。コードがどう動くかなんとなくわかるくらいの人なら、全然余裕だと思います。ちなみに私も非エンジニアです。
そこから、速さが欲しくなったらGroq経由に切り替えるの流れがおすすめです。ただ、Groq使う場合はアカウント作成とAPIキーの発行が必要になります。
おわりに
音声入力試したいけど有料かーと思ってる人は、ぜひ自作で試してみてください。1週間ほど使ってますが、かなり良いです。
ただ現状はPCのみ、スマホでは動かせていないので、なんとかできないか試してみたいと思います。
限界突破ライフハックおすすめです。
