400-616-5551

您所在位置: 首页> 学习课程> python培训班 | Python调用百度API实现语音识别

python培训班 | Python调用百度API实现语音识别

发布百知教育 来源:学习课程 2019-12-04

前言


上一篇文章里,大致介绍了百度官方 api 的一些前置准备工作。


想回顾的同学,可以看完本篇在下面找到历史链接。


今天就来上手实战编码,体验一下代码实现以及编程中遇到的坑。


环境准备


开始之前,安装百度语音 sdk ,Python 版。


pip install baidu-aip



python培训



环境很简单,就这一步,完成即可编码。



代码撸起


直接拷贝官方提供的代码,就行了,改点参数,上篇文章介绍百度官方申请到的 key 之类的信息自行填入:


from aip import AipSpeech
""" 你的 APPID AK SK """APP_ID = '你的 App ID'API_KEY = '你的 Api Key'SECRET_KEY = '你的 Secret Key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
# 读取文件def get_file_content(file_path):    with open(file_path, 'rb') as fp:        return fp.read()# 识别本地文件result = client.asr(get_file_content('disco.wav'), 'wav', 16000, {    'dev_pid': 1537,  # 默认1537(普通话 输入法模型),dev_pid参数见本节开头的表格})



脚本同级目录下,把上次解析的 野狼disco.mp3 改下后缀,变成 wav 格式的,上传。注意下 dev_pid,这里贴出官方参数,用 1537 即可。




python培训




看下百度封装好的源码,我们最终以什么样的形式来接受数据。


封装请求的代码是 client.asr ,下面逐步来看下它。

1. asr 函数



python培训


进来可以看到,有几个默认参数,格式默认 pcm 音频后缀,采样率默认 16000。然后最终封装成 data 字典的形式传入到 _requests() 里,这里有个 __asUrl 变量,即百度请求的 api 地址。


python培训班



2. _requests 函数


python培训班


不论最终走到哪里,反正返回的 obj 对象都是经过 _proccessResult函数进行处理返回的。而传进的参数则是 requests 库请求后返回的结果。


3. _proccessResult 函数


python培训


根据 sys.version_info.major 进行不同的 Python 版本号判断,进行不同的 json 解析,如果是 2,则不用对内容进行解码。




源码看到这里,所以了解最终返回的是什么类型了吗。。

json.loads,在之前小课堂 json 篇中说过,返回的是 dict 类型。

运行下代码:


python培训


哎,返回了 3301 ,错误信息写着,音频质量错误,查阅下官方文档:


python培训



python培训班:http://www.baizhiedu.com/python2019


注释:本文内容来自公众号咪哥杂谈




上一篇:python培训 | Python操作Word的入门教程

下一篇:java培训班 | SOLID 设计原则,Java实例讲解

相关推荐

关闭

立即申请

www.baizhiedu.com