资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

请求说明

在线调试

您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。

请求说明

语音数据上传 POST 方式有 2 种:

  1. JSON 格式 POST 上传本地音频文件。
  2. RAW 格式 POST 上传本地音频文件。

JSON 方式

  • 音频文件,读取二进制内容后,进行 base64 编码后放在 speech 参数内。
  • 音频文件的原始大小, 即二进制内容的字节数,填写 “len” 字段

由于使用 json 格式, header 为:

   Content-Type:application/json

注意 由于 base64 编码后,数据会增大 1/3。

RAW方式

  • 音频文件,读取二进制内容后,直接放在 body 中。
  • Content-Length 的值即为音频文件的大小。(一般代码会自动生成)。

由于使用 raw 方式, 采样率和文件格式需要填写在 Content-Type 中

   Content-Type: audio/pcm;rate=16000

JSON方式上传音频

语音数据和其他参数通过标准 JSON 格式串行化 POST 上传, JSON 里包括的参数:

字段名 类型 可需 描述
format string 必填 语音文件的格式,pcm/wav/amr/m4a。不区分大小写。推荐pcm文件
rate int 必填 采样率,16000、8000,固定值
channel int 必填 声道数,仅支持单声道,请填写固定值 1
cuid string 必填 用户唯一标识,用来区分用户,计算UV值。建议填写能区分用户的机器 MAC 地址或 IMEI 码,长度为60字符以内。
token string 必填 开放平台获取到的开发者[access_token]获取 Access Token "access_token")
dev_pid int 选填 不填写lan参数生效,都不填写,默认1537(普通话 输入法模型),dev_pid参数见本节开头的表格
lm_id int 选填 自训练平台模型id,填dev_pid = 1537生效
lan string 选填,废弃参数 历史兼容参数,已不再使用
speech string 必填 本地语音文件的二进制语音数据 ,需要进行base64 编码。与len参数连一起使用。
len int 必填 本地语音文件的的字节数,单位字节

上传示例

JSON 格式 POST 上传本地文件

固定头部 header

Content-Type:application/json

请求示例

POST http://vop.baidu.com/server_api 

speech 参数填写为 文件内容 base64 后的结果:

{
    "format":"pcm",
    "rate":16000,
    "dev_pid":1537,
    "channel":1,
    "token":xxx,
    "cuid":"baidu_workshop",
    "len":4096,
    "speech":"xxx", // xxx为 base64(FILE_CONTENT)
}

返回示例

{"corpus_no":"6433214037620997779","err_msg":"success.","err_no":0,"result":["北京科技馆,"],"sn":"371191073711497849365"}

注意事项

len 字段表示原始语音大小字节数,不是 base64 编码之后的长度。


RAW 方式上传音频

语音数据直接放在 HTTP BODY 中,控制参数以及相关统计信息通过 header 和 url 里参数传递。

Header 参数说明

字段名 数据类型 可需 描述
format string(格式见下面示例) 必填 语音格式,pcm/wav/amr/(m4a仅支持极速版)。不区分大小写,推荐使用pcm文件
rate int(格式见下面示例) 必填 采样率 16000、8000, 固定值

语音数据的采样率和压缩格式在 HTTP-HEADER 里的 Content-Type 表明,例:

Content-Type: audio/pcm;rate=16000

url 参数说明

字段名 可需 描述
cuid 必填 用户唯一标识,用来区分用户,计算 UV 值。建议填写能区分用户的机器 MAC 地址或 IMEI 码,长度为 60 字符以内。
token 必填 开放平台获取到的开发者 [access_token] 获取 Access Token "access_token")
dev_pid 选填 不填写 lan 参数生效,都不填写,默认 1537(普通话 输入法模型),dev_pid 参数见本节开头的表格
lm_id int 选填
lan 选填,废弃参数 历史兼容参数,已不再使用。

URL 示例:

POST http://vop.baidu.com/server_api?dev_pid=1537&cuid=******&token=1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328

// 或者使用自训练平台

POST http://vop.baidu.com/server_api?dev_pid=8002&lm_id=1234&cuid=******&token=1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328 

raw 方式测试示例

curl -i -X POST -H "Content-Type: audio/pcm;rate=16000" "http://vop.baidu.com/server_api?dev_pid=1537&cuid=xxxxx&token=1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328" --data-binary "@/home/test/test.pcm"

识别模型 dev_pid 参数

dev_pid 参数列表

  • 短语音识别

请求地址: http://vop.baidu.com/server_api

dev_pid 语言 模型 是否有标点 备注
1537 普通话(纯中文识别) 语音近场识别模型 有标点 支持自定义词库
1737 英语 英语模型 无标点 不支持自定义词库
1637 粤语 粤语模型 有标点 不支持自定义词库
1837 四川话 四川话模型 有标点 不支持自定义词库
1936 普通话远场 远场模型 有标点 不支持自定义词库
  • 自训练平台

请求地址: http://vop.baidu.com/server_api

dev_pid 语言 模型 是否有标点 备注
自训练平台获取 中文普通话 输入法模型 有逗号 使用自训练平台训练,不需要自定义词库

如果您在百度云购买服务器,可以通过内网域名vop.baidubce.com替换vop.baidu.com访问。该域名可免外网流量费用,且返回识别结果速度更快


语音自训练平台

语音自训练平台,可使用业务场景文本语料,自助训练语言模型,提升业务领域识别准确率。

语音自训练平台,支持上传自定义的词汇固定搭配、长段句篇来进行结果优化。可以更加直观地查看训练效果,并支持迭代训练。模型上线后需要在请求中,增加对应自定义模型 id(lm_id)字段。

具体功能及使用说明请参考文档 自训练平台手册

自定义词库

自定义词库功能,可对部分专有业务名词进行识别优化。自定义词库在您网页申请的应用内设置(具体位置参见下图)。

自定义词库适合短句,保证词库中一模一样的短句可以被识别出,词库中的分词优先级较高。 自定义词库仅对普通话 dev_pid = 1537 生效,并且原始音频的采用率为 16K 或 8k。最好在 1万 行以内。