Skip to main content

Qwen-Audio-ASR-Message クライアントイベント

Qwen-Audio-ASR-Message のクライアントイベントとパラメーターについて説明します。

run-task

音声認識タスクを開始し、モデル、音声フォーマット、サンプルレートなどのパラメーターを設定します。 送信タイミング:接続が確立された直後に送信します。 応答イベント:サーバーが task-started イベントを返した後にのみ、音声を送信できます。
headerobject(必須)

プロパティ

actionstring(必須)コマンドタイプ。run-task に設定します。task_idstring(必須)クライアントが生成したタスク ID (UUID 形式) で、後続のイベントをこのタスクにリンクさせます。streamingstring(必須)duplex に設定します。
payloadobject(必須)

プロパティ

task_groupstring(必須)タスクグループ。audioに設定します。taskstring(必須)タスクタイプ。 asr に設定します。functionstring(必須)関数タイプとして recognition を設定します。modelstring(必須)モデル名。inputobject(必須)入力オブジェクト。コンテキストが提供されない場合は {} を渡します。
コンテキストをサポートしているのは、qwen-audio-3.1-asr-flash-message モデルのみです。

プロパティ

contextarray(object)(任意)会話コンテキスト。ドメイン固有の語彙に対する認識精度を向上させます。使用方法の詳細については、「コンテキスト拡張」をご参照ください。
制限事項:各タイプ (input_text および text) のコンテキストメッセージは最大 5 つまで指定できます。この制限を超えた場合、最新の 5 つのメッセージのみが保持されます。1 ターンあたりの合計テキスト長 (user と assistant メッセージの text フィールドの合計長) は 400 文字を超えることはできません (文字単位でカウントされ、各文字は 1 としてカウントされます)。この制限を超えたテキストは末尾から切り捨てられます。
コンテキストを指定する場合、context 内のメッセージは特定の順序に従う必要があります。コンテキストメッセージは会話のターンごとに配置し、各ターン内で user メッセージ (タイプ input_text) は、対応する assistant メッセージ (タイプ text) の前に配置する必要があります。

プロパティ

rolestring(必須)メッセージのロール。有効値:
  • user:前のターンのユーザー発話の認識結果、またはドメイン固有の単語リスト。
  • assistant:前のターンの大規模言語モデルからの応答。
contentarray(object)(必須)メッセージコンテンツのリスト。

プロパティ

typestring(必須)コンテンツタイプ。有効値:
  • input_text:前のターンのユーザー発話の認識結果、またはドメイン固有の単語リスト (ロールが user の場合に使用)。text フィールドも指定する必要があります。
  • text:前のターンの大規模言語モデルからの応答 (ロールが assistant の場合に使用)。text フィールドも指定する必要があります。
textstring(必須)テキストコンテンツ。type が input_text の場合は、前のターンのユーザー発話の認識結果またはドメイン固有の単語リストを入力します。type が text の場合は、前のターンの大規模言語モデルからの応答を入力します。
parametersobject(必須)音声認識パラメーター。

プロパティ

keep_dialect boolean (オプション)デフォルトは false で、方言を標準中国語に変換します。true に設定すると、方言表現を保持します。最終結果(sentence_end=true)にのみ適用され、中間結果(sentence_end=false)ではサポートされません。vad_model string (オプション)VAD モデル。near_meeting_16k(近距離)または far_field_meeting_16k(遠距離、デフォルト)を指定します。disfluency_removal_enabled boolean (オプション)つなぎ言葉を除去し、出力を整えるかどうか。デフォルトは false。有効にするには true に設定します。intermediate_result_enabled boolean (オプション)ストリーミング中間結果を返すかどうか。デフォルトは false。中間結果を返すには true に設定します。formatstring(必須)音声フォーマット。有効値:
  • pcm
  • wav
  • mp3
  • opus
  • speex
  • aac
  • amr
