本文介紹 Paraformer 即時語音辨識服務中用戶端通過 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(必選) 模型名稱。 inputobject(必選) 固定為{}。 parametersobject(必選) 語音辨識參數。 屬性 formatstring(必選) 音頻格式。 取值範圍:
pcm
wav
mp3
opus
speex
aac
amr
重要Paraformer須遵循如下約束:
- opus/speex:必須使用Ogg封裝
- wav:必須為PCM編碼
- amr:僅支援AMR-NB類型
sample_rateinteger(必選) 採樣率(Hz)。 取值範圍:
-
Paraformer(因模型而異):
- paraformer-realtime-v2:支援任意採樣率
- paraformer-realtime-8k-v2:僅支援 8000 Hz
vocabulary_idstring(可選) 熱詞列表 ID。 disfluency_removal_enabledboolean(可選) 是否過濾語氣詞。 預設值:false。 language_hintsarray[string](可選) 待識別音頻語種。無預設值,不設定時模型自動識別。 取值範圍:
-
Paraformer:
- zh: 中文
- en: 英文
- ja: 日語
- yue: 粵語
- ko: 韓語
- de:德語
- fr:法語
- ru:俄語
semantic_punctuation_enabledboolean(可選) 是否啟用語義斷句。 預設值:false。
- true:開啟語義斷句,關閉 VAD 斷句。
- false(預設):開啟 VAD 斷句,關閉語義斷句。
語義斷句準確性更高,適合會議轉寫情境;VAD(Voice Activity Detection,語音活動檢測)斷句延遲較低,適合互動情境。 max_sentence_silenceinteger(可選) 重要
- 僅Paraformer(v2)支援該參數。
- 僅在
semantic_punctuation_enabled參數為false時生效。
VAD 斷句靜音閾值(ms)。當一段語音後的靜音時間長度超過該閾值時,系統會判定該句子已結束。 預設值:1300。 取值範圍:[200, 6000]。 multi_threshold_mode_enabledboolean(可選) 重要
- 僅Paraformer(v2)支援該參數。
- 僅在
semantic_punctuation_enabled參數為false時生效。
是否啟用多閾值模式。啟用後可防止 VAD 斷句切割過長。 預設值:false。 punctuation_prediction_enabledboolean(可選) 是否在識別結果中添加標點符號。 預設值:true。 heartbeatboolean(可選) 是否啟用心跳包。 預設值:false。
- true:在持續發送靜音音訊情況下,可保持與服務端的串連不中斷。
- false(預設):即使持續發送靜音音頻,串連也將在一定時間後因逾時而斷開。
inverse_text_normalization_enabledboolean(可選) 是否啟用逆文本正則化(ITN)。啟用後,中文數字將轉換為阿拉伯數字。 預設值:true。 | {
"header": {
"action": "run-task",
"task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
"streaming": "duplex"
},
"payload": {
"task_group": "audio",
"task": "asr",
"function": "recognition",
"model": "paraformer-realtime-v2",
"parameters": {
"format": "pcm",
"sample_rate": 16000,
"disfluency_removal_enabled": false,
"language_hints": [
"en"
]
},
"input": {}
}
}
|
finish-task
說明:通知服務端音頻發送完畢,請求結束任務。
發送時機:所有音頻資料發送完畢後。
響應事件:服務端返回 task-finished 事件。
headerobject(必選) 屬性 actionstring(必選) 指令類型,固定為 finish-task。 task_idstring(必選) 用戶端產生的任務 ID(UUID 格式),需與run-task事件中的 task_id 保持一致。 streamingstring(必選) 固定為 duplex。 payloadobject(必選) | {
"header": {
"action": "finish-task",
"task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
"streaming": "duplex"
},
"payload": {
"input": {}
}
}
|