實(shí)時(shí)語音評(píng)測(cè) API 簡(jiǎn)介
概念解釋
實(shí)時(shí)語音評(píng)測(cè):實(shí)時(shí)語音口語評(píng)測(cè)服務(wù)可實(shí)現(xiàn)對(duì)連續(xù)音頻流的實(shí)時(shí)識(shí)別,并最終對(duì)用戶的讀音進(jìn)行評(píng)測(cè)。
說明
Hi,您好,歡迎使用有道智云智能語音評(píng)測(cè)服務(wù)。
如果您想快速體驗(yàn)服務(wù),建議您前往 實(shí)時(shí)語音評(píng)測(cè)體驗(yàn)中心 或者在體驗(yàn)中心右下側(cè)找到小程序二維碼,掃描進(jìn)行體驗(yàn)。
本文檔主要針對(duì)需要集成實(shí)時(shí)語音識(shí)別服務(wù)HTTP API的開發(fā)工程師
,詳細(xì)描述有道智云實(shí)時(shí)語音評(píng)測(cè)能力及如何集成的技術(shù)內(nèi)容。
如果您有與我們商務(wù)合作的需求,可以通過以下方式聯(lián)系我們:
商務(wù)郵箱: AIcloud_Business@corp.youdao.com
如果您對(duì)文檔內(nèi)容有任何疑問,可以通過以下幾種方式聯(lián)系我們:
客服QQ:1906538062
智云語音技術(shù)交流QQ群:861723255
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
接口說明
有道實(shí)時(shí)評(píng)測(cè)服務(wù)對(duì)用戶發(fā)音的完整度、流利度、準(zhǔn)確度進(jìn)行全方位評(píng)測(cè),并能對(duì)發(fā)音錯(cuò)誤、缺陷進(jìn)行定位。
支持的音頻格式為16K 采樣率、16bits 精度的 pcm_s16le 音頻,目前支持中、英文。
服務(wù)接口的調(diào)用分為認(rèn)證、實(shí)時(shí)通信兩階段。
接口地址:
wss://openapi.youdao.com/stream_capt?{請(qǐng)求參數(shù)}
請(qǐng)求參數(shù)格式:
key1=value1&key2=value2&key3=value3&key4=value4
音頻格式要求:
格式支持:wav(不壓縮、pcm編碼)
采樣率:推薦16k。
編碼:16bit位深的單聲道
接口調(diào)用參數(shù)
調(diào)用API需要向接口發(fā)送以下字段來訪問服務(wù)。
字段名 | 類型 | 含義 | 必填 | 備注 |
---|
appKey | String | 是 | 已申請(qǐng)的應(yīng)用ID | ID |
salt | String | 是 | 隨機(jī)數(shù) | uuid |
curtime | String | 是 | 時(shí)間戳,1970-1-01 00:00:00 至當(dāng)前的秒數(shù) | 1522292849 |
sign | String | 是 | 加密數(shù)字簽名。 |
signType | String | 是 | 數(shù)字簽名類型 | v4 |
langType | String | 是 | 語言選擇,接口目前支持中文(zh-CHS)、英文(en) | zh-CHS, en |
format | String | 是 | 音頻格式,支持wav | wav |
channel | String | 是 | 聲道,支持1 | 1 |
version | String | 是 | api版本 | v1 |
rate | String | 是 | 采樣率 | 16000 |
vadHeadSil | String | 否 | 前端靜音檢測(cè),單位ms.范圍:[100,10000] | 1000 |
vadTailSil | String | 否 | 后端靜音檢測(cè),單位ms.范圍:[100,10000] | 2000 |
strictness | String | 否 | 注:該參數(shù)僅中文接口支持。打分嚴(yán)格程度 1(兒童) 2(中等)3(嚴(yán)格 成人母語者),默認(rèn):2 | 1,2,3 |
簽名sign
生成方法如下:
sign=sha256(應(yīng)用ID
+salt
+curtime
+應(yīng)用密鑰
)。
輸出結(jié)果
響應(yīng)結(jié)果是以json形式輸出,包含字段如下表所示:
字段 | 含義 | 說明 |
---|
errorCode | String | 狀態(tài)碼,詳見狀態(tài)碼說明 |
action | String | 狀態(tài)標(biāo)識(shí),started:握手,capt:評(píng)測(cè),error:錯(cuò)誤,close:關(guān)閉 |
requestId | String | 請(qǐng)求ID |
result | String | 識(shí)別結(jié)果數(shù)據(jù) |
closeCode | String | 關(guān)閉的狀態(tài)碼 0正常關(guān)閉;1:前置靜音超時(shí);2:后置靜音超時(shí) |
輸出結(jié)果示例
服務(wù)端通過 text message 返回 json字符串的認(rèn)證結(jié)果,參數(shù)示例:
成功:
{
"result": [],
"action": "started",
"errorCode": "0"
}
失?。?/p>
{
"result": "[]",
"action": "error",
"errorCode": "202"
}
實(shí)時(shí)通信階段
認(rèn)證成功之后,進(jìn)入實(shí)時(shí)通信階段,實(shí)時(shí)通信分為兩個(gè)階段:
1) 客戶端發(fā)送待評(píng)測(cè)文本,如果不發(fā)送,會(huì)返回沒有發(fā)送評(píng)測(cè)文本的異常
2)客戶端發(fā)送音頻流和結(jié)束標(biāo)識(shí),并接收轉(zhuǎn)寫結(jié)果或錯(cuò)誤。
發(fā)送評(píng)測(cè)文本
此階段客戶端通過 text message 發(fā)送評(píng)測(cè)文本。示例:
{"text":"have a good day"}
文本長度限制:英文不超過1000單詞。音頻時(shí)長不超過120s。
發(fā)送音頻流
此階段客戶端通過 binary message 發(fā)送音頻流,內(nèi)容為音頻的二進(jìn)制數(shù)據(jù),此過程的發(fā)送頻率將影響文字結(jié)果展示的實(shí)時(shí)性。
建議以 200ms 間隔發(fā)送音頻數(shù)據(jù),若間隔超時(shí) 15s 以上,服務(wù)端將停止識(shí)別。
發(fā)送結(jié)束標(biāo)識(shí)
客戶端完成所有音頻數(shù)據(jù)的發(fā)送后,需發(fā)送一個(gè)特殊的 binary message 到服務(wù)端作為音頻流
發(fā)送結(jié)束的標(biāo)識(shí),內(nèi)容為:
{"end": "true"}
接收評(píng)測(cè)結(jié)果
響應(yīng)結(jié)果是以json形式輸出,包含字段如下表所示:
字段 | 含義 |
---|
errorCode | 識(shí)別結(jié)果錯(cuò)誤碼,一定存在。 詳細(xì)信息可見 錯(cuò)誤代碼列表 |
refText | 請(qǐng)求的文本 |
start | 音頻中句子開始時(shí)間,單位是秒 |
end | 音頻中句子結(jié)束時(shí)間,單位是秒 |
isFinal | 是否是最后一次返回 |
integrity | 句子完整度得分 |
fluency | 句子流利度得分 |
pronunciation | 句子準(zhǔn)確度得分 |
speed | 語速,單詞/分鐘 |
overall | 句子綜合評(píng)分 |
words | 單詞評(píng)分?jǐn)?shù)組 |
-word | 單詞 |
-index | 詞序,從0開始 |
-start | 單詞開始時(shí)間,單位是秒 |
-end | 單詞結(jié)束時(shí)間,單位是秒 |
-pronunciation | 單詞準(zhǔn)確度得分 |
-phonemes | 音素?cái)?shù)組 |
--phoneme | 音素 |
--start | 音素開始時(shí)間,單位是秒 |
--end | 音素結(jié)束時(shí)間,單位是秒 |
--judge | 判斷音素是否錯(cuò)誤,true為發(fā)音正確,false為發(fā)音錯(cuò)誤,同時(shí)calibration給出提示 |
--calibration | 如果發(fā)音錯(cuò)誤,提示用戶該發(fā)音像什么 |
--prominence | 重音程度,分?jǐn)?shù)越高,當(dāng)前音標(biāo)越可能是重音,分?jǐn)?shù)在[0,1] |
--stressRef | 元音重音參考/標(biāo)準(zhǔn)答案,如果為true,說明參考答案認(rèn)為該元音應(yīng)該發(fā)重音,輔音時(shí)無意義 |
--stressDetect | 在一個(gè)單詞中,用戶該音標(biāo)發(fā)音為重音 |
示例
{
"result": {
"refText": "day",
"pronunciation": 73.799362,
"start": 1.530000,
"words": [{
"pronunciation": 73.799362,
"start": 1.530000,
"index": 3,
"end": 1.950000,
"word": "day",
"phonemes": [{
"stressDetect": false,
"pronunciation": 48.216797,
"phoneme": "d",
"start": 1.530000,
"end": 1.650000,
"judge": false,
"calibration": "e",
"prominence": 0.920839,
"stressRef": false
}, {
"stressDetect": false,
"pronunciation": 99.381935,
"phoneme": "e",
"start": 1.680000,
"end": 1.950000,
"judge": true,
"calibration": "e",
"prominence": 1.000000,
"stressRef": false
}]
}],
"fluency": 86.899673,
"speed": 133.333313,
"integrity": 99.999992,
"service": "capt",
"overall": 92.249207,
"end": 1.950000,
"isFinal": false,
"status": "success"
},
"requestId": "9ad0101c-25f1-4336-90c2-e15d5c748e86",
"errorCode": "0",
"action": "capt"
}
支持語言
目前支持中英文的語音評(píng)測(cè)。
服務(wù)配置
支持格式 | 單次最大請(qǐng)求時(shí)長(s) | 支持語言 |
---|
wav | 120 | 中、英 |
錯(cuò)誤代碼列表
錯(cuò)誤碼 | 含義 |
---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認(rèn)參數(shù)書寫是否正確。 |
102 | 不支持的語言類型 |
103 | 翻譯文本過長 |
104 | 不支持的API類型 |
105 | 不支持的簽名類型 |
106 | 不支持的響應(yīng)類型 |
107 | 不支持的傳輸加密類型 |
108 | 應(yīng)用ID無效,注冊(cè)賬號(hào),登錄后臺(tái)創(chuàng)建應(yīng)用并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息 |
110 | 無相關(guān)服務(wù)的有效實(shí)例,應(yīng)用沒有綁定服務(wù)實(shí)例,可以新建服,綁定服務(wù)。注:某些服務(wù)的結(jié)果發(fā)音需要tts服務(wù),需要在控制臺(tái)創(chuàng)建語音合成服務(wù)綁定應(yīng)用后方能使用。 |
111 | 開發(fā)者賬號(hào)無效 |
112 | 請(qǐng)求服務(wù)無效 |
113 | q不能為空 |
201 | 解密失敗,可能為DES,BASE64,URLDecode的錯(cuò)誤 |
202 | 簽名檢驗(yàn)失敗,如果確認(rèn)應(yīng)用ID和應(yīng)用密鑰的正確性,仍返回202,一般是編碼問題。請(qǐng)確保翻譯文本 q 為UTF-8編碼. |
203 | 訪問IP地址不在可訪問IP列表 |
205 | 請(qǐng)求的接口與應(yīng)用的平臺(tái)類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應(yīng)用平臺(tái)類型一致。如有疑問請(qǐng)參考入門指南 |
206 | 因?yàn)闀r(shí)間戳無效導(dǎo)致簽名校驗(yàn)失敗 |
207 | 重放請(qǐng)求 |
303 | 服務(wù)端的其它異常 |
304 | 會(huì)話閑置太久超時(shí) |
401 | 賬戶已經(jīng)欠費(fèi)停止 |
9001 | 不支持的語音格式 |
9002 | 不支持的語音采樣率 |
9003 | 不支持的語音聲道 |
9004 | 不支持的語音上傳類型 |
9005 | 不支持的語音識(shí)別 Language類型 |
9301 | ASR識(shí)別失敗 |
9303 | 服務(wù)器內(nèi)部錯(cuò)誤 |
9411 | 訪問頻率受限(超過最大調(diào)用次數(shù)) |
9412 | 超過最大處理語音長度 |
403507 | 沒有發(fā)送文本 |
403508 | 文本過長 |
403512 | 15s沒有發(fā)送消息 |
403514 | 發(fā)送音頻過短,請(qǐng)超過 |