ドキュメント/ライブ文字起こし

ライブ文字起こし

ブラウザのマイクから直接AmiVoice WebSocketに接続し、リアルタイムで音声を文字起こしします。

⚠️ライブ文字起こしパックが必要です。この機能を使用するには、管理者が 管理者 → 機能 でライブ文字起こしパックを有効化する必要があります。

仕組み

ライブ文字起こしはすべてブラウザ内で動作します。バックエンドはAmiVoice接続設定を提供するだけで、音声データはブラウザから直接AmiVoiceに送信されます。

ブラウザ → GET /api/live-transcription/config → AmiVoice WS設定取得
ブラウザ → getUserMedia → AudioContext(16kHz) → AudioWorklet → Int16 PCM → WSバイナリフレーム → AmiVoice
  1. ブラウザが GET /api/live-transcription/config でAmiVoice WS URLとAPIキーを取得。
  2. getUserMedia でマイクアクセスを要求。
  3. AudioContext を16kHzで初期化し、AudioWorkletでFloat32→Int16に変換。
  4. バイナリフレーム(0x70 プレフィックス付き)をAmiVoice WebSocketに送信。
  5. AmiVoiceからのレスポンスをブラウザ上にリアルタイム表示。

WebSocket接続先

デフォルトの接続先: wss://acp-api.amivoice.com/v1/nolog/

環境変数 AMIVOICE_WS_URL で変更可能です(ログ保存あり/なしエンドポイントの切り替えなど)。

レスポンスイベント

イベント意味
U中間結果(まだ確定していない)
A / R最終結果(確定した認識結果)
s セッションエラー(スペースあり)
eセッション終了

要件と注意事項

  • HTTPS必須: navigator.mediaDevices はHTTPSまたはlocalhostでのみ利用可能です。
  • マイクの許可: ブラウザがマイクへのアクセス許可を求めます。許可を与えてください。
  • 言語選択: UIで録音開始前に言語を選択できます(ja-JP / en-US)。
  • 通話録音とは別: ライブ文字起こしはリアルタイム確認用です。文字起こし結果はバッチ処理のように自動保存されません。
ℹ️getUserMedia の制約には sampleRate を含めないでください。一部のドライバーでは NotFoundError が発生します。

ライブ文字起こしの使い方

  1. ナビゲーションバーの ライブ をクリックします(機能が有効な場合のみ表示)。
  2. 言語を選択します(デフォルト: ja-JP)。
  3. 録音開始 をクリックしてマイクの許可を与えます。
  4. 話すと画面上にリアルタイムで文字起こし結果が表示されます。
  5. 録音停止 をクリックしてセッションを終了します。

次のステップ

ドキュメントトップサポートに問い合わせる →