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