上云无忧 > 文档中心 > 百度智能云短语音识别极速版API
短语音识别极速版
百度智能云短语音识别极速版API

文档简介:
在线调试: 您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。 调用流程: 鉴权认证:使用appKey secretKey 访问 https://openapi.baidu.com 换取 token ,详细见[鉴权认证机制] 确认请求方式:选择一种HTTP POST 请求格式,参见下一节 请求方式 填写参数:详细见 参数说明
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

在线调试

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

调用流程

  1. 鉴权认证:使用appKey secretKey 访问 https://openapi.baidu.com 换取 token ,详细见[鉴权认证机制]
  2. 确认请求方式:选择一种HTTP POST 请求格式,参见下一节 请求方式
  3. 填写参数:详细见 参数说明

适用范围及demo下载

任意操作系统,任意编程语言,只要可以对百度语音服务器发起http请求的,均可以使用本接口。

示例Demo代码见: https://github.com/Baidu-AIP/speech-demo

浏览器由于无法跨域请求百度语音服务器的域名,因此无法直接使用本接口。需从服务器端发起调用。

语音识别极速版调用地址:https://vop.baidu.com/pro_api

语音格式

格式支持:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)、m4a(压缩格式,仅支持极速版模型,m4a格式输入适用于微信小程序的录音文件,详见格式说明)。推荐pcm 采样率 :16000 固定值。 编码:16bit 位深的单声道。

百度服务端会将非pcm格式,转为pcm格式,因此使用wav、amr、m4a会有额外的转换耗时。

  • 16k 采样率pcm文件样例下载
  • 16k 采样率wav文件样例下载
  • 16k 采样率amr文件样例下载
  • 16k 采样率m4a文件样例下载

音频文件格式转换可以使用音频软件进行。批量音频格式转换,可使用开源ffmpeg格式转换工具文档【点击查看音频文件转码工具文档】。

超过60秒音频可使用VAD切分工具进行切分。【点击查看VAD切分工具文档】

小程序m4a格式设置

  • 参数format改为m4a
  1. 仅支持单声道
  2. 采样率仅支持16000
  3. CBR bitrates 24000-96000,推荐48000
  4. 仅支持AAC-LC, 不支持 例如HE-AAC ,LD,ELD等
  5. brand 仅支持 mp42:0, mini Version 0 ,不支持 M4A
  • 微信小程序录音设置,见微信官方文档

微信小程序录音参数,请重点关注并设置以下必填字段:

属性 类型 默认值 必填 说明
duration number 60000 百度语音restapi最大支持 60s,即这个值不能超过60000
sampleRate number 16000 必须设为 16000
numberOfChannels number 1 比如设为1,单声道
encodeBitRate number 48000 默认值即可,建议48000,可设为24000-96000。该值越大的话,生成文件越大
format string aac 默认值即可,只支持aac,不支持mp3

参数说明

  • 格式支持:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)、m4a(AAC编码);固定16k 采样率;
  • 系统支持语言种类 普通话

识别语言及模型选择

短语音识别极速版dev_pid 参数列表

dev_pid 语言 模型 是否有标点 备注
80001 普通话(纯中文识别) 语音近场识别模型极速版 有标点 支持自定义词库

请求说明

语音数据上传 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,固定值
channel int 必填 声道数,仅支持单声道,请填写固定值 1
cuid string 必填 用户唯一标识,用来区分用户,计算UV值。建议填写能区分用户的机器 MAC 地址或 IMEI 码,长度为60字符以内。
token string 必填 开放平台获取到的开发者[access_token]获取 Access Token "access_token")
dev_pid int 必填 80001(极速版输入法模型)
lm_id int 选填 自训练平台模型id
lan string 选填,废弃参数 历史兼容参数,已不再使用
speech string 必填 本地语音文件的的二进制语音数据 ,需要进行base64 编码。与len参数连一起使用。
len int 必填 本地语音文件的的字节数,单位字节

上传示例(speech, len 参数)

即:JSON格式POST上传本地文件

固定头部header

Content-Type:application/json

请求示例

4K大小的pcm文件(普通话录音)请求:

POST https://vop.baidu.com/pro_api

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

{ "format":"pcm", "rate":16000, "dev_pid":80001, "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 方式上传

即 raw格式POST上传本地文件 语音数据直接放在 HTTP BODY 中,控制参数以及相关统计信息通过 header和url里参数传递。

Header 参数说明

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

语音数据的采样率和压缩格式在 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 必填 80001
lan 选填,废弃参数 历史兼容参数,请使用dev_pid。如果dev_pid填写,该参数会被覆盖。语种选择,输入法模型,默认中文(zh)。 中文=zh、粤语=ct、英文=en,不区分大小写。

URL 示例:

POST https://vop.baidu.com/pro_api?dev_pid=80001&cuid=******&token=1.a6b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328

// 或者使用自训练平台

POST http://vop.baidu.com/pro_api?dev_pid=80001&lm_id=1234&cuid=******&token=1.a6
b7dbd428f731035f771b8d********.86400.1292922000-2346678-124328


语音自训练平台

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

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

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

自定义词库

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

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

返回说明

两种上传方式都返回统一的结果,采用 JSON 格式封装,如果识别成功,识别结果放在 JSON的“result”字段中,统一采用 utf-8 方式编码。 (如果使用POST方式的(url,callback)方式,百度服务器会回调用户服务器的callback地址, 返回如下结果)

字段名 数据类型 可需 描述
err_no int 必填 错误码
err_msg string 必填 错误码描述
sn string 必填 语音数据唯一标识,系统内部产生。如果反馈及debug请提供sn。
result array ( [string,string,…]) 选填 识别结果数组,返回1个最优候选结果。utf-8 编码。

识别成功返回 case

{"err_no":0,"err_msg":"success.","corpus_no":"15984125203285346378","sn":"481
D633F-73BA-726F-49EF-8659ACCC2F3D","result":["北京天气"]}

识别错误返回 case

{"err_no":2000,"err_msg":"data empty.","sn":"481D633F-73BA-726F-49EF-8659ACCC2F3D"}

raw 方式测试说明

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

相似文档
  • 在线调试: 您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。 调用流程: 创建账号及应用: 在 ai.baidu.com 控制台中,创建应用,勾选开通 ”语音技术“-”短语音识别、短语音识别极速版“ 能力。获取AppID、API Key、Secret Key,并通过请求鉴权接口换取 token ,详细见 “接入指南”。
  • 在线调试: 您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。 Demo: 语音合成示例代码: https://github.com/Baidu-AIP/speech-demo/tree/master/rest-api-tts 【百度智能云】短文本在线合成
  • 概述: 本文档是百度语音开放平台Andriod SDK的用户指南,描述了在线合成,离线合成等相关接口的使用说明。 合成的策略是边下载边播放。区别于Rest Api一次性下载整个录音文件。
  • DEMO 中已经集成了 SDK。您可以参考DEMO,集成SDK。 集成前,请先测通DEMO,了解调用原理。 如果您自己代码过于复杂,可以使用一个helloworld项目了解集成过程。
  • 简介: DEMO在SDK的基础上,封装了调用逻辑,您可以直接使用SDK,或者使用DEMO封装好SDK接口的类。也可以对比参考DEMO中对SDK的调用封装。 使用SDK方式的话,比较底层,开发者需要自行实现一部分逻辑。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部