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

Alibaba Cloud Model Studio:Qwen-Audio-3.0-ASR-Flash-Streaming/Fun-ASR-Realtime リアルタイム音声認識クライアントイベント

最終更新日:Sep 02, 2026

このトピックでは、Qwen-Audio-3.0-ASR-Flash-Streaming/Fun-ASR-Realtime リアルタイム音声認識サービスにおいて、クライアントが WebSocket 経由でサーバーに送信するクライアントイベントについて説明します。これには、run-task (タスクの開始)、finish-task (タスクの終了) のデータ構造とフィールド定義が含まれます。

ユーザーガイド:モデルの説明と選択ガイダンスについては、「音声テキスト変換」をご参照ください。

イベント対話フロー:イベントの対話シーケンスについては、「WebSocket API」をご参照ください。

run-task

説明:音声認識タスクを開始し、モデル、音声フォーマット、サンプルレートなどのパラメーターを設定します。

送信タイミング:WebSocket 接続が確立された直後に送信します。

応答イベント:サーバーが task-started イベントを返した後にのみ、音声を送信できます。

headerobject(必須)

プロパティ

actionstring(必須)

コマンドタイプ。run-task に設定します。

task_idstring(必須)

クライアントが生成したタスク ID (UUID 形式) で、後続のイベントをこのタスクにリンクさせます。

streamingstring(必須)

duplex に設定します。

payloadobject(必須)

プロパティ

task_groupstring(必須)

タスクグループ。audioに設定します。

taskstring(必須)

タスクタイプ。 asr に設定します。

functionstring(必須)

関数タイプとして recognition を設定します。

modelstring(必須)

モデル名。Qwen-Audio-3.0-ASR-Flash-Streaming および Fun-ASR-Realtime モデルシリーズがサポートされています。詳細については、「サポートされているモデルとリージョン」をご参照ください。

inputobject(必須)

入力オブジェクト。コンテキストが提供されない場合は {} を渡します。

重要コンテキストをサポートしているのは、qwen-audio-3.0-asr-flash-streamingfun-asr-realtime、および fun-asr-realtime-2025-11-07 モデルのみです。

プロパティ

contextarray(object)(任意)

会話コンテキスト。ドメイン固有の語彙に対する認識精度を向上させます。使用方法の詳細については、「コンテキスト拡張」をご参照ください。

重要制限事項:各タイプ (input_text および text) のコンテキストメッセージは最大 5 つまで指定できます。この制限を超えた場合、最新の 5 つのメッセージのみが保持されます。1 ターンあたりの合計テキスト長 (userassistant メッセージの text フィールドの合計長) は 400 文字を超えることはできません (文字単位でカウントされ、各文字は 1 としてカウントされます)。この制限を超えたテキストは末尾から切り捨てられます。

重要コンテキストを指定する場合、context 内のメッセージは特定の順序に従う必要があります。コンテキストメッセージは会話のターンごとに配置し、各ターン内で user メッセージ (タイプ input_text) は、対応する assistant メッセージ (タイプ text) の前に配置する必要があります。

プロパティ

rolestring(必須)

メッセージのロール。有効値:

  • user:前のターンのユーザー発話の認識結果、またはドメイン固有の単語リスト。
  • assistant:前のターンの大規模言語モデルからの応答。

contentarray(object)(必須)

メッセージコンテンツのリスト。

プロパティ

typestring(必須)

コンテンツタイプ。有効値:

  • input_text:前のターンのユーザー発話の認識結果、またはドメイン固有の単語リスト (ロールが user の場合に使用)。text フィールドも指定する必要があります。
  • text:前のターンの大規模言語モデルからの応答 (ロールが assistant の場合に使用)。text フィールドも指定する必要があります。

textstring(必須)

テキストコンテンツ。typeinput_text の場合は、前のターンのユーザー発話の認識結果またはドメイン固有の単語リストを入力します。typetext の場合は、前のターンの大規模言語モデルからの応答を入力します。

parametersobject(必須)

音声認識パラメーター。

プロパティ

formatstring(必須)

音声フォーマット。

有効値:

  • pcm
  • wav
  • mp3
  • opus
  • speex
  • aac
  • amr

重要opus/speex:Ogg カプセル化を使用する必要があります。

wav:PCM エンコーディングを使用する必要があります。

amr:AMR-NB タイプのみがサポートされています。

sample_rateinteger(必須)

サンプルレート (単位:Hz)。

有効値:8 kHz モデルは 8000 Hz のみをサポートし、その他のモデルは任意のサンプルレートをサポートします。

vocabulary_idstring(任意)

プリコンパイルされたホットワードリストの ID。

この ID は、ホットワードリスト作成 API を呼び出して事前に生成します。認識時に ID を渡すことで、リスト内のホットワードを使用できます。

語彙が既知で比較的に安定しており、リクエスト間で同じ単語リストを再利用する必要があるシナリオに適しています。

使用方法の詳細については、「プリコンパイルされたホットワード」をご参照ください。

vocabularyobject(任意)

