10行Python代码实现语音识别

语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。在实际当中,语音识别技术有着广泛的应用。本文向大家讲解如何方便地调用百度AI开放平台提供的API方便地实现语音识别技术。

要调用百度AI开放平台的API,首先需要一个百度账号。我想注册百度账号的过程应该不用向大家详细介绍了,大家应该在这边都是没啥问题的。需要注意的是,百度账号的安全性挺差的,不知为啥本人的账号开通了异地登录保护也经常被盗,贴吧账号也因被人盗号发广告被永封了,申诉也没用_(¦3」∠)_。建议大家把密码设置的复杂一些,不要把保密的文件放在百度云上,防止未来发生账号安全事件。

在注册了百度账号后,需要登录百度云(注意不是百度云盘)。在以下网址登录:

https://login.bce.baidu.com/

登录并填写个人信息后,可以看到这样的控制台:

向下拉动页面,可以看到“已开通服务”这一栏,选择其中的“百度语音”:

这样便进入了语音识别的应用列表。在控制台中,我们可以创建语音识别应用或对已有的应用进行管理。在这里,我们点击“创建应用”:

这里的名称、类型、接口选择、描述可以根据自己的需要进行设置,语音报名如果只是在PC端调用,可以选择“不需要。”

创建应用完成后,我们可以对应用进行管理。进入管理页面,可以看到应用对应的 “AppID”、“API Key”与“Secret Key”,这些就是你的Python代码调用百度云接口的凭证。

创建了应用,我们便可以调用API实现语音识别了。相关的文档在这个网址:

http://ai.baidu.com/docs#/ASR-API/top

文档中对于使用不同编程语言的调用方法做了详细说明。在这里,我们主要关注Python的实现方法。

使用Python调用该接口之前,需要安装一个外部库,即直接在终端或cmd窗口中输入:

接下来进行进行客户端的创建,在Python编辑器中输入以下语句:

其中,“AppID”、“API Key”与“Secret Key”都可以从我们刚刚创建的应用中得到。这几行代码便实现了一个可以与百度AI开放平台交互的客户端。

接下来进行文件的读取,这部分使用Python基础的IO操作:

接下来,便是惊心动魄的语音识别过程了:

在这里,我们提前录制了一个语音文件“demo.wav”并放在当前Python文件的同一目录下。client.asr(get_file_content ('demo.wav'), 'wav', 16000, {'dev_pid': 1536, })这一行代码实现了具体的语音识别过程,其中,get_file_content('demo.wav') 表示 “demo.wav” 中的内容,'wav'表示文件类型,16000表示采样率,{'dev_pid': 1536, }表示识别类型为普通话。下面的print(result['result'][0])可以实现识别结果的输出。

所有的代码展示如下:

除去注释一共十行,可以说非常方便耐用了。百度云提供的语音识别接口没有调用量限制,可以永久不限量调用。但是这个API也有一些缺点,比如待识别的录音需要上传完整的录音文件,并且录音文件时长不超过60s;此外,对单个应用的每秒查询率也有一定限制。但是,这一切都是免费的O(∩_∩)O。这么好的撸大厂羊毛的机会,为什么不来试试呢?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180806G1FJFL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券