关于网友提出的“百度语音识别TTS REST API 用C# 怎么处理下行数据 求实例”问题疑问,本网通过在网上对“百度语音识别TTS REST API 用C# 怎么处理下行数据 求实例”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:百度语音识别TTS REST API 用C# 怎么处理下行数据 求实例
描述:百度语音识别TTS REST API 用C# 怎么处理下行数据 求实例
解决方案1:接口可以参考以下内容,用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 产品线当前日请求数超过限额
以上介绍了“百度语音识别TTS REST API 用C# 怎么处理下行数据 求实例”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/wd/644416.html