實(shí)時(shí)語(yǔ)音評(píng)測(cè) API 簡(jiǎn)介
概念解釋
實(shí)時(shí)語(yǔ)音評(píng)測(cè):實(shí)時(shí)語(yǔ)音口語(yǔ)評(píng)測(cè)服務(wù)可實(shí)現(xiàn)對(duì)連續(xù)音頻流的實(shí)時(shí)識(shí)別,并最終對(duì)用戶的讀音進(jìn)行評(píng)測(cè)。
說(shuō)明
Hi,您好,歡迎使用有道智云智能語(yǔ)音評(píng)測(cè)服務(wù)。
如果您想快速體驗(yàn)服務(wù),建議您前往 實(shí)時(shí)語(yǔ)音評(píng)測(cè)體驗(yàn)中心 或者在體驗(yàn)中心右下側(cè)找到小程序二維碼,掃描進(jìn)行體驗(yàn)。
本文檔主要針對(duì)需要集成實(shí)時(shí)語(yǔ)音識(shí)別服務(wù)HTTP API的開發(fā)工程師
,詳細(xì)描述有道智云實(shí)時(shí)語(yǔ)音評(píng)測(cè)能力及如何集成的技術(shù)內(nèi)容。
如果您有與我們商務(wù)合作的需求,可以通過(guò)以下方式聯(lián)系我們:
商務(wù)郵箱: AIcloud_Business@corp.youdao.com
如果您對(duì)文檔內(nèi)容有任何疑問,可以通過(guò)以下幾種方式聯(lián)系我們:
客服QQ:1906538062
智云語(yǔ)音技術(shù)交流QQ群:861723255
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
接口說(shuō)明
有道實(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ā)送以下字段來(lái)訪問服務(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 |
是 |
語(yǔ)言選擇,接口目前支持中文(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)格 成人母語(yǔ)者),默認(rèn):2 |
1,2,3 |
簽名sign
生成方法如下:
sign=sha256(應(yīng)用ID
+salt
+curtime
+應(yīng)用密鑰
)。
輸出結(jié)果
響應(yīng)結(jié)果是以json形式輸出,包含字段如下表所示:
| 字段 | 含義 |說(shuō)明 |
|:-----|:-------|---- |
|errorCode | String | 狀態(tài)碼,詳見狀態(tài)碼說(shuō)明|
|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ù)端通過(guò) 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è)文本
此階段客戶端通過(guò) text message 發(fā)送評(píng)測(cè)文本。示例:
{"text":"have a good day"}
文本長(zhǎng)度限制:英文不超過(guò)1000單詞。音頻時(shí)長(zhǎng)不超過(guò)120s。
發(fā)送音頻流
此階段客戶端通過(guò) binary message 發(fā)送音頻流,內(nèi)容為音頻的二進(jìn)制數(shù)據(jù),此過(guò)程的發(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 |
語(yǔ)速,單詞/分鐘 |
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,說(shuō)明參考答案認(rèn)為該元音應(yīng)該發(fā)重音,輔音時(shí)無(wú)意義 |
--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"
}
支持語(yǔ)言
目前支持中英文的語(yǔ)音評(píng)測(cè)。
語(yǔ)言 |
代碼 |
英文 |
en |
中文 |
zh-CHS |
服務(wù)配置
支持格式 |
單次最大請(qǐng)求時(shí)長(zhǎng)(s) |
支持語(yǔ)言 |
wav |
120 |
中、英 |
錯(cuò)誤代碼列表
錯(cuò)誤碼 |
含義 |
101 |
缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認(rèn)參數(shù)書寫是否正確。 |
102 |
不支持的語(yǔ)言類型 |
103 |
翻譯文本過(guò)長(zhǎng) |
104 |
不支持的API類型 |
105 |
不支持的簽名類型 |
106 |
不支持的響應(yīng)類型 |
107 |
不支持的傳輸加密類型 |
108 |
應(yīng)用ID無(wú)效,注冊(cè)賬號(hào),登錄后臺(tái)創(chuàng)建應(yīng)用并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息 |
110 |
無(wú)相關(guān)服務(wù)的有效實(shí)例,應(yīng)用沒有綁定服務(wù)實(shí)例,可以新建服,綁定服務(wù)。注:某些服務(wù)的結(jié)果發(fā)音需要tts服務(wù),需要在控制臺(tái)創(chuàng)建語(yǔ)音合成服務(wù)綁定應(yīng)用后方能使用。 |
111 |
開發(fā)者賬號(hào)無(wú)效 |
112 |
請(qǐng)求服務(wù)無(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í)間戳無(wú)效導(dǎo)致簽名校驗(yàn)失敗 |
207 |
重放請(qǐng)求 |
303 |
服務(wù)端的其它異常 |
304 |
會(huì)話閑置太久超時(shí) |
401 |
賬戶已經(jīng)欠費(fèi)停止 |
9001 |
不支持的語(yǔ)音格式 |
9002 |
不支持的語(yǔ)音采樣率 |
9003 |
不支持的語(yǔ)音聲道 |
9004 |
不支持的語(yǔ)音上傳類型 |
9005 |
不支持的語(yǔ)音識(shí)別 Language類型 |
9301 |
ASR識(shí)別失敗 |
9303 |
服務(wù)器內(nèi)部錯(cuò)誤 |
9411 |
訪問頻率受限(超過(guò)最大調(diào)用次數(shù)) |
9412 |
超過(guò)最大處理語(yǔ)音長(zhǎng)度 |
403507 |
沒有發(fā)送文本 |
403508 |
文本過(guò)長(zhǎng) |
403512 |
15s沒有發(fā)送消息 |
403514 |
發(fā)送音頻過(guò)短,請(qǐng)超過(guò) |