すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:Qwen-ASR-Realtime のインタラクションフロー

最終更新日:Jan 17, 2026

Qwen のリアルタイム音声認識サービスは、WebSocket プロトコルを使用してリアルタイムの音声ストリームを受け取り、文字起こしを行います。このサービスは、音声アクティビティ検出 (VAD) モード手動モードのインタラクションフローをサポートしています。

ユーザーガイド:モデルの概要、特徴、および完全なサンプルコードについては、「リアルタイム音声認識 - Qwen」をご参照ください。

URL

URL を作成する際は、<model_name> を、ご希望のモデルの名前に置き換えてください。

wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=<model_name>

ヘッダー

"Authorization": "bearer <your_dashscope_api_key>"

VAD モード (デフォルト)

サーバーは音声の開始と終了を自動的に検出し、文の区切りを判断します。クライアントは音声ストリームを継続的に送信します。サーバーは文の終了を検出した後、最終的な認識結果を返します。リアルタイムの会話や議事録などのシナリオに適しています。

有効にする方法: クライアントの <a baseurl="t3168243_v1_2_0.xdita" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#af43722339yva" id="f415df484bty2">session.update</a> イベントで session.turn_detection パラメーターを設定します。

image
  • クライアントは <a baseurl="t3168243_v1_2_0.xdita" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#a42f8e9111n72" id="faa11a01363ph">input_audio_buffer.append</a> を送信して、バッファーにオーディオを追加します。

  • サーバーは音声を検出すると <a baseurl="t3168243_v1_2_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#038d846199nbm" id="e57999d7d75x2">input_audio_buffer.speech_started</a> を返します。

    注: クライアントがこのイベントを受信する前にセッションを終了するために <a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#147ce70052d4z" id="1babff85a515w">session.finish</a> を送信した場合、サーバーは <a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#6eaa77339djdv" id="b9a7930666vod">session.finished</a> を返します。その後、クライアントは切断する必要があります。

  • クライアントは <a baseurl="t3168243_v1_2_0.xdita" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#a42f8e9111n72" id="a47b01d18di96">input_audio_buffer.append</a> を送信し続けます。

  • すべてのオーディオの送信が完了すると、クライアントはサーバーに <a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#147ce70052d4z" id="57965635e88ep">session.finish</a> を送信して現在のセッションを終了します。

  • サーバーが発話の終了を検出すると、<a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#3d73b074cak7k" id="edfedfd2d7c5y">input_audio_buffer.speech_stopped</a>を返します。

  • サーバーは <a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#1108a3764an0e" id="2e078709572bg">input_audio_buffer.committed</a> を返します。

  • サーバーは <a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#04dabbb9b6eto" id="cdac132b56mr8">conversation.item.created</a> を返します。

  • サーバーは、リアルタイムの音声認識結果を含む <a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#ba1b5cdd79fxu" id="88770cc04a474">conversation.item.input_audio_transcription.text</a> を返します。

  • サーバーは、最終的な音声認識結果を含む <a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#403ecacd74qqg" id="d106b3abdeftu">conversation.item.input_audio_transcription.completed</a> を返します。

  • サーバーは <a baseurl="t3168243_v1_2_0.xdita" comment_68b92c1a-ed03-4214-a43a-1d0212b3e45d="comment" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#6eaa77339djdv" id="986942b054msw">session.finished</a> を返して、クライアントに認識プロセスが完了したことを通知します。その後、クライアントは切断する必要があります。

手動モード

クライアント は、完全な文に対応するオーディオ を送信し、次に サーバー に <a baseurl="t3168243_v1_2_0.xdita" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#d6d5cd90f3q4c" id="ce9546e267afs">input_audio_buffer.commit</a> を送信することで、文の区切りをコントロールします。このモード は、チャットアプリケーション で音声メッセージ を送信する場合など、クライアント が文の境界を明確に判断できる シナリオ に適しています。

有効にする方法: session.turn_detection パラメーターは、クライアントの <a baseurl="t3168243_v1_2_0.xdita" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#af43722339yva" id="13e449c7a9dlh">session.update</a> イベントで null に設定できます。

image
  • クライアントは <a baseurl="t3168243_v1_2_0.xdita" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#a42f8e9111n72" id="d91c549aa2rfc">input_audio_buffer.append</a> を送信して、オーディオをバッファーに追加します。

  • クライアントは、<a baseurl="t3168243_v1_2_0.xdita" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#d6d5cd90f3q4c" id="a89a2741dfg6s">input_audio_buffer.commit</a> を送信することで、入力音声バッファーを提出します。この提出により、会話に新しいユーザーメッセージ項目が作成されます。

  • クライアントは、現在のセッションを終了するために <a baseurl="t3168243_v1_2_0.xdita" data-node="6184310" data-root="85177" data-tag="xref" href="t3166998.xdita#147ce70052d4z" id="b94b1208d1nuq">session.finish</a> をサーバーに送信します。

  • サーバーは <a baseurl="t3168243_v1_2_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#1108a3764an0e" id="220a72ccb1c48">input_audio_buffer.committed</a> を返します。

  • サーバーは、リアルタイムの音声認識結果を含む <a baseurl="t3168243_v1_2_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#ba1b5cdd79fxu" id="6653f06dbb0xh">conversation.item.input_audio_transcription.text</a> を返します。

  • サーバーは、最終的な音声認識結果を含む <a baseurl="t3168243_v1_2_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#403ecacd74qqg" id="94758316c0k7b">conversation.item.input_audio_transcription.completed</a> を返します。

  • サーバーは <a baseurl="t3168243_v1_2_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#6eaa77339djdv" id="7de5158c54nil">session.finished</a> を返し、認識が完了したことをクライアントに通知します。クライアントはその後、切断する必要があります。