メインコンテンツまでスキップ

音声からテキストへの変換

Libre WebUI は、speech-to-text 機能を宣言する有効なプラグインを通じて、マイク録音を文字起こしできます。ブラウザーが音声認識サービスを公開している場合、チャットは既定でそのサービスを選びます。その実装とデータの取り扱いはブラウザーベンダーによって管理され、必ずしも端末上だけで処理されるわけではありません。プロバイダーを利用する STT を使うには、名前付きプロバイダーを明示的に選択してください。ブラウザーサービスを利用できない場合、チャットは最初の互換プロバイダーを選択します。

同梱のサポートには、次のものがあります。

  • multipart の /v1/audio/transcriptions リクエストを使う OpenAI 文字起こしモデル。
  • raw-audio 推論エンドポイントを使う Hugging Face 自動音声認識モデル。

ブラウザーは、ユーザーがマイクボタンを押した後にだけ録音を開始します。録音前に、選択したプロバイダーと転送に関する注意事項がチャットに表示されます。もう一度ボタンを押すと録音を停止します。文字起こし中は、同じボタンでプロバイダーへのリクエストをキャンセルします。返された文字起こしは Libre がコンポーザーへ挿入します。録音はリクエスト中だけメモリに保持され、Libre WebUI には保存されません。別のチャットへ移動すると、保留中のマイク権限、録音、文字起こし処理はキャンセルされます。

プロバイダー契約

STT 機能は、エンドポイント、モデルマップ、受け付ける形式、リクエストモード、任意のエンドポイント変数を宣言します。Libre は、音声を転送する前に、認証済みユーザーの正確なプラグイン/モデルルートを検証します。現在 Libre が受け付けるのは、非圧縮 PCM WAV と Opus WebM の録音です。転送前に、ファイル名拡張子、宣言された MIME タイプ、コンテナ構造、コーデック識別子、サンプルレート、チャンネル数、デコード後のサイズ比、録音時間を検証します。リクエストの全体上限は 25 MiB、300 秒(マニフェストにより低い上限が設定されている場合はそちら)です。同時文字起こしはユーザーごとに 2 件、デプロイ全体で 6 件に制限され、ブラウザーが切断された場合や更新可能な共有受け入れ許可が失われた場合は中止されます。チームモードで Redis の受け入れ処理に失敗した場合は安全側に閉じ、レプリカごとの独立した許容量を作ることはありません。

プロバイダーの認証情報はバックエンドに留まります。Libre はリダイレクトを拒否するため、認可ヘッダーや音声録音が別のホストへ転送されることはありません。プロバイダーの認証失敗は上流の障害として表示され、Libre セッションの期限切れとして扱われることはありません。

Libre WebUI のオリジンとリモートプロバイダーには HTTPS を使用してください。ブラウザーは安全でないリモートオリジンにマイクキャプチャを公開しません。また Libre は、ブラウザーがセキュアオリジン向けメディア API を公開していなければ、どちらの音声経路も提示しません。プロバイダーは独自の規約に基づいて録音を保持または処理する可能性があります。機密性の高い内容を音声入力する前に、そのポリシーを確認してください。