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

來源:互聯網
上載者:User

標籤:百度   語音辨識   http   


百度語音辨識通過REST API的方式給開發人員提供一個通用的HTTP介面,基於該介面,開發人員可以輕鬆的擷取語音辨識能力,本文檔描述了使用語音辨識服務REST API的方法。

優點:

較之開發人員常用的擷取語音辨識功能的方法,本方法最大的優勢是輕量級,不需要在所開發的應用中整合任何SDK開發套件,也不需要在測試機中添加任何識別引擎軟體,開發人員只要瞭解Http網路請求以及百度語音辨識 REST API的使用規則,即可輕輕鬆鬆在自己的應用中使用語音辨識相關的功能了。

功能介紹:

REST API支援整段錄音檔案的識別,對錄音格式有一定的要求,支援語音辨識控制項:整合提示音、音量反饋動效整套互動的對話方塊控制項,方便開發人員快速整合;

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

使用方法:

註冊開放平台及創新應用

註冊方法可參見之前寫的百度語音辨識開放平台SDK使用方法一文,其中有詳細的註冊方法敘述。

從管理主控台進入建立的應用,如所示,API Key(client_id)和Secret Key(client_secret)即顯示於其中, ID即為應用id(appid)。

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


其中,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。



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裡包括的參數:




其中,開發人員可以把語音資料放在JSON序列的“speech”欄位中,需要將語音先進行base64編碼,並標明語音資料的原始長度,填寫“len”欄位;也可以直接提供語音放在“url”欄位中,並且提供識別結果的回調地址,放在“callback”參數中。因此“speech”和“len”參數綁定,“url”和“callback”參數綁定,這張組參數二選一填寫,如果都填,預設處理第一種。


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


Content-length請填寫JSON串的長度。
 上傳執行個體:


 注意事項:
1, len欄位表示原始語音長度,不是base64編碼之後的長度。
2, speech和len欄位綁定驗證,url和callback綁定驗證,兩組參數二選一必填,如果都填,預設第一種方式。
3, 如果採用base64編碼語音資料,資料量會增大1/3。
 顯示發送:
語音資料直接放在HTTP-BODY中,控制參數以及相關統計資訊通過REST參數傳遞,REST參數說明:



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


Content-length請填寫原始語音長度。
 URL樣本:


下行介面定義

兩種上傳方式都返回統一的結果,採用 JSON格式封裝,如果識別成功,識別結果放在JSON的“result”欄位中,統一採用utf-8方式編碼。


 識別成功返回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:後端錯誤,後端資源可能出現錯誤


由於篇幅所限,具體使用方法在下篇文章介紹。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.