opus/speex:Ogg カプセル化を使用する必要があります。wav:PCM エンコーディングを使用する必要があります。amr:AMR-NB タイプのみがサポートされています。
sample_rateinteger(必須)サンプリングレート(Hz)。16000 のみをサポートします。vocabulary_idstring(任意)プリコンパイルされたホットワードリストの ID。この ID は、ホットワードリスト作成 API を呼び出して事前に生成します。認識時に ID を渡すことで、リスト内のホットワードを使用できます。語彙が既知で比較的に安定しており、リクエスト間で同じ単語リストを再利用する必要があるシナリオに適しています。使用方法の詳細については、「プリコンパイルされたホットワード」をご参照ください。vocabularyobject(任意)動的ホットワード。キーと値のペアとして渡されます。キーはホットワードのテキスト (string)、値はホットワードの重み (integer) です。事前にホットワードリストを作成する必要はありません。重みの範囲は [1, 5] または 50 に設定します。値が [1, 5] の範囲では、値が大きいほどモデルがその単語を出力する可能性が高くなります。値が 50 の場合はスーパーホットワードを指定し、再現率が大幅に向上しますが、スーパーホットワードの数は 50 を超えることはできません。一時的なセッションレベルのホットワード最適化に適しています。プリコンパイルされたホットワードと一緒に設定された場合、動的ホットワードのみが有効になります。使用方法の詳細については、「動的ホットワード」をご参照ください。
qwen-audio-3.1-asr-flash-message のみが動的ホットワードをサポートしています。
language_hintsarray[string](任意)認識する音声の言語。デフォルト値はありません。設定しない場合、モデルは自動的に言語を検出します。最大 4 つの値を設定できます。それ以上設定した場合は、最初の 4 つのみが有効です。
  • 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:スロバキア語
最終結果(sentence_end=true)にのみ適用され、中間結果(sentence_end=false)ではサポートされません。max_sentence_silenceinteger(任意)VAD の文分割の無音しきい値(ミリ秒)。発話後の無音時間がこの値を超えると、文の終了と判断します。デフォルト:800。有効範囲:[200, 6000]。heartbeatboolean(任意)ハートビートパケットを有効にするかどうか。デフォルト値:false。
  • true:無音音声を継続的に送信しても、サーバーへの接続を維持します。
  • false (デフォルト):無音音声を継続的に送信しても、60 秒後にタイムアウトにより接続が切断されます。
無音音声とは、音声ファイルまたはデータストリーム内の音声信号を含まないコンテンツを指します。無音音声は、Audacity や Adobe Audition などの音声編集ソフトウェアを使用したり、FFmpeg などのコマンドラインツールを使用したりするなど、いくつかの方法で生成できます。speech_noise_thresholdfloat(任意)音声とノイズを区別するためのしきい値で、音声アクティビティ検出 (VAD) の感度を調整するために使用されます。有効値:[-1.0, 1.0]。値の説明:
  • 値が -1 に近いほど:ノイズのしきい値が下がり、ノイズが音声として認識されやすくなるため、より多くのノイズが書き起こされる可能性があります。
  • 値が +1 に近いほど:ノイズのしきい値が上がり、音声がノイズとして誤って判断されやすくなるため、一部の音声がフィルタリングされる可能性があります。
これは詳細設定パラメーターです。調整すると認識結果に大きな影響を与える可能性があります。推奨事項:
  • 調整する前に、結果を十分にテストし、検証してください。
  • 実際の音声環境に基づいて、小さな増分で調整してください (0.1 のステップを推奨します)。
{
    "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.1-asr-flash-message",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000
        },
        "input": {}
    }
}

continue-task

タスク実行中に会話コンテキストを更新して、認識精度を向上させます。 送信タイミング:タスク実行中に会話コンテキストを更新する必要がある場合に送信します。
このイベントをサポートしているのは、qwen-audio-3.1-asr-flash-message モデルのみです。
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 フィールドの user と assistant メッセージの合計長) は 400 文字を超えることはできません (文字単位でカウントされ、各文字は 1 としてカウントされます)。この制限を超えたテキストは末尾から切り捨てられます。
コンテキストを提供する場合、context 内のメッセージは特定の順序に従う必要があります。コンテキストメッセージは会話のターンごとに配置する必要があり、各ターン内では user メッセージ (タイプ input_text) を、対応する assistant メッセージ (タイプ text) の前に配置する必要があります。
プロパティ ロール _文字列_ __(必須) メッセージのロール。有効な値:user: 前のターンのユーザーの発話の認識結果、またはドメイン固有の単語リスト。assistant: 以前のターンにおける大規模言語モデルからの応答。content _配列 (オブジェクト)___(必須) メッセージ本文のリスト。 プロパティ type _文字列_ __(必須) コンテンツタイプ。 有効な値:input_text:前のターンのユーザー発話の認識結果、またはドメイン固有の単語リスト (ロールが user の場合に使用)。text フィールドも指定する必要があります。text:前のターンの大規模言語モデルからの応答 (ロールが assistant の場合に使用)。text フィールドも指定する必要があります。text string (必須) テキストコンテンツ。type が input_text の場合は、前のターンのユーザー発話の認識結果またはドメイン固有の単語リストを入力します。type が text の場合は、前のターンの大規模言語モデルからの応答を入力します。
{
    "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": {}
    }
}