Remote Whisper の仕組み
声がどこに送られ、どこで処理され、何を保存するのか。技術に詳しくなくても分かるように説明します。ここで説明するのはセルフホスト版(GPU を積んだ自分のマシン(以下、ホスト)にサーバーを立てて使う形)です。
データの流れ
ブラウザは音声を ホストに送るだけで、文字起こしも要約も ホストの中で行います。
- ブラウザがマイクの音声を取り、文字起こしに向いた形(16kHz・モノラル)に変えて、ホストに少しずつ送ります。
- ホストの Whisper が文字起こしし、結果をブラウザに返します。数分おきに Ollama が途中の要約を作ります。
- 録音を終えると、ホストが録音全体から浄書済みの文字起こしと最終要約を作ります。
文字起こしにも要約にも、外部の AI サービスは使いません。モデルは ホストの中で動きます。
録音中と、録音のあと
録音中は、話した内容をすぐ画面に出すことを優先して、数秒ずつ文字にします。録音を終えたら、録音全体を使って、より正確な浄書と最終要約を作り直します。
- 録音中: Whisper が数秒ごとに文字起こしし、Ollama が数分おきに途中の要約を作ります。
- 録音のあと: 文字起こし・単語ごとの時刻合わせ・話者分けをやり直して浄書を作り、それをもとに最終要約を作ります。かかる時間の目安はベンチマークにあります(RTX 2060 で、音声 1 時間あたり約 15 分)。
何をどこに保存するか
データは ホストの ~/.remote-whisper/(Windows では %USERPROFILE%\.remote-whisper)に保存します。録音に使う端末には、画面の表示に使うもの以外は残しません。
| データ | 保存する場所 | 消えるまで(デフォルト) | 外部への送信 |
|---|---|---|---|
| 録音した音声 | ホスト | 10 日 | しない |
| 文字起こし | ホスト | 30 日 | しない |
| 要約 | ホスト | 30 日 | しない |
| 参考資料から作った用語リスト・コンテキスト | ホスト | 無期限 | しない |
| 最終要約のコピー | プロジェクトに選んだフォルダ | 消さない | しない |
| サーバーのログ | ホスト | 10 日 | しない |
- 保存期間は設定の「保存」で変えられます。期間を過ぎたものは自動で消えます(0 にすると無期限)。
- 最終要約ができると、プロジェクトに選んだフォルダに
summary-YYYYMMDD-<タイトル>.mdとしてコピーを置きます。このコピーは自分のファイルとして扱えるよう、保存期間が過ぎても消しません。 - ログには、文字起こしや要約の本文は書きません。
用語リストの仕組み
Whisper は、知らない専門用語や固有名詞を聞き間違えやすいモデルです。そこで、録音の内容に関係しそうな語を「用語リスト」として Whisper に渡し、聞き間違えを減らします。
- 資料から拾う語: 参考資料を選ぶと、Ollama が資料から専門用語を拾います。あわせて、資料の要点(コンテキスト)を作り、要約に使います。
- 録音中に拾う語: 設定でオンにすると、録音中の文字起こしに何度も出てくる固有名詞・専門用語を拾って足します。
- 直した語: 文字起こしの間違いを手で直すと、正しい語が用語リストに入ります。
- 録音後の再生成: 録音を終えたら、今回の録音で資料のどこを扱ったかを判断し、その範囲に絞って用語リストを再生成します。浄書済みの文字起こしには、こちらを使います。
詳しい仕様
ファイルの形式・通信の内容・API などの詳しい仕様は、GitHub の docs/spec にあります。