电话机器人智能语音机器人之:语音识别,让电脑听懂人说话

通过pyaudio,已经可以将人说的话保存成声音文件。
但是,我们还需要计算机可以听懂人说的话,并执行相应的命令。
在计算机科学里,这被称为“语音识别技术”,语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。

通俗一点,可以把语音识别理解成2步。
1
把语音识别成文字
难点是发音不标准、方言、多音字、多音词等等。
理解话的意思
难点是语境、语气、上下文等等。

比如下面的例子:

语音识别是一门非常复杂的交叉学科。近三十年来,语音识别技术取得显著进步,开始从实验室走向市场。其中涉及到非常多的数学知识,有兴趣的话可以看一看吴军的《数学之美》


当然,我们使用Python来实现一个基于语音识别的智能语音机器人,肯定不需要自己完全搞懂语音识别的复杂原理,自己从底层去实现一边。因为互联网上,已经有好多免费开放的语音识别接口,我们直接使用就可以了。

接下来,就介绍如何使用百度AI的“语音识别”接口将人说的话识别成文字。
创建语音识别应用

1.进入百度AI开放平台-->控制台。(提示:需要有百度账号)

2.进入“语音技术”,创建应用

3.管理应用,得到AppID、API Key 、 Secret Key这3个值
安装百度AI Python包

百度AI的Python包安装非常简单。
只需要在“命令提示符”里输入 "pip install baidu-aip"就可以了。

提示:需要先设置好环境变量,才可以直接在“命令提示符”里执行pip程序,如何设置环境变量可以看上一篇。
使用百度aip进行语音识别

安装百度AI的Python包之后,将语音识别为文字就非常非常简单了。

首先使用 from aip import AipSpeech引入需要使用的语音识别模块。

函数audio_2_txt(file)只有一个参数,就是需要识别的语音文件的路径。

函数内前3行需要填写前面在百度AI开放平台创建的应用的AppID、API Key 、 Secret Key。
第5行就是创建了一个客户端。

接下来,open语音文件,调用 client的asr函数对语音文件进行识别。这个函数的后3个参数也非常好理解。
第一个参数指明需要识别的文件是一个wav文件。
第二个参数指明语音文件里的声音采样频率是16000
第三个参数指明语音是用中文说的。

from aip import AipSpeech

def audio_2_txt(file):
appID = ‘’ #填写自己的App ID
appKey = ‘’ # 填写自己的 API Key
appSecret = ‘’ # 填写自己的 Secret Key
client = AipSpeech(appID, appKey, appSecret)

with open(file,'rb') as fp:
    result = client.asr(fp.read(),'wav',16000,{'lan':'zh',})

print(result)
return result
audio_2_txt(‘C:\temp\mysong.wav’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值