简介
更新时间:2022-01-19
简介
百度短语音识别可以将 60 秒以下的音频识别为文字。适用于语音对话、语音控制、语音输入等场景。
- 接口类型:通过 REST API 的方式提供的通用的 HTTP 接口。适用于任意操作系统,任意编程语言
- 接口限制:需要上传完整的录音文件,录音文件时长不超过 60 秒。浏览器由于无法跨域请求百度语音服务器的域名,因此无法直接调用API接口。
- 支持音频格式:pcm、wav、amr、m4a
- 音频编码要求:采样率 16000、8000(仅支持普通话模型),16 bit 位深,单声道(音频格式查看及转换)
语言及模型设置
支持中文普通话(能识别简单的常用英语)、英语、粤语、四川话识别。通过在请求时配置不同的pid参数,选择对应模型,详见 请求说明dev-pid参数表格
调用流程
- 创建账号及应用: 在 ai.baidu.com 控制台中,创建应用,勾选开通 ”语音技术“-”短语音识别、短语音识别极速版“ 能力。获取AppID、API Key、Secret Key,并通过请求鉴权接口换取 token ,详细见 “接入指南”。
- 创建识别请求: POST 方式,音频可通过 JSON 和 RAW 两种方式提交。JSON 方式音频数据由于 base64 编码,数据会增大1/3。其他填写具体请求参数 ,详见 ”请求说明“。
- 短语音识别请求地址: http://vop.baidu.com/server_api
- 返回识别结果:识别结果会即刻返回,采用 JSON 格式封装,如果识别成功,识别结果放在 JSON 的 “result” 字段中,统一采用 utf-8 方式编码。详见 ”返回说明“。
示例Demo代码
示例代码见: https://github.com/Baidu-AIP/speech-demo
包含通过bash_shell,C,Java,Python,Php,Postman进行API请求的相关示例demo代码。
说明
音频格式说明
格式支持:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)、m4a(压缩格式)。推荐pcm 采样率 :16000、8000(仅支持普通话模型) 固定值。 编码:16bit 位深的单声道。
百度服务端会将非pcm格式,转为pcm格式,因此使用wav、amr、m4a会有额外的转换耗时。
m4a 格式说明
目前普通版、极速版均支持m4a格式。主要针对微信小程序的录音。
m4a 格式(AAC 编码)
- 仅支持单声道
- 采样率支持 16000、8000(仅支持普通话模型)
- CBR bitrates 24000-96000,推荐 48000
- 仅支持 AAC-LC, 不支持 例如 HE-AAC ,LD,ELD 等
- brand 仅支持 mp42:0, mini Version 0, 不支持 M4A
微信小程序录音设置,见 微信官方文档
微信小程序录音参数,请重点关注并 设置 以下必填字段:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
duration | number | 60000 | 否 | 百度语音restapi最大支持 60s,即这个值不能超过60000 |
sampleRate | number | 16000 | 是 | 可设为16000或8000 |
numberOfChannels | number | 1 | 是 | 比如设为1,单声道 |
encodeBitRate | number | 48000 | 否 | 默认值即可,建议48000,可设为24000-96000。该值越大的话,生成文件越大 |
format | string | aac | 否 | 默认值即可,只支持aac,不支持mp3 |