转载自菜鸟学Python(cainiao_xueyuan)
最近和中科院的同学吃饭的时候,他偶然讲到他最新的项目,就是利用语音识别技术和聊天机器人来实现人机交互。简单来说就是我们说话,程序识别我们说的话,然后通过聊天机器人和我们交流。我觉得很有意思,就简单实现一下,向大家学习一下。
01.
使用模块
本项目主要用到了三个主要模块,分别是:
对三个主要模块简单介绍完了之后,我们再来看看程序的设计流程。
首先使用speech_recognition录制语音,流程如下:
在上面的程序中,我们首先调用电脑的麦克风,然后获取音频数据并将我们的数据保存到根目录下的recording.wav文件中。运行完上面的程序后,我们只需要保证我们的电脑麦克风正常工作,就可以实现录音功能了。但请注意,录音是有时间限制的,我们需要尽可能快地做出反应,否则就录不下大家的美妙声音了。
在录制好我们的音频数据之后,接下来就是调用百度的语音识别API了。我们首先需要在百度语音技术开发平台上创建一个语音识别应用。链接如下:
#/ai/speech/app/create
创建完成后我们会得到对应的AppID、API Key和Secret Key。如下图所示:
02.
执行语音识别
接下来我们按照平台提供的教程来实现语音识别并转换成文字返回给我们,程序如下图所示。
该平台不仅支持普通话识别,还支持英语、粤语和四川话的识别语音通话软件,英语我试了一下,效果很不错,至于粤语和四川话,我实在不认识,所以就没有试,有兴趣的可以自己试一下。
下面的链接给出了该平台的Python接口函数,您可以参考详细的参数。
#/ASR-Online-Python-SDK/顶部
03.
智能聊天
最后我们用智能机器人来聊天,为了给大家打造最好最方便的聊天程序和聊天环境,小编为大家精心对比了三款在线聊天机器人,分别是图灵机器人、小i机器人以及青云客提供的在线机器人接口。其中图灵机器人的效果应该是最好的,但是需要花钱,而且小i机器人的连接时断时续,所以小编选择了青云客提供的在线机器人,效果也很不错。这部分的程序如下图所示。
最后小编将三个程序块组合在一起语音通话软件,得到了如下的测试结果。
感觉很神奇,不是吗?我根本不需要打字,只要说话就能和机器人互动,真是太棒了。另外,我把整个程序写成了类的形式,非常方便大家理解和阅读。你只需要在 DOS 下运行这个程序,有点像黑客帝国。我们赶紧学起来吧。
- 数据城堡 -