動的ホットワード。

キーと値のペアとして渡されます。キーはホットワードのテキスト (string)、値はホットワードの重み (integer) です。事前にホットワードリストを作成する必要はありません。重みの範囲は [1, 5] または 50 に設定します。値が [1, 5] の範囲では、値が大きいほどモデルがその単語を出力する可能性が高くなります。値が 50 の場合はスーパーホットワードを指定し、再現率が大幅に向上しますが、スーパーホットワードの数は 50 を超えることはできません。

一時的なセッションレベルのホットワード最適化に適しています。

プリコンパイルされたホットワードと一緒に設定された場合、動的ホットワードのみが有効になります。使用方法の詳細については、「動的ホットワード」をご参照ください。

重要qwen-audio-3.0-asr-flash-streaming のみが動的ホットワードをサポートしています。

language_hintsarray[string](任意)

認識する音声の言語。デフォルト値はありません。設定しない場合、モデルは自動的に言語を検出します。

Qwen-Audio-3.0-ASR-Flash-Streaming モデルシリーズでは、最大 4 つの値を設定できます。4 つ以上設定した場合、最初の 4 つのみが有効になります。Fun-ASR-Realtime モデルシリーズでは、1 つの値のみ設定できます。複数設定した場合、最初の 1 つのみが有効になります。

クリックしてサポートされている言語コードを表示

  • qwen-audio-3.0-asr-flash-streaming, fun-asr-realtime, fun-asr-realtime-2025-11-07:

    • zh:中国語
    • en:英語
    • ja:日本語
    • ko:韓国語
    • vi:ベトナム語
    • th:タイ語
    • id:インドネシア語
    • ms:マレー語
    • tl:フィリピン語
    • hi:ヒンディー語
    • ar:アラビア語
    • fr:フランス語
    • de:ドイツ語
    • es:スペイン語
    • pt:ポルトガル語
    • ru:ロシア語
    • it:イタリア語
    • nl:オランダ語
    • sv:スウェーデン語
    • da:デンマーク語
    • fi:フィンランド語
    • no:ノルウェー語
    • el:ギリシャ語
    • pl:ポーランド語
    • cs:チェコ語
    • hu:ハンガリー語
    • ro:ルーマニア語
    • bg:ブルガリア語
    • hr:クロアチア語
    • sk:スロバキア語
  • fun-asr-realtime-2026-02-28:

    • zh:中国語
    • en:英語
    • ja:日本語
  • fun-asr-realtime-2025-09-15:

    • zh:中国語
    • en:英語
  • fun-asr-flash-8k-realtime, fun-asr-flash-8k-realtime-2026-01-28:

    • zh:中国語

semantic_punctuation_enabledboolean(任意)

セマンティックセグメンテーションを有効にするかどうか。

デフォルト値:false。

  • true:セマンティックセグメンテーションを有効にし、VAD セグメンテーションを無効にします。
  • false (デフォルト):VAD セグメンテーションを有効にし、セマンティックセグメンテーションを無効にします。

セマンティックセグメンテーションはより精度が高く、会議の文字起こしシナリオに適しています。VAD (音声アクティビティ検出) セグメンテーションはレイテンシーが低く、インタラクティブなシナリオに適しています。

max_sentence_silenceinteger(任意)

セグメンテーションのための VAD 無音しきい値 (単位:ms)。音声セグメントの後の無音がこのしきい値を超えると、システムは文が終了したと判断します。semantic_punctuation_enabled が true に設定されている場合、このパラメーターは sentence_end を返す基準としては使用されませんが、低すぎる値を設定すると認識性能に影響を与える可能性があります。

デフォルト値:1300。

有効値:[200, 6000]。

multi_threshold_mode_enabledboolean(任意)

重要semantic_punctuation_enabled が false の場合にのみ有効です。

マルチしきい値モードを有効にするかどうか。有効にすると、VAD セグメントが長くなりすぎるのを防ぎます。

デフォルト値:false。

heartbeatboolean(任意)

ハートビートパケットを有効にするかどうか。

デフォルト値:false。

  • true:無音音声を継続的に送信しても、サーバーへの接続を維持します。
  • false (デフォルト):無音音声を継続的に送信しても、60 秒後にタイムアウトにより接続が切断されます。

無音音声とは、音声ファイルまたはデータストリーム内の音声信号を含まないコンテンツを指します。無音音声は、Audacity や Adobe Audition などの音声編集ソフトウェアを使用したり、FFmpeg などのコマンドラインツールを使用したりするなど、いくつかの方法で生成できます。

speech_noise_thresholdfloat(任意)

音声とノイズを区別するためのしきい値で、音声アクティビティ検出 (VAD) の感度を調整するために使用されます。

有効値:[-1.0, 1.0]。

値の説明:

  • 値が -1 に近いほど:ノイズのしきい値が下がり、ノイズが音声として認識されやすくなるため、より多くのノイズが書き起こされる可能性があります。
  • 値が +1 に近いほど:ノイズのしきい値が上がり、音声がノイズとして誤って判断されやすくなるため、一部の音声がフィルタリングされる可能性があります。

