使用百度API实现语音转文字_住在明天的春天的博客-优快云博客_语音转文字api
1.在百度云创建一个语音产品
百度云
在->产品->人工智能->语音技术(选择任何一个创建一个功能包)
也可参考百度开发者教程
创建完成之后你将在你的全局,产品服务中看到自己的语音技术
其中包括
应用名称
AppID
API Key
Secret Key
还有创建时间·····
其中AppId、API Key、Secret Key都很关键这是,在后面接入百度API的凭证,我将在后面标注出来。
2.参考百度官方文档
1)语音转文字(即语音识别)的功能实现
首先,语音识别对音频格式及时长有一定要求,可使用开源的音频格式转换及VAD切分工具。便于进行音频处理。拼音相似度工具可以通过比较拼音相似度,解决同音字问题。
目前,SDK调用使用http接口,需要上传完整文件。根据接口内容:
支持的语音格式
原始 PCM 的录音参数必须符合 16k 采样率、16bit 位深、单声道,支持的格式有:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)
支持的语音时长上限为60s,请不要超过这个长度,否则会返回错误。
1、安装语音识别 Python SDK
如果已安装pip,执行pip install baidu-aip即可。
如果已安装setuptools,执行python setup.py install即可。
2、使用百度接口:
向远程服务上传整段语音进行识别
#文档示例代码:
# 读取文件
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
# 识别本地文件
client.asr(get_file_content('audio.pcm'), 'pcm', 16000, {
'dev_pid': 1536,
})
10
参考文档参数:
speech Buffer 建立包含语音内容的Buffer对象, 语音文件的格式,pcm 或者 wav 或者 amr。不区分大小写
format String 语音文件的格式,pcm 或者 wav 或者 amr。不区分大小写。推荐pcm文件
rate int 采样率,16000,固定值
cuid String 用户唯一标识,用来区分用户,填写机器 MAC 地址或 IMEI 码,长度为60以内
dev_pid Int 不填写lan参数生效,都不填写,默认1537(普通话 输入法模型),dev_pid参数见本节开头的表格
dev_pid参数列表
dev_pid 语言 模型 是否有标点 备注
1536 普通话(支持简单的英文识别) 搜索模型 无标点 支持自定义词库
1537 普通话(纯中文识别) 输入法模型 有标点 支持自定义词库
1737 英语 无标点 不支持自定义词库
1637 粤语 有标点 不支持自定义词库
1837 四川话 有标点 不支持自定义词库
1936 普通话远场 远场模型 有标点 不支持
成功返回样例:
{"corpus_no":"6798493061260544840","err_msg":"success.",
"err_no":0,
"result":["百度是瓜皮。"],"sn":"666502245331582897515"}
1
2
3
错误信息参考:
错误码 用户输入/服务端 含义 一般解决方法
3300 用户输入错误 输入参数不正确 请仔细核对文档及参照demo,核对输入参数
3301 用户输入错误 音频质量过差 请上传清晰的音频
3302 用户输入错误 鉴权失败 token字段校验失败。请使用正确的API_KEY 和 SECRET_KEY生成。或QPS、调用量超出限额。或音频采样率不正确(可尝试更换为16k采样率)。
3303 服务端问题 语音服务器后端问题 请将api返回结果反馈至论坛或者QQ群
3304 &n

最低0.47元/天 解锁文章
2653

被折叠的 条评论
为什么被折叠?



