天天看點

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

百度語音識别通過REST API的方式給開發人員提供一個通用的HTTP接口,基于該接口,開發人員能夠輕松的擷取語音識别能力,本文檔描寫叙述了使用語音識别服務REST API的方法。

長處:

較之開發人員經常使用的擷取語音識别功能的方法,本方法最大的優勢是輕量級。不須要在所開發的應用中內建不論什麼SDK開發工具包,也不須要在測試機中加入不論什麼識别引擎軟體,開發人員僅僅要了解Http網絡請求以及百度語音識别 REST API的使用規則。就可以輕輕松松在自己的應用中使用語音識别相關的功能了。

功能介紹:

REST API支援整段錄音檔案的識别,對錄音格式有一定的要求。支援語音識别控件:內建提示音、音量回報動效整套互動的對話框控件,友善開發人員高速內建。

原始PCM的錄音參數必須符合8k/16k採樣率、16bit位深、單聲道。支援的壓縮格式有:pcm(不壓縮)、wav、opus、speex、amr、x-flac。

用法:

注冊開放平台及創新應用

從管理控制台進入建立的應用,例如以下圖所看到的,API Key(client_id)和Secret Key(client_secret)即顯示于當中, ID即為應用id(appid)。

依據百度OAuth的Client Credentials授權方式擷取access_token。百度OAuth的Client Credentials和其它授權方式的說明見百度OAuth介紹的“百度支援的OAuth授權”部分。

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

當中,grant_type的值固定為client_credentials,client_id即為(3)中截圖所看到的的 API Key的值,client_secret即為截圖所看到的的Secret Key的值。更為具體的介紹請參見Client Credentials授權說明。

響應例如以下所看到的,當中access_token字段即為請求REST API所需的令牌, access_token有效期一般為一個月,開發人員須要對access_token。進行有效性推斷,過期需又一次申請access_token。

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

API請求方式

 語音識别接口支援POST 方式

 眼下API僅支援整段語音識别的模式,即須要上傳整段語音進行識别

 語音資料上傳方式有兩種:隐示發送和顯示發送

 原始語音的錄音格式眼下僅僅支援評測8k/16k採樣率16bit位深的單聲道語音

 壓縮格式支援:pcm(不壓縮)、wav、opus、speex、amr、x-flac

 系統支援語言種類:中文(zh)、粵語(ct)、英文(en)

 正式位址:http://vop.baidu.com/server_api

語音上傳模型

語音資料和其它參數通過标準JSON格式串行化POST上傳。 JSON裡包含的參數:

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能
百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

當中。開發人員能夠把語音資料放在JSON序列的“speech”字段中,須要将語音先進行base64編碼,并标明語音資料的原始長度。填寫“len”字段。也能夠直接提供語音下載下傳位址放在“url”字段中。而且提供識别結果的回調位址。放在“callback”參數中。是以“speech”和“len”參數綁定,“url”和“callback”參數綁定,這張組參數二選一填寫。假設都填。預設處理第一種。

表單類型在HTTP-HEADER裡的content-type表明,例:

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

Content-length請填寫JSON串的長度。

 上傳執行個體:

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

 注意事項:

1, len字段表示原始語音長度。不是base64編碼之後的長度。

2, speech和len字段綁定驗證,url和callback綁定驗證。兩組參數二選一必填。假設都填,預設第一種方式。

3。 假設採用base64編碼語音資料。資料量會增大1/3。

 顯示發送:

語音資料直接放在HTTP-BODY中,控制參數以及相關統計資訊通過REST參數傳遞。REST參數說明:

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能
百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

語音資料的採樣率和壓縮格式在HTTP-HEADER裡的content-type表明,例:

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

Content-length請填寫原始語音長度。

 URL示範樣例:

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

下行接口定義

兩種上傳方式都傳回統一的結果,採用 JSON格式封裝。假設識别成功,識别結果放在JSON的“result”字段中,統一採用utf-8方式編碼。

百度語音識别REST API——通過使用Http網絡請求方式獲得語音識别功能

 識别成功傳回case:

{\"err_no\":0,\"err_msg\":\"success.\",\"corpus_no\":\"15984125203285346378\",\"sn\":\"481D633F-73BA-726F-49EF-8659ACCC2F3D\",\"result\":[\"\\u6211\\u633a\\u5e05\\u554a\\uff0c\\u5e05\\u54e5\\uff0c\"]}

 識别錯誤傳回case:

{"err_no":2000,"err_msg":"data empty.","sn":null}

錯誤碼解釋

33xx:系統内部子產品互動錯誤,服務此時可能不太穩定。

34xx:參數錯誤,請檢查上行參數。

30xx-32xx:後端錯誤。後端資源可能出現錯誤

因為篇幅所限,詳細用法在下篇文章介紹。

本文轉自mfrbuaa部落格園部落格,原文連結:http://www.cnblogs.com/mfrbuaa/p/5372192.html,如需轉載請自行聯系原作者