前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python在线语音识别速成案例 | 手把手快速尝鲜百度语音技术SDK包 | 机器语音

Python在线语音识别速成案例 | 手把手快速尝鲜百度语音技术SDK包 | 机器语音

作者头像
用户7623498
发布2020-08-04 15:57:21
2.2K0
发布2020-08-04 15:57:21
举报

对于语音识别初学者来说,通过简单案例快速上手,不仅能够快速了解语音识别等实际应用模式,对枯燥无味的学习中提升兴趣值也大有帮助。百度语音提供了语音识别、语音合成和语音唤醒等产品的SDK免费资源,是面向广大开发者永久免费的开放语音技术平台,且简单易用,可以作为学习之余练手的好去处。

本文以在线语音识别为例,基于Python开发环境,尝试介绍一下如何使用百度语音识别资源。

步骤1:注册百度开发者身份

进入百度语音(http://yuyin.baidu.com/)页面,首先注册百度语音账号,或者用百度账号登录,进入系统后,点击右上角“应用管理”,填入相关信息,注册成为百度开发者。

步骤2:创建应用

同样点击“应用管理”页面,进入后点击“创建新应用”,可以理解为新建了一个自己的工程Project,创建过程中的信息可以按需填写,影响不大。

创建完成后有一个叫“查看key”的按钮,这个key中包含了App ID、API Key、Secret Key几个关键信息,这些信息就像是该应用的身份证,是与百度语音云端交互的唯一身份标识,用txt文件记下,后面Python代码调用时需要用到。

步骤3:开通应用服务

点击应用卡片上的“开通服务”,选择该应用的服务,我们这里做语音识别就选择“语音识别”, “语音识别” 服务开通成功后即可获得 50000次/日 的在线识别调用配额(有一种地上捡到钱的赶脚)。

步骤4:下载SDK包并安装

服务开通过程中,会跳出SDK包的下载通道,可以现在下载SDK包,也可以到“SDK下载”页面中,在语音识别服务的“RestApi SDK下载”中,选择相应语言版本的SDK包进行下载,我们这里基于Python语言,因此下载Python的SDK包,目前版本是“aip-python-sdk-2.0.0”,包里提供了setup.py文件,可在python环境下,cd到该文件夹下用python setup.py install进行安装(官网也提供了pip安装方式,但不知什么原因pip找不到)。

步骤5:语音文件准备

目前,百度语音识别支持pcm、wav、amr三种语音文件格式(实际wav和amr都会在云端被转换成pcm),录音文件时长不超过60s,文件大小不超过10MB。可支持的语言包括普通话、英语、粤语、四川话。

我们可以自己录制一段语音,利用format factory等软件转成上述三种文件格式,但后面测试效果不是太好,会报错提示语音质量不高,这点可能是百度语音需要持续改进的地方。为了快速满足好奇心,可利用官方提供的测试文件,具体下载位置为http://ai.baidu.com/docs#/ASR-API/top ,在其中找到“16k采样率pcm文件样例下载”、“16k 采样率wav文件样例下载”、“ 16k采样率amr文件样例下载”进行下载。

步骤6:执行代码

到这里,所有准备工作就完了,下面进入正题,python代码编写阶段。在“SDK下载”页面中,虽然提供了“语音REST API示例代码”,但里面目前只提供了bash-shell、java、linux-c、php等语言的代码,并没有提供python代码。

(1)新建AipSpeech

AipSpeech是语音识别的Python SDK客户端,为使用语音识别的开发人员提供了一系列的交互方法,这里选择默认配置即可。实现代码如下:

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)

这里,步骤2中的“查看key”就派上用场了。

(2)语音识别

语音识别的工作逻辑非常简单,从本地读取待识别语音样本数据后上传到云端服务器,声学模型和语言模型都架在云端(这是语音识别的核心竞争力),分析后将结果返回到本地。实现代码如下:

# 读取文件

def get_file_content(filePath):

with open(filePath, 'rb') as fp:

return fp.read()

# 识别本地文件

client.asr(get_file_content(' 16k.pcm'), 'pcm', 16000, {

'dev_pid': '1536',})

其中,client.asr()函数第一位是文件地址,我们用的样本是“16k采样率pcm文件样例下载”的样本;第二位是样本文件格式;第三位是样本文件采样率;第四位是样本文件的语言类型,这里是普通话。

(3)返回结果

{'corpus_no': '6553433148693781449',

'err_msg': 'success.',

'err_no': 0,

'result': ['北京科技馆,'],

'sn': '44754269321525840058'}

运行结束,返回识别结果“北京科技馆”,存储在result变量中。

结束语

以上就是在线语音识别的案例,希望通过这篇的阐述,能够给大家一个直接的练手案例,节省大家寻找案例的时间。同时,百度语音还有其它很多案例可用,如果想快速成为一个语音技术开发工程师,可以尝试花一点时间跑一跑程序,快速入门。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 决策智能与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档