オンデバイス Whisper によるローカルでプライベートな音声入力
MadoHub がクラウド API を呼ぶ代わりにマシン上で音声認識を走らせる理由、それがプライバシーとコストに何を意味するか、そして書き取りを最大限活用する方法。
MadoHub はコードベースの隣に座ります。書き取るとき、あなたは多くの場合、今見ているものを記述しています — スタックトレース、変数名、設定ファイルのスニペット、時にエージェントに説明するために .env ファイルから読み出したシークレット。それはデフォルトで第三者の音声 API に渡したいオーディオではありません。そのため MadoHub の音声入力はそれを呼びません。アプリの残りと同じプロセスで whisper.cpp をローカル実行します。
この記事は、その決定がなぜ重要か、そして MadoHub の書き取りを最大限活用する方法を、行動できる詳細度で説明します。
MadoHub がどう扱うか
オーディオはマシンから出ない
ストリーミングアップロードも、API キーも、音声テキスト変換ベンダーへのリクエストもありません。キャプチャされたオーディオはディスク上にあるローカル Whisper モデルで書き起こされます。この機能全体で唯一のネットワーク呼び出しは初回のモデルダウンロードだけで、その後は録音も書き起こしもマシンをオフラインのまま行われます。
これには明示する価値のある 2 つの直接的帰結があります:
- あなたが話す内容(または話している間に画面にあるもの)の何一つとして、どこへも送信されるものはない。 コードベースの中に座るために作られたツールにとって、それは嬉しい追加ではなく — 音声入力が機密を含む何かに使える理由そのものです。
- 分単価やリクエスト単価のコストがない。 モデルがダウンロードされれば、書き起こしは無料で無計量です — 課金される API 呼び出しではなくローカル計算です。
オフラインで動く
モデルがディスク上にあり書き起こし器がプロセス内で動くため、モデルファイルが既に存在する限り、インターネット接続が全くなくても音声入力は動きます。MadoHub はマイクを開く前にこれを確認します — 選択されたモデルがダウンロードされていなければ、無音で録音して後で書き起こし時に失敗するのではなく、ダウンロードを促すプロンプトとともに 設定 → Voice Input へ送ります。
短い発話向けのパディング、ノイズ向けのフィルタ
Whisper のエンコーダは 30 秒チャンクで訓練され、数秒のコンテキストがあるほうがうまく処理します。非常に短い発話 — 1〜2 語の素早いもの — は、デコーダが同じフレーズを何度も繰り返す既知の Whisper の失敗モードを引き起こすことがあります。MadoHub はこれを防ぐため、短い録音を書き起こし前に短い沈黙でパディングし、デコーダが首尾一貫した単一パスを見つけるための十分な余地を与えます。
静かまたは曖昧なオーディオは依然としてゴミを生成できるため、MadoHub は静寂や低信頼度ノイズのように見るセグメントをテキストになる前にドロップする 2 つの閾値を適用します。結果として、静かな区間がプロンプト内の幻覚の書き起こしになることはありません。
一度ロードし、再利用し、要求時にアンロード
Whisper モデルは遅延ロードされます — 最初の書き起こしリクエストまでディスクから何も読まれません。一度ロードされるとメモリに常駐し、呼び出しをまたいで再利用されます — デフォルトの small モデルでは、音声入力使用中は約 500 MB が RAM に保持されます。設定 → Voice Input でモデルサイズを切り替えると、MadoHub は古いバッファが残るのを許さずに古いモデルをドロップし、次の書き起こしで新しく選んだものをロードします。
実践的な指針
- 必要になる前にモデルをダウンロードしましょう。 音声入力はモデルが存在するまでマイクを開きません。最初の書き取りがダウンロードでブロックされないよう、設定 → Voice Input であらかじめ選んでおきましょう。
- マシンに合ったモデルサイズを選びましょう。 デフォルトの
smallモデルは精度とフットプリント(常駐約 500 MB)の良いバランスです。大きいモデルはより正確ですが重く、小さいものはより軽いですが精度が落ちます。設定 → Voice Input で切り替えると、次の書き起こしで変更が効きます。 - 単語単位ではなく自然に話しましょう。 Whisper は 1 秒未満よりも 30 秒チャンクをうまく扱うため、孤立したキーワードよりも通常の文の方が信頼性高く書き起こされます。1 語ずつ書き取ると、ときどき反復のアーティファクトが出ることが期待されます。
- 画面にあるものに使いましょう。 スタックトレースを記述する、バグを歩きながら説明する、コードを見ながら計画を語る — まさにオーディオをクラウド API に渡したくないケース — で書き取りは輝きます。
- 必要ならオフラインのままに。 モデルがダウンロードされれば、書き起こしはネットワークを完全にオフにして動きます。機密にかかわる作業をしているなら、それは偶然ではなく意味のある特性です。
これらはどれもエキゾチックなエンジニアリングではありません — 魅力は、マイクからテキストまでの経路全体が短く、ローカルで、点検可能なことです。それは、書き取っているものがラップトップから出てはいけないコードの記述かもしれないときに、まさに望むものです。