吴谦一 2015-05-19 06:45 采纳率: 50%
浏览 2972
已采纳

百度语音识别TTS REST API 用C# 怎么处理下行数据 求实例

百度语音识别TTS REST API 用C# 怎么处理下行数据 求实例

  • 写回答

1条回答 默认 最新

  • WorldMobile 2015-05-19 08:49
    关注

    接口可以参考以下内容,用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 产品线当前日请求数超过限额

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流