このドキュメントでは、クライアントが Qwen-ASR Realtime API との WebSocket セッション中にサーバーに送信するイベントについて説明します。
session.update
セッション構成を更新します。このイベントは、WebSocket 接続を確立した直後に送信してください。このイベントを送信しない場合、システムはデフォルトの構成を使用します。
サーバーがこのイベントを正常に処理した後、確認として session.updated イベントを送信します。
|
input_audio_buffer.append
音声データブロックをサーバーの入力バッファーに追加します。これは、ストリーミング音声のコアとなるイベントです。
シナリオによる違い:
- VAD モード:音声バッファーは音声区間検出に使用されます。サーバーは、認識のために音声を送信するタイミングを自動的に決定します。
- 非 VAD モード:クライアントは各イベントの音声データ量をコントロールできます。単一の
input_audio_buffer.appendイベントにおけるaudioフィールドの最大サイズは 15 MiB です。より速い応答を得るには、より小さい音声ブロックをストリーミングしてください。
input_audio_buffer.append イベントに対する確認応答を送信しません。
|
input_audio_buffer.commit
非 VAD モードでは、このイベントは手動で認識をトリガーします。クライアントが完全な発話の送信を完了したことをサーバーに通知します。その後、サーバーは現在のバッファー内のすべての音声データを単一のユニットとして認識します。
無効化されるモード: VAD モード。
正常に処理された後、サーバーは確認としてinput_audio_buffer.committed イベントを送信します。
|
session.finish
現在のセッションを終了します。
サーバーの応答フロー:
- 音声が検出された場合: 最終的な音声認識が完了すると、サーバーは認識結果を含む
conversation.item.input_audio_transcription.completedイベントを送信します。その後、サーバーはセッションが終了したことを示すsession.finishedイベントを送信します。 - 音声が検出されない場合、サーバーは直接
session.finishedイベントを送信します。
session.finished イベントを受信した後、クライアントは切断する必要があります。
|