これは詳細設定パラメーターです。調整すると認識結果に大きな影響を与える可能性があります。推奨事項:

  • 調整する前に、結果を十分にテストし、検証してください。
  • 実際の音声環境に基づいて、小さな増分で調整してください (0.1 のステップを推奨します)。

special_word_filter string(任意)

音声認識中に処理する禁止用語を指定し、異なる禁止用語に対して異なる処理方法を設定することをサポートします。詳細については、「禁止用語フィルター」をご参照ください。

{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "asr",
        "function": "recognition",
        "model": "qwen-audio-3.0-asr-flash-streaming",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000
        },
        "input": {}
    }
}
{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "asr",
        "function": "recognition",
        "model": "qwen-audio-3.0-asr-flash-streaming",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000
        },
        "input": {
            "context": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "input_text",
                            "text": "こんにちは"
                        }
                    ]
                },
                {
                    "role": "assistant",
                    "content": [
                        {
                            "type": "text",
                            "text": "こんにちは、Qwen です。何かお手伝いできることはありますか?"
                        }
                    ]
                }
            ]
        }
    }
}
{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "asr",
        "function": "recognition",
        "model": "qwen-audio-3.0-asr-flash-streaming",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000,
            "vocabulary": {"John Smith": 5, "Jane Doe": 5}
        },
        "input": {}
    }
}

continue-task

説明:タスク実行中に会話コンテキストを更新して、認識精度を向上させます。

送信タイミング:タスク実行中に会話コンテキストを更新する必要がある場合に送信します。

重要このイベントをサポートしているのは、qwen-audio-3.0-asr-flash-streamingfun-asr-realtime、および fun-asr-realtime-2025-11-07 モデルのみです。

headerobject(必須)

プロパティ

actionstring(必須)

コマンドタイプ。 continue-task に設定します。

task_idstring(必須)

クライアントが生成したタスク ID (UUID 形式) で、run-task イベントの task_id と一致する必要があります。

streamingstring(必須)

duplex に設定します。

payloadobject(必須)

プロパティ

inputobject(必須)

入力オブジェクト。

プロパティ

context array(object) (任意) 会話コンテキスト。ドメイン固有の語彙に対する認識精度を向上させます。使用方法の詳細については、「クイックスタート」をご参照ください。

重要制限事項:各タイプ (input_text および text) のコンテキストメッセージは最大 5 つまで指定できます。この制限を超えた場合、最新の 5 つのメッセージのみが保持されます。1 ターンあたりの合計テキスト長 (text フィールドの userassistant メッセージの合計長) は 400 文字を超えることはできません (文字単位でカウントされ、各文字は 1 としてカウントされます)。この制限を超えたテキストは末尾から切り捨てられます。

重要コンテキストを提供する場合、context 内のメッセージは特定の順序に従う必要があります。コンテキストメッセージは会話のターンごとに配置する必要があり、各ターン内では user メッセージ (タイプ input_text) を、対応する assistant メッセージ (タイプ text) の前に配置する必要があります。

プロパティ ロール _文字列_ __(必須) メッセージのロール。有効な値:

user: 前のターンのユーザーの発話の認識結果、またはドメイン固有の単語リスト。

assistant: 以前のターンにおける大規模言語モデルからの応答。

content _配列 (オブジェクト)___(必須) メッセージ本文のリスト。 プロパティ type _文字列_ __(必須) コンテンツタイプ。 有効な値:

input_text:前のターンのユーザー発話の認識結果、またはドメイン固有の単語リスト (ロールが user の場合に使用)。text フィールドも指定する必要があります。

text:前のターンの大規模言語モデルからの応答 (ロールが assistant の場合に使用)。text フィールドも指定する必要があります。

text string (必須) テキストコンテンツ。typeinput_text の場合は、前のターンのユーザー発話の認識結果またはドメイン固有の単語リストを入力します。typetext の場合は、前のターンの大規模言語モデルからの応答を入力します。

{
    "header": {
        "action": "continue-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "context": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "input_text",
                            "text": "こんにちは"
                        }
                    ]
                },
                {
                    "role": "assistant",
                    "content": [
                        {
                            "type": "text",
                            "text": "こんにちは、Qwen です。何かお手伝いできることはありますか?"
                        }
                    ]
                }
            ]
        }
    }
}

finish-task

説明:すべての音声が送信されたことをサーバーに通知し、タスクの終了を要求します。

送信タイミング:すべての音声データが送信された後に送信します。

応答イベント:サーバーは task-finished イベントを返します。

headerobject(必須)

プロパティ

actionstring(必須)

コマンドの種類であり、 finish-task に設定します。

task_idstring(必須)

クライアントが生成したタスク ID (UUID 形式) で、run-task イベントの task_id と一致する必要があります。

streamingstring(必須)

duplex に設定します。

payloadobject(必須)

プロパティ

inputobject(必須)

{} に設定します。

{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}