讯飞能力平台语音识别ASR接口,AIUI接口问题
訊飛能力平臺(tái)開發(fā)者,之前產(chǎn)于所有的開發(fā)測(cè)試,ASR接口包括AIUI接口我全部了解的,有不懂的可以評(píng)論留言,我一一回復(fù),不需要走工單。
中文站?
- 新手指南
- 文檔中心
- SDK下載
- 樂享會(huì)員
- 財(cái)務(wù)中心
控制臺(tái)
|
1592230999922
-
產(chǎn)品服務(wù)
-
解決方案
-
行業(yè)專題
-
服務(wù)市場(chǎng)
-
AI大學(xué)堂
-
1024
-
AI大賽
-
生態(tài)平臺(tái)
-
服務(wù)與支持
-
最新活動(dòng)
文檔中心
-
?平臺(tái)文檔
-
?語音識(shí)別
-
語音聽寫
- WebAPI文檔
- Android SDK文檔
- iOS SDK文檔
- Linux SDK文檔
- Windows SDK文檔
- Java SDK文檔
- 音頻格式說明
- 語音聽寫服務(wù)說明
- HarmonyOS SDK 文檔
-
語音轉(zhuǎn)寫
-
實(shí)時(shí)語音轉(zhuǎn)寫
-
離線語音聽寫
-
語音喚醒
-
離線命令詞識(shí)別
-
-
?語音合成
-
?語音擴(kuò)展
-
?自然語言處理
-
?人臉識(shí)別
-
?文字識(shí)別
-
?圖像識(shí)別
-
?基礎(chǔ)服務(wù)
-
?解決方案
-
?MSC API文檔
- 文檔中心
- 語音識(shí)別
- 語音聽寫
- WebAPI 文檔
#語音聽寫(流式版)WebAPI 文檔
#接口說明
語音聽寫流式接口,用于1分鐘內(nèi)的即時(shí)語音轉(zhuǎn)文字技術(shù),支持實(shí)時(shí)返回識(shí)別結(jié)果,達(dá)到一邊上傳音頻一邊獲得識(shí)別文本的效果。
高階功能-動(dòng)態(tài)修正現(xiàn)在免費(fèi)開放!多個(gè)小語種已上線!
動(dòng)態(tài)修正:可到這里?動(dòng)態(tài)修正效果?在線體驗(yàn)
- 未開啟動(dòng)態(tài)修正:實(shí)時(shí)返回識(shí)別結(jié)果,每次返回的結(jié)果都是對(duì)之前結(jié)果的追加;
- 開啟動(dòng)態(tài)修正:實(shí)時(shí)返回識(shí)別結(jié)果,每次返回的結(jié)果有可能是對(duì)之前結(jié)果的追加,也有可能是要替換之前某次返回的結(jié)果(即修正);
- 開啟動(dòng)態(tài)修正,相較于未開啟,返回結(jié)果的顆粒度更小,視覺沖擊效果更佳;
- 使用動(dòng)態(tài)修正功能需到控制臺(tái)-流式聽寫-高級(jí)功能處點(diǎn)擊開通,并設(shè)置相應(yīng)參數(shù)方可使用,參數(shù)設(shè)置方法詳見?業(yè)務(wù)參數(shù)說明?;
- 動(dòng)態(tài)修正功能僅?中文?支持;
- 未開啟與開啟返回的結(jié)果格式不同,詳見?動(dòng)態(tài)修正返回結(jié)果?;
小語種
- 支持的語種請(qǐng)到語音聽寫?頁面或控制臺(tái)查看;
- 使用少數(shù)民族語言和小語種時(shí),URL和中英文URL不同,詳見?接口要求?;
- 小語種參數(shù)設(shè)置方法詳見?業(yè)務(wù)參數(shù)說明?;
該語音能力是通過Websocket API的方式給開發(fā)者提供一個(gè)通用的接口。Websocket API具備流式傳輸能力,適用于需要流式數(shù)據(jù)傳輸?shù)腁I服務(wù)場(chǎng)景,比如邊說話邊識(shí)別。相較于SDK,API具有輕量、跨語言的特點(diǎn);相較于HTTP API,Websocket API協(xié)議有原生支持跨域的優(yōu)勢(shì)。
原WebAPI普通版本接口(http[s]: //api.xfyun.cn/v1/service/v1/iat) 不再對(duì)外開放,已經(jīng)使用WebAPI普通版本的用戶仍可使用,同時(shí)也歡迎體驗(yàn)新版流式接口并盡快完成遷移~
#接口Demo
示例demo請(qǐng)點(diǎn)擊?這里?下載。
目前僅提供部分開發(fā)語言的demo,其他語言請(qǐng)參照下方接口文檔進(jìn)行開發(fā)。
也歡迎熱心的開發(fā)者到?訊飛開放平臺(tái)社區(qū)?分享你們的demo。
#接口要求
集成語音聽寫流式API時(shí),需按照以下要求。
| 請(qǐng)求協(xié)議 | ws[s](為提高安全性,強(qiáng)烈推薦wss) |
| 請(qǐng)求地址 | 中英文(推薦使用):ws[s]: //iat-api.xfyun.cn/v2/iat 中英文:ws[s]: //ws-api.xfyun.cn/v2/iat 小語種:ws[s]: //iat-niche-api.xfyun.cn/v2/iat 注:服務(wù)器IP不固定,為保證您的接口穩(wěn)定,請(qǐng)勿通過指定IP的方式調(diào)用接口,使用域名方式調(diào)用 |
| 請(qǐng)求行 | GET /v2/iat HTTP/1.1 |
| 接口鑒權(quán) | 簽名機(jī)制,詳情請(qǐng)參照下方接口鑒權(quán) |
| 字符編碼 | UTF-8 |
| 響應(yīng)格式 | 統(tǒng)一采用JSON格式 |
| 開發(fā)語言 | 任意,只要可以向訊飛云服務(wù)發(fā)起Websocket請(qǐng)求的均可 |
| 操作系統(tǒng) | 任意 |
| 音頻屬性 | 采樣率16k或8K、位長(zhǎng)16bit、單聲道 |
| 音頻格式 | pcm speex(8k) speex-wb(16k) mp3(僅中文普通話和英文支持,其他方言及小語種敬請(qǐng)期待) 樣例音頻請(qǐng)參照音頻樣例 |
| 音頻長(zhǎng)度 | 最長(zhǎng)60s |
| 語言種類 | 中文、英文、小語種以及中文方言,可在控制臺(tái)-語音聽寫(流式版)-方言/語種處添加試用或購買 |
#接口調(diào)用流程
- 通過接口密鑰基于hmac-sha256計(jì)算簽名,向服務(wù)器端發(fā)送Websocket協(xié)議握手請(qǐng)求。詳見下方?接口鑒權(quán)?。
- 握手成功后,客戶端通過Websocket連接同時(shí)上傳和接收數(shù)據(jù)。數(shù)據(jù)上傳完畢,客戶端需要上傳一次數(shù)據(jù)結(jié)束標(biāo)識(shí)。詳見下方?接口數(shù)據(jù)傳輸與接收?。
- 接收到服務(wù)器端的結(jié)果全部返回標(biāo)識(shí)后斷開Websocket連接。
注: Websocket使用注意事項(xiàng)如下
#白名單
默認(rèn)關(guān)閉IP白名單,即該服務(wù)不限制調(diào)用IP。
在調(diào)用該業(yè)務(wù)接口時(shí)
- 若關(guān)閉IP白名單,接口認(rèn)為IP不限,不會(huì)校驗(yàn)IP。
- 若打開IP白名單,則服務(wù)端會(huì)檢查調(diào)用方IP是否在訊飛開放平臺(tái)配置的IP白名單中,對(duì)于沒有配置到白名單中的IP發(fā)來的請(qǐng)求,服務(wù)端會(huì)拒絕服務(wù)。
IP白名單規(guī)則
- 在 控制臺(tái)-相應(yīng)服務(wù)的IP白名單處編輯,保存后五分鐘左右生效。
- 不同Appid的不同服務(wù)都需要分別設(shè)置IP白名單。
- IP白名單需設(shè)置為外網(wǎng)IP,請(qǐng)勿設(shè)置局域網(wǎng)IP。
- 如果握手階段返回{"message":"Your IP address is not allowed"},則表示由于IP白名單配置有誤或還未生效,服務(wù)端拒絕服務(wù)。
#接口鑒權(quán)
在握手階段,請(qǐng)求方需要對(duì)請(qǐng)求進(jìn)行簽名,服務(wù)端通過簽名來校驗(yàn)請(qǐng)求的合法性。
#鑒權(quán)方法
通過在請(qǐng)求地址后面加上鑒權(quán)相關(guān)參數(shù)的方式。示例url:
wss://iat-api.xfyun.cn/v2/iat?authorization=YXBpX2tleT0ia2V5eHh4eHh4eHg4ZWUyNzkzNDg1MTlleHh4eHh4eHgiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0iSHAzVHk0WmtTQm1MOGpLeU9McFFpdjlTcjVudm1lWUVIN1dzTC9aTzJKZz0i&date=Wed%2C%2010%20Jul%202019%2007%3A35%3A43%20GMT&host=iat-api.xfyun.cn鑒權(quán)參數(shù):
| host | string | 是 | 請(qǐng)求主機(jī) | iat-api.xfyun.cn |
| date | string | 是 | 當(dāng)前時(shí)間戳,RFC1123格式 | Wed, 10 Jul 2019 07:35:43 GMT |
| authorization | string | 是 | 使用base64編碼的簽名相關(guān)信息(簽名基于hmac-sha256計(jì)算) | 參考下方authorization參數(shù)生成規(guī)則 |
· date參數(shù)生成規(guī)則
date必須是UTC+0或GMT時(shí)區(qū),RFC1123格式(Wed, 10 Jul 2019 07:35:43 GMT)。
服務(wù)端會(huì)對(duì)Date進(jìn)行時(shí)鐘偏移檢查,最大允許300秒的偏差,超出偏差的請(qǐng)求都將被拒絕。
· authorization參數(shù)生成規(guī)則
1)獲取接口密鑰APIKey 和 APISecret。
在訊飛開放平臺(tái)控制臺(tái),創(chuàng)建WebAPI平臺(tái)應(yīng)用并添加語音聽寫(流式版)服務(wù)后即可查看,均為32位字符串。
2)參數(shù)authorization base64編碼前(authorization_origin)的格式如下。
api_key="$api_key",algorithm="hmac-sha256",headers="host date request-line",signature="$signature"其中 api_key 是在控制臺(tái)獲取的APIKey,algorithm 是加密算法(僅支持hmac-sha256),headers 是參與簽名的參數(shù)(見下方注釋)。
signature 是使用加密算法對(duì)參與簽名的參數(shù)簽名后并使用base64編碼的字符串,詳見下方。
注:?headers是參與簽名的參數(shù),請(qǐng)注意是固定的參數(shù)名("host date request-line"),而非這些參數(shù)的值。
3)signature的原始字段(signature_origin)規(guī)則如下。
signature原始字段由 host,date,request-line三個(gè)參數(shù)按照格式拼接成,
拼接的格式為(\n為換行符,’:’后面有一個(gè)空格):
假設(shè)
請(qǐng)求url = wss://iat-api.xfyun.cn/v2/iat date = Wed, 10 Jul 2019 07:35:43 GMT那么 signature原始字段(signature_origin)則為:
host: iat-api.xfyun.cn date: Wed, 10 Jul 2019 07:35:43 GMT GET /v2/iat HTTP/1.14)使用hmac-sha256算法結(jié)合apiSecret對(duì)signature_origin簽名,獲得簽名后的摘要signature_sha。
signature_sha=hmac-sha256(signature_origin,$apiSecret)其中 apiSecret 是在控制臺(tái)獲取的APISecret
5)使用base64編碼對(duì)signature_sha進(jìn)行編碼獲得最終的signature。
signature=base64(signature_sha)假設(shè)
APISecret = secretxxxxxxxx2df7900c09xxxxxxxx date = Wed, 10 Jul 2019 07:35:43 GMT則signature為
signature=Hp3Ty4ZkSBmL8jKyOLpQiv9Sr5nvmeYEH7WsL/ZO2Jg=6)根據(jù)以上信息拼接authorization base64編碼前(authorization_origin)的字符串,示例如下。
api_key="keyxxxxxxxx8ee279348519exxxxxxxx", algorithm="hmac-sha256", headers="host date request-line", signature="Hp3Ty4ZkSBmL8jKyOLpQiv9Sr5nvmeYEH7WsL/ZO2Jg="注:?headers是參與簽名的參數(shù),請(qǐng)注意是固定的參數(shù)名("host date request-line"),而非這些參數(shù)的值。
7)最后再對(duì)authorization_origin進(jìn)行base64編碼獲得最終的authorization參數(shù)。
authorization = base64(authorization_origin) 示例: authorization=YXBpX2tleT0ia2V5eHh4eHh4eHg4ZWUyNzkzNDg1MTlleHh4eHh4eHgiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0iSHAzVHk0WmtTQm1MOGpLeU9McFFpdjlTcjVudm1lWUVIN1dzTC9aTzJKZz0i#鑒權(quán)url示例(golang)
//@hosturl : like wss://iat-api.xfyun.cn/v2/iat//@apikey : apiKey//@apiSecret : apiSecretfunc assembleAuthUrl(hosturl string, apiKey, apiSecret string) string {ul, err := url.Parse(hosturl)if err != nil {fmt.Println(err)}//簽名時(shí)間date := time.Now().UTC().Format(time.RFC1123)//參與簽名的字段 host ,date, request-linesignString := []string{"host: " + ul.Host, "date: " + date, "GET " + ul.Path + " HTTP/1.1"}//拼接簽名字符串sgin := strings.Join(signString, "\n")//簽名結(jié)果sha := HmacWithShaTobase64("hmac-sha256", sgin, apiSecret)//構(gòu)建請(qǐng)求參數(shù) 此時(shí)不需要urlencodingauthUrl := fmt.Sprintf("api_key=\"%s\", algorithm=\"%s\", headers=\"%s\", signature=\"%s\"", apiKey,"hmac-sha256", "host date request-line", sha)//將請(qǐng)求參數(shù)使用base64編碼authorization:= base64.StdEncoding.EncodeToString([]byte(authUrl))v := url.Values{}v.Add("host", ul.Host)v.Add("date", date)v.Add("authorization", authorization)//將編碼后的字符串url encode后添加到url后面callurl := hosturl + "?" + v.Encode()return callurl}#鑒權(quán)結(jié)果
如果握手成功,會(huì)返回HTTP 101狀態(tài)碼,表示協(xié)議升級(jí)成功;如果握手失敗,則根據(jù)不同錯(cuò)誤類型返回不同HTTP Code狀態(tài)碼,同時(shí)攜帶錯(cuò)誤描述信息,詳細(xì)錯(cuò)誤說明如下:
| 401 | 缺少authorization參數(shù) | {“message”:”Unauthorized”} | 檢查是否有authorization參數(shù),詳情見authorization參數(shù)詳細(xì)生成規(guī)則 |
| 401 | 簽名參數(shù)解析失敗 | {“message”:”HMAC signature cannot be verified”} | 檢查簽名的各個(gè)參數(shù)是否有缺失是否正確,特別確認(rèn)下復(fù)制的api_key是否正確 |
| 401 | 簽名校驗(yàn)失敗 | {“message”:”HMAC signature does not match”} | 簽名驗(yàn)證失敗,可能原因有很多。 1. 檢查api_key,api_secret 是否正確 2.檢查計(jì)算簽名的參數(shù)host,date,request-line是否按照協(xié)議要求拼接。 3. 檢查signature簽名的base64長(zhǎng)度是否正常(正常44個(gè)字節(jié))。 |
| 403 | 時(shí)鐘偏移校驗(yàn)失敗 | {“message”:”HMAC signature cannot be verified, a valid date or x-date header is required for HMAC Authentication”} | 檢查服務(wù)器時(shí)間是否標(biāo)準(zhǔn),相差5分鐘以上會(huì)報(bào)此錯(cuò)誤 |
| 403 | IP白名單校驗(yàn)失敗 | {"message":"Your IP address is not allowed"} | 可在控制臺(tái)關(guān)閉IP白名單,或者檢查IP白名單設(shè)置的IP地址是否為本機(jī)外網(wǎng)IP地址 |
握手失敗返回示例:
HTTP/1.1 401 ForbiddenDate: Thu, 06 Dec 2018 07:55:16 GMTContent-Length: 116Content-Type: text/plain; charset=utf-8{"message": "HMAC signature does not match"}#接口數(shù)據(jù)傳輸與接收
握手成功后客戶端和服務(wù)端會(huì)建立Websocket連接,客戶端通過Websocket連接可以同時(shí)上傳和接收數(shù)據(jù)。
當(dāng)服務(wù)端有識(shí)別結(jié)果時(shí),會(huì)通過Websocket連接推送識(shí)別結(jié)果到客戶端。
發(fā)送數(shù)據(jù)時(shí),如果間隔時(shí)間太短,可能會(huì)導(dǎo)致引擎識(shí)別有誤。
建議每次發(fā)送音頻間隔40ms,每次發(fā)送音頻字節(jié)數(shù)(即java示例demo中的frameSize)為一幀音頻大小的整數(shù)倍。
請(qǐng)注意不同音頻格式一幀大小的字節(jié)數(shù)不同,我們建議:
| speex 8k | 7 | 11 | 16 | 21 | 21 | 29 | 29 | 39 | 39 | 47 | 63 |
| speex-wb 16k | 11 | 16 | 21 | 26 | 33 | 43 | 53 | 61 | 71 | 87 | 107 |
| speex 8k | 6 | 10 | 15 | 20 | 20 | 28 | 28 | 38 | 38 | 46 | 62 |
| speex-wb 16k | 10 | 15 | 20 | 25 | 32 | 42 | 52 | 60 | 70 | 86 | 106 |
speex相關(guān)說明詳見speex編碼
整個(gè)會(huì)話時(shí)長(zhǎng)最多持續(xù)60s,或者超過10s未發(fā)送數(shù)據(jù),服務(wù)端會(huì)主動(dòng)斷開連接。
數(shù)據(jù)上傳完畢,客戶端需要上傳一次數(shù)據(jù)結(jié)束標(biāo)識(shí)表示會(huì)話已結(jié)束,詳見下方data參數(shù)說明。
#請(qǐng)求參數(shù)
請(qǐng)求數(shù)據(jù)均為json字符串
| common | object | 是 | 公共參數(shù),僅在握手成功后首幀請(qǐng)求時(shí)上傳,詳見下方 |
| business | object | 是 | 業(yè)務(wù)參數(shù),僅在握手成功后首幀請(qǐng)求時(shí)上傳,詳見下方 |
| data | object | 是 | 業(yè)務(wù)數(shù)據(jù)流參數(shù),在握手成功后的所有請(qǐng)求中都需要上傳,詳見下方 |
#公共參數(shù)說明
common
| app_id | string | 是 | 在平臺(tái)申請(qǐng)的APPID信息 |
#業(yè)務(wù)參數(shù)
business
| language | string | 是 | 語種 zh_cn:中文(支持簡(jiǎn)單的英文識(shí)別) en_us:英文 其他小語種:可到控制臺(tái)-語音聽寫(流式版)-方言/語種處添加試用或購買,添加后會(huì)顯示該小語種參數(shù)值,若未授權(quán)無法使用會(huì)報(bào)錯(cuò)11200。 另外,小語種接口URL與中英文不同,詳見接口要求。 | "zh_cn" |
| domain | string | 是 | 應(yīng)用領(lǐng)域 iat:日常用語 medical:醫(yī)療 gov-seat-assistant:政務(wù)坐席助手 seat-assistant:金融坐席助手 gov-ansys:政務(wù)語音分析 gov-nav:政務(wù)語音導(dǎo)航 fin-nav:金融語音導(dǎo)航 fin-ansys:金融語音分析 注:除日常用語領(lǐng)域外其他領(lǐng)域若未授權(quán)無法使用,可到控制臺(tái)-語音聽寫(流式版)-高級(jí)功能處添加試用或購買;若未授權(quán)無法使用會(huì)報(bào)錯(cuò)11200。 坐席助手、語音導(dǎo)航、語音分析相關(guān)垂直領(lǐng)域僅適用于8k采樣率的音頻數(shù)據(jù),另外三者的區(qū)別詳見下方。 | "iat" |
| accent | string | 是 | 方言,當(dāng)前僅在language為中文時(shí),支持方言選擇。 mandarin:中文普通話、其他語種 其他方言:可到控制臺(tái)-語音聽寫(流式版)-方言/語種處添加試用或購買,添加后會(huì)顯示該方言參數(shù)值;方言若未授權(quán)無法使用會(huì)報(bào)錯(cuò)11200。 | "mandarin" |
| vad_eos | int | 否 | 用于設(shè)置端點(diǎn)檢測(cè)的靜默時(shí)間,單位是毫秒。 即靜默多長(zhǎng)時(shí)間后引擎認(rèn)為音頻結(jié)束。 默認(rèn)2000(小語種除外,小語種不設(shè)置該參數(shù)默認(rèn)為未開啟VAD)。 | 3000 |
| dwa | string | 否 | (僅中文普通話支持)動(dòng)態(tài)修正 wpgs:開啟流式結(jié)果返回功能 注:該擴(kuò)展功能若未授權(quán)無法使用,可到控制臺(tái)-語音聽寫(流式版)-高級(jí)功能處免費(fèi)開通;若未授權(quán)狀態(tài)下設(shè)置該參數(shù)并不會(huì)報(bào)錯(cuò),但不會(huì)生效。 | "wpgs" |
| pd | string | 否 | (僅中文支持)領(lǐng)域個(gè)性化參數(shù) game:游戲 health:健康 shopping:購物 trip:旅行 注:該擴(kuò)展功能若未授權(quán)無法使用,可到控制臺(tái)-語音聽寫(流式版)-高級(jí)功能處添加試用或購買;若未授權(quán)狀態(tài)下設(shè)置該參數(shù)并不會(huì)報(bào)錯(cuò),但不會(huì)生效。 | "game" |
| ptt | int | 否 | (僅中文支持)是否開啟標(biāo)點(diǎn)符號(hào)添加 1:開啟(默認(rèn)值) 0:關(guān)閉 | 0 |
| rlang | string | 否 | (僅中文支持)字體 zh-cn :簡(jiǎn)體中文(默認(rèn)值) zh-hk :繁體香港 注:該繁體功能若未授權(quán)無法使用,可到控制臺(tái)-語音聽寫(流式版)-高級(jí)功能處免費(fèi)開通;若未授權(quán)狀態(tài)下設(shè)置為繁體并不會(huì)報(bào)錯(cuò),但不會(huì)生效。 | "zh-cn" |
| vinfo | int | 否 | 返回子句結(jié)果對(duì)應(yīng)的起始和結(jié)束的端點(diǎn)幀偏移值。端點(diǎn)幀偏移值表示從音頻開頭起已過去的幀長(zhǎng)度。 0:關(guān)閉(默認(rèn)值) 1:開啟 開啟后返回的結(jié)果中會(huì)增加data.result.vad字段,詳見下方返回結(jié)果。 注:若開通并使用了動(dòng)態(tài)修正功能,則該功能無法使用。 | 1 |
| nunum | int | 否 | (中文普通話和日語支持)將返回結(jié)果的數(shù)字格式規(guī)則為阿拉伯?dāng)?shù)字格式,默認(rèn)開啟 0:關(guān)閉 1:開啟 | 0 |
| speex_size | int | 否 | speex音頻幀長(zhǎng),僅在speex音頻時(shí)使用 1 當(dāng)speex編碼為標(biāo)準(zhǔn)開源speex編碼時(shí)必須指定 2 當(dāng)speex編碼為訊飛定制speex編碼時(shí)不要設(shè)置 注:標(biāo)準(zhǔn)開源speex以及訊飛定制SPEEX編碼工具請(qǐng)參考這里?speex編碼?。 | 70 |
| nbest | int | 否 | 取值范圍[1,5],通過設(shè)置此參數(shù),獲取在發(fā)音相似時(shí)的句子多侯選結(jié)果。設(shè)置多候選會(huì)影響性能,響應(yīng)時(shí)間延遲200ms左右。 注:該擴(kuò)展功能若未授權(quán)無法使用,可到控制臺(tái)-語音聽寫(流式版)-高級(jí)功能處免費(fèi)開通;若未授權(quán)狀態(tài)下設(shè)置該參數(shù)并不會(huì)報(bào)錯(cuò),但不會(huì)生效。 | 3 |
| wbest | int | 否 | 取值范圍[1,5],通過設(shè)置此參數(shù),獲取在發(fā)音相似時(shí)的詞語多侯選結(jié)果。設(shè)置多候選會(huì)影響性能,響應(yīng)時(shí)間延遲200ms左右。 注:該擴(kuò)展功能若未授權(quán)無法使用,可到控制臺(tái)-語音聽寫(流式版)-高級(jí)功能處免費(fèi)開通;若未授權(quán)狀態(tài)下設(shè)置該參數(shù)并不會(huì)報(bào)錯(cuò),但不會(huì)生效。 | 5 |
注:?多候選效果是由引擎決定的,并非絕對(duì)的。即使設(shè)置了多候選,如果引擎并沒有識(shí)別出候選的詞或句,返回結(jié)果也還是單個(gè)。
注:?以上common和business參數(shù)只需要在握手成功后的第一幀請(qǐng)求時(shí)帶上。
注:
坐席助手:電話坐席助手,一般用于人與人對(duì)話的場(chǎng)景。
語音導(dǎo)航:電話語音導(dǎo)航,一般用于機(jī)器與人對(duì)話的場(chǎng)景。
語音分析:基于大量存量的電話客服錄音做質(zhì)檢,即事后音頻轉(zhuǎn)文字的場(chǎng)景(識(shí)別率會(huì)優(yōu)于前兩者)。
#業(yè)務(wù)數(shù)據(jù)流參數(shù)
data
| status | int | 是 | 音頻的狀態(tài) 0 :第一幀音頻 1 :中間的音頻 2 :最后一幀音頻,最后一幀必須要發(fā)送 |
| format | string | 是 | 音頻的采樣率支持16k和8k 16k音頻:audio/L16;rate=16000 8k音頻:audio/L16;rate=8000 |
| encoding | string | 是 | 音頻數(shù)據(jù)格式 raw:原生音頻(支持單聲道的pcm) speex:speex壓縮后的音頻(8k) speex-wb:speex壓縮后的音頻(16k) 請(qǐng)注意壓縮前也必須是采樣率16k或8k單聲道的pcm。 lame:mp3格式(僅中文普通話和英文支持,方言及小語種暫不支持) 樣例音頻請(qǐng)參照音頻樣例 |
| audio | string | 是 | 音頻內(nèi)容,采用base64編碼 |
請(qǐng)求參數(shù)示例:
{ "common":{// 公共請(qǐng)求參數(shù)"app_id":"123456" },"business":{"language":"zh_cn","domain":"iat","accent":"mandarin"},"data":{"status":0,"format":"audio/L16;rate=16000","encoding":"raw","audio":"exSI6ICJlbiIsCgkgICAgInBvc2l0aW9uIjogImZhbHNlIgoJf..." }}數(shù)據(jù)上傳結(jié)束標(biāo)識(shí)示例:
{"data":{"status":2}}#返回參數(shù)
| sid | string | 本次會(huì)話的id,只在握手成功后第一幀請(qǐng)求時(shí)返回 |
| code | int | 返回碼,0表示成功,其它表示異常,詳情請(qǐng)參考錯(cuò)誤碼 |
| message | string | 錯(cuò)誤描述 |
| data | object | 聽寫結(jié)果信息 |
| data.status | int | 識(shí)別結(jié)果是否結(jié)束標(biāo)識(shí): 0:識(shí)別的第一塊結(jié)果 1:識(shí)別中間結(jié)果 2:識(shí)別最后一塊結(jié)果 |
| data.result | object | 聽寫識(shí)別結(jié)果 |
| data.result.sn | int | 返回結(jié)果的序號(hào) |
| data.result.ls | bool | 是否是最后一片結(jié)果 |
| data.result.bg | int | 保留字段,無需關(guān)心 |
| data.result.ed | int | 保留字段,無需關(guān)心 |
| data.result.ws | array | 聽寫結(jié)果 |
| data.result.ws.bg | int | 起始的端點(diǎn)幀偏移值,單位:幀(1幀=10ms) 注:以下兩種情況下bg=0,無參考意義: 1)返回結(jié)果為標(biāo)點(diǎn)符號(hào)或者為空;2)本次返回結(jié)果過長(zhǎng)。 |
| data.result.ws.cw | array | 中文分詞 |
| data.result.ws.cw.w | string | 字詞 |
| data.result.ws.cw.其他字段 sc/wb/wc/we/wp | int/string | 均為保留字段,無需關(guān)心。如果解析sc字段,建議float與int數(shù)據(jù)類型都做兼容 |
#動(dòng)態(tài)修正返回參數(shù)
若開通了動(dòng)態(tài)修正功能并設(shè)置了dwa=wpgs(僅中文支持),還有如下字段返回:
注:動(dòng)態(tài)修正結(jié)果解析可參考頁面下方的java demo。
| data.result.pgs | string | 開啟wpgs會(huì)有此字段 取值為 "apd"時(shí)表示該片結(jié)果是追加到前面的最終結(jié)果;取值為"rpl" 時(shí)表示替換前面的部分結(jié)果,替換范圍為rg字段 |
| data.result.rg | array | 替換范圍,開啟wpgs會(huì)有此字段 假設(shè)值為[2,5],則代表要替換的是第2次到第5次返回的結(jié)果 |
#vinfo返回參數(shù)
若設(shè)置了vinfo=1,還有如下字段返回(若同時(shí)開通并設(shè)置了dwa=wpgs,則vinfo失效):
| data.result.vad | object | 端點(diǎn)幀偏移值信息 |
| data.result.vad.ws | array | 端點(diǎn)幀偏移值結(jié)果 |
| data.result.vad.bg | int | 起始的端點(diǎn)幀偏移值,單位:幀(1幀=10ms) |
| data.result.vad.ed | int | 結(jié)束的端點(diǎn)幀偏移值,單位:幀(1幀=10ms) |
| data.result.vad.eg | number | 無需關(guān)心 |
返回參數(shù)示例(動(dòng)態(tài)修正dwa=wpgs)
注:動(dòng)態(tài)修正結(jié)果解析可參考頁面下方的java demo。
返回參數(shù)示例(vinfo=1)
{"code": 0,"message": "success","sid": "iatxxxxxxxxxxxxxx","data": {"result": {"bg": 0,"ed": 0,"ls": false,"sn": 1,"vad": {"ws": [{"bg": 40,"ed": 366,"eg": 63.58}]},"ws": [{"bg": 53,"cw": [{"sc": 0,"w": "4月"}]},{...},{"bg": 293,"cw": [{"sc": 0,"w": "選手"}]}]},"status": 1} }返回參數(shù)示例(句子多候選nbest)
{"code": 0,"message": "success","sid": "iatxxxxxxxxxxxxx","data": {"result": {"bg": 0,"ed": 0,"ls": false,"sn": 1,"ws": [{"bg": 35,"cw": [{"sc": 0,"w": "打電話給梁玉生"},{"sc": 0,"w": "打電話給梁玉升"}]}]},"status": 0} }返回參數(shù)示例(詞級(jí)多候選wbest)
{"code": 0,"message": "success","sid": "iatxxxxxxxxxxxxxx","data": {"result": {"bg": 0,"ed": 0,"ls": false,"sn": 1,"ws": [{...},{"bg": 159,"cw": [{"sc": 0,"w": "梁"}]},{"bg": 191,"cw": [{"sc": 0,"w": "玉"},{"sc": 0,"w": "育"}]},{"bg": 215,"cw": [{"sc": 0,"w": "生"},{"sc": 0,"w": "升"}]}]},"status": 0} }#錯(cuò)誤碼
備注:如出現(xiàn)下述列表中沒有的錯(cuò)誤碼,可到?這里?查詢。
| 10005 | licc fail | appid授權(quán)失敗 | 確認(rèn)appid是否正確,是否開通了聽寫服務(wù) |
| 10006 | Get audio rate fail | 獲取某個(gè)參數(shù)失敗 | 檢查報(bào)錯(cuò)信息中的參數(shù)是否正確上傳 |
| 10007 | get invalid rate | 參數(shù)值不合法 | 檢查報(bào)錯(cuò)信息中的參數(shù)值是否在取值范圍內(nèi) |
| 10010 | AIGES_ERROR_NO_LICENSE | 引擎授權(quán)不足 | 請(qǐng)到控制臺(tái)提交工單聯(lián)系技術(shù)人員 |
| 10014 | AIGES_ERROR_TIME_OUT | 會(huì)話超時(shí) | |
| 10019 | service read buffer timeout, session timeout | session超時(shí) | 檢查是否數(shù)據(jù)發(fā)送完畢但未關(guān)閉連接 |
| 10043 | Syscall AudioCodingDecode error | 音頻解碼失敗 | 檢查aue參數(shù),如果為speex,請(qǐng)確保音頻是speex音頻并分段壓縮且與幀大小一致 |
| 10101 | engine inavtive | 引擎會(huì)話已結(jié)束 | 檢查是否引擎已結(jié)束會(huì)話但客戶端還在發(fā)送數(shù)據(jù),比如音頻數(shù)據(jù)雖然發(fā)送完畢但并未關(guān)閉websocket連接,還在發(fā)送空的音頻等 |
| 10114 | session timeout | 會(huì)話超時(shí) | 檢查整個(gè)會(huì)話是否已經(jīng)超過了60s |
| 10139 | invalid param | 參數(shù)錯(cuò)誤 | 引擎編解碼錯(cuò)誤 |
| 10313 | appid cannot be empty | appid不能為空 | 檢查common參數(shù)是否正確上傳,或common中的app_id參數(shù)是否正確上傳或是否為空 |
| 10317 | invalid version | 版本非法 | 聯(lián)系技術(shù)人員 |
| 11200 | auth no license | 沒有權(quán)限 | 檢查是否使用了未授權(quán)的功能,或者總的調(diào)用次數(shù)已超越上限 |
| 11201 | auth no enough license | 日流控超限 | 可聯(lián)系商務(wù)提高每日調(diào)用次數(shù) |
| 10160 | parse request json error | 請(qǐng)求數(shù)據(jù)格式非法 | 檢查請(qǐng)求數(shù)據(jù)是否是合法的json |
| 10161 | parse base64 string error | base64解碼失敗 | 檢查發(fā)送的數(shù)據(jù)是否使用了base64編碼 |
| 10163 | param validate error:/common 'app_id' param is required | 缺少必傳參數(shù),或者參數(shù)不合法 | 檢查報(bào)錯(cuò)信息中的參數(shù)是否正確上傳 |
| 10165 | invalid handle | 無效的句柄 | 檢查下傳入第一幀音頻時(shí),是否上傳了status=0 |
| 10200 | read data timeout | 讀取數(shù)據(jù)超時(shí) | 檢查是否累計(jì)10s未發(fā)送數(shù)據(jù)并且未關(guān)閉連接 |
#調(diào)用示例
注:?demo只是一個(gè)簡(jiǎn)單的調(diào)用示例,不適合直接放在復(fù)雜多變的生產(chǎn)環(huán)境使用
語音聽寫流式API demo java語言
語音聽寫流式API demo python3語言
語音聽寫流式API demo js語言
語音聽寫流式API demo go語言
語音聽寫流式API demo nodejs語言
注:?其他開發(fā)語言請(qǐng)參照?接口調(diào)用流程?進(jìn)行開發(fā),也歡迎熱心的開發(fā)者到?訊飛開放平臺(tái)社區(qū)?分享你們的demo。
#音頻樣例
語音聽寫流式 音頻樣例 中文普通話 PCM文件 采樣率16k
語音聽寫流式 音頻樣例 中文普通話 PCM文件 采樣率8k
語音聽寫流式 音頻樣例 中文普通話 MP3文件 采樣率16k
語音聽寫流式 音頻樣例 中文普通話 MP3文件 采樣率8k
語音聽寫流式 音頻樣例 中文普通話 SPEEX文件(標(biāo)準(zhǔn)開源SPEEX編碼) 采樣率8k 7級(jí)壓縮
語音聽寫流式 音頻樣例 中文普通話 SPEEX文件(標(biāo)準(zhǔn)開源SPEEX編碼) 采樣率16k 7級(jí)壓縮
語音聽寫流式 音頻樣例 中文普通話 SPEEX文件(訊飛定制SPEEX編碼) 采樣率16k 7級(jí)壓縮
語音聽寫流式 音頻樣例 中文普通話 SPEEX文件(訊飛定制SPEEX編碼) 采樣率8k 7級(jí)壓縮
注:?音頻文件的錄制和格式確認(rèn)(推薦使用Cool Edit Pro工具),以及訊飛定制SPEEX編碼工具請(qǐng)參考這里:?音頻格式說明
#視頻教程
語音聽寫-WebAPI接口詳解
#常見問題
#語音聽寫的APIKey在哪里查詢到?
答:控制臺(tái)--我的應(yīng)用---找到對(duì)應(yīng)應(yīng)用的語音聽寫(流式)服務(wù)---即能查看到。
#webapi流式聽寫能獲取到語音聽寫結(jié)果為空或錯(cuò)誤內(nèi)容或者不全,原因是什么?
答:原因可能如下;
1、音頻格式不正確,請(qǐng)使用Cool Edit Pro工具(網(wǎng)頁搜索下載即可)查看音頻格式,webapi聽寫流式版:支持的格式是pcm、speex、speex-wb,其中中文普通話和英文還支持mp3格式
音頻采樣率要是 16k 或者 8k、采樣精度16 位、單聲道音頻。樣例音頻請(qǐng)參照音頻樣例
2、音頻中間有靜音或者雜音音頻超過了后端點(diǎn)(不設(shè)置默認(rèn)為2000ms)的設(shè)置,此時(shí)請(qǐng)使用Cool Edit Pro工具查看音頻內(nèi)容,并且設(shè)置后端點(diǎn)(vad_eos)為最大值10000ms
包含超過后端點(diǎn)最大值的靜音或者雜音時(shí),音頻識(shí)別不完整是正常的
#語音聽寫WebAPI支持的音頻格式有哪些?
答:支持8k和16k采樣率、16bit、單聲道的pcm、mp3、speex格式的音頻。需注意mp3格式的音頻僅支持中文普通話和英文。
#語音聽寫最長(zhǎng)支持多少秒之內(nèi)的音頻?
答:聽寫支持識(shí)別60s之內(nèi)的音頻。
#語音聽寫Webapi支持多少路并發(fā)?如何提高并發(fā)?
答:默認(rèn)支持50路并發(fā),如需更多并發(fā)可提交工單進(jìn)行咨詢。
#聽寫報(bào)錯(cuò)10163,length of $.data.audio must be between 0,13000是什么原因?
答:聽寫frameSize傳的音頻大小base64編碼后不能超出13000B,默認(rèn)傳1280B不建議傳值過大。
#為什么每隔一段時(shí)間不發(fā)送數(shù)據(jù)就會(huì)斷開連接?
答:聽寫vad_eos為支持的最長(zhǎng)靜音時(shí)間,超過這個(gè)時(shí)間會(huì)認(rèn)為音頻結(jié)束自動(dòng)斷開連接。
#最多支持多少熱詞,是否可以擴(kuò)容?
答:控制臺(tái)最多支持2000個(gè)應(yīng)用級(jí)熱詞,暫不支持?jǐn)U容。
#如何限制IP?
答:可通過在IP白名單設(shè)置自己服務(wù)的IP地址,限制其他IP地址訪問。
在這篇文章中:
- 接口說明
- 接口Demo
- 接口要求
- 接口調(diào)用流程
- 錯(cuò)誤碼
- 調(diào)用示例
- 音頻樣例
- 視頻教程
- 常見問題
總結(jié)
以上是生活随笔為你收集整理的讯飞能力平台语音识别ASR接口,AIUI接口问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: airtest 获取分辨率 绝对坐标 相
- 下一篇: AIUI的技能工作室使用