语音识别
更新时间:2025-04-15
百度智能云提供了易于调用的API,可将语音识别为文字。
语音识别为您准备了免费测试资源,已完成实名认证的账号,进入控制台后可自动领取免费测试资源,可以前往资源列表页查看资源领取情况。
模型列表
支持丰富的识别模式,可识别短语音,快速返回识别结果;也可将大量语音文件异步识别为文字。
识别模型 | 模型介绍 | 请求地址 | 支持语言 | 适用场景 |
---|---|---|---|---|
短语音识别 | 将60秒以内的语音精准识别为文字。 | http://vop.baidu.com/server_api | 普通话、粤语、四川话、英语 | 适用于近场短语音交互,如智能设备语音交互、如语音指令、语音搜索等场景。 |
短语音识别极速版 | 将60秒以内的语音精准识别为文字。专有GPU服务集群,识别响应速度较标准版API提升2倍,识别准确率提升15%。 | https://vop.baidu.com/pro_api | 普通话 | 适用于时效性要求更高的近场短语音交互,如聊天输入等场景。 |
音频文件转写 | 将大批量的音频文件异步转写为文字。 | https://aip.baidubce.com/rpc/2.0/aasr/v1/create | 普通话(近场语音、音视频字幕)、英语 | 适用于音视频字幕生产、批量录音质检、会议内容总结、录音内容分析等场景。 |
快速开始
使用前请参考API Key认证鉴权 获取 API Key ,用于语音识别服务的认证鉴权。
短语音识别
对于短语音识别及极速版,本地语音文件可进行 base64 编码后放在 "speech" 参数内。以下为使用curl请求接口的示例:
Plain Text
1curl --location --request POST 'http://vop.baidu.com/server_api' \
2--header 'Authorization: Bearer bce-v3/ALTAK-*********/614fb**********' \
3--header 'Content-Type: application/json' \
4--data-raw '{
5 "format":"pcm", ##输入音频的格式
6 "rate":16000, ##采样率
7 "dev_pid":1537, ##识别模型id,1537为普通话
8 "channel":1, ##固定填入1
9 "cuid":"baidu_workshop", ##自定义用户id
10 "len":129600, ##音频文件字节数
11 "speech":"Base64data" ##base64编码后的音频文件
12 }'
短语音识别极速版
Plain Text
1curl --location --request POST 'https://vop.baidu.com/pro_api' \
2--header 'Authorization: Bearer bce-v3/ALTAK-*********/614fb**********' \
3--header 'Content-Type: application/json' \
4--data-raw '{
5 "format":"pcm", ##输入音频的格式
6 "rate":16000, ##采样率
7 "dev_pid":80001, ##识别模型id,80001为极速版
8 "channel":1, ##固定填入1
9 "cuid":"baidu_workshop", ##自定义用户id
10 "len":129600, ##音频文件字节数
11 "speech":"Base64data" ##base64编码后的音频文件
12 }'
微信小程序录音参数设置
目前短语音识别的普通版、极速版均支持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 |
音频文件转写
对于音频文件转写,由于待转写的音频文件通常较大,需要通过公网可访问的url链接的方式输入音频。以下为使用curl请求接口的示例:
Plain Text
1curl --location --request POST 'https://aip.baidubce.com/rpc/2.0/aasr/v1/create' \
2--header 'Authorization: Bearer bce-v3/ALTAK-*********/614fb**********' \
3--header 'Content-Type: application/json' \
4--data-raw '{
5 "speech_url": "https://platform.bj.bcebos.com/sdk%2Fasr%2Fasr_doc%2Fdoc_download_files%2F16k.pcm", ##音频文件的url
6 "format": "pcm", ##文件格式
7 "pid": 80001, ##识别模型id,80001为中文语音近场识别模型
8 "rate": 16000 ##采样率,固定填入16000
9}'
音频文件转写为异步接口,发送转写请求后,需要通过结果查询接口查询当前状态和获取最终的转写结果。结果查询接口的调用示例如下:
Plain Text
1curl --location --request POST 'https://aip.baidubce.com/rpc/2.0/aasr/v1/query' \
2--header 'Authorization: Bearer bce-v3/ALTAK-*********/614fb**********' \
3--header 'Content-Type: application/json' \
4--data-raw '{
5 "task_ids": ["67d3d62f9039849d01b6ed03"] ##调用转写请求接口时返回的任务id
6}'