程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c#-百度語音識別TTS REST API 用C# 怎麼處理下行數據 求實例

c#-百度語音識別TTS REST API 用C# 怎麼處理下行數據 求實例

編輯:編程綜合問答
百度語音識別TTS REST API 用C# 怎麼處理下行數據 求實例

百度語音識別TTS REST API 用C# 怎麼處理下行數據 求實例

最佳回答:


接口可以參考以下內容,用c#就是是用post方式調用rest服務
上體代碼可以參考以下鏈接
http://www.cnblogs.com/cgli/archive/2011/04/09/2010497.html

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

字段名 數據類型 可需 描述
format sting 必填 語音壓縮的格式,請填寫上述格式之一,不區分大小寫
rate int 必填 采樣率,支持 8000 或者 16000
channel int 必填 聲道數,僅支持單聲道,請填寫 1
cuid string 必填 用戶 id,推薦使用 mac 地址/手機IMEI 等類似參數
token string 必填 開發者身份驗證密鑰
ptc int 選填 協議號,下行識別結果選擇,默認 nbest 結果
lan string 選填 語種選擇,中文=zh、粵語=ct、英文=en,不區分大小寫,默認中文
url string 選填 語音下載地址
callback string 選填 識別結果回調地址
speech string 選填 真實的語音數據 ,需要進行base64 編碼
len int 選填 原始語音長度,單位字節
其中,開發者可以把語音數據放在 JSON 序列的“speech”字段中,需要將語音先進行 base64編碼,並標明語音數據的原始長度,填寫“len”字段;也可以直接提供語音下載地址放在“url”字段中,並且提供識別結果的回調地址,放在“callback”參數中。因此“speech”和“len”參數綁定,“url”和“callback”參數綁定,這兩組參數二選一填寫,如果都填,默認處理第一種。

表單類型在 HTTP-HEADER 裡的 content-type 表明,例:
Content-Type:application/json
Content-length 請填寫 JSON 串的長度。

上傳實例:
{
"format":"speex",
"rate":8000,
"channel":1,
"token":xxx,
"cuid":"baidu_workshop",
"len":4096,
"speech":"xxx",
}
注意事項:
len 字段表示原始語音長度,不是 base64 編碼之後的長度。
speech 和 len 字段綁定驗證,url 和 callback 綁定驗證,兩組參數二選一必填,如果都填,默認第一種方式。
如果采用 base64 編碼語音數據,數據量會增大 1/3。
顯示發送
語音數據直接放在 HTTP-BODY 中,控制參數以及相關統計信息通過 REST 參數傳遞,REST參數說明:

字段名 數據類型 可需 描述
cuid string 必填 用戶 id,推薦使用 mac 地址/手機IMEI 等類似參數
token string 必填 開發者身份驗證密鑰
lan string 選填 語種選擇,中文=zh、粵語=ct、英文=en,不區分大小寫,默認中文
ptc int 選填 協議號,下行識別結果選擇,默認 nbest 結果
語音數據的采樣率和壓縮格式在 HTTP-HEADER 裡的 content-type 表明,例:

Content-Type:audio/amr;rate=8000
Content-length 請填寫原始語音長度。

URL 示例:

http://vop.baidu.com/server_api?lan=zh&cuid=xxx&token=xxx
下行接口定義
兩種上傳方式都返回統一的結果,采用 JSON 格式封裝,如果識別成功,識別結果放在 JSON的“result”字段中,統一采用 utf-8 方式編碼。

字段名 數據類型 可需 描述
err_no int 必填 錯誤碼
err_msg string 必填 錯誤碼描述
sn string 必填 語音數據唯一標識,系統內部產生,用於 debug
result array ( [string,string,…]) 選填 識別結果數組,提供1-5 個候選結果,
string 類型為識別的字符串, utf-8 編碼
識別成功返回 case
{\"err_no\":0,\"err_msg\":\"success.\",\"corpus_no\":\"15984125203285346378\",\"sn\":\"481D633F-73BA-726F-49EF-8659ACCC2F3D\",\"result\":[\"北京天氣\"]}
識別錯誤返回 case
{"err_no":2000,"err_msg":"data empty.","sn":null}
錯誤碼解釋
錯誤碼 含義
3300 輸入參數不正確
3301 識別錯誤
3302 驗證失敗
3303 語音服務器後端問題
3304 請求 GPS 過大,超過限額
3305 產品線當前日請求數超過限額

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved