社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

只需三步,菜鸟也能用Python做一个简易版Siri

菜鸟学Python • 5 年前 • 345 次点击  


当下,各个手机厂商都陆续的推出了属于自己的智能手机机器人,像是苹果的Siri,小米的小爱,还有等等。这些智能机器人不仅仅方便了我们对于手机的使用,更能和我们实现交流的功能,如此吸引人的机器人,我们为何不用python来实现一下。


今天小编就带领大家实现一个简易版的Siri,实现与我们交互的功能,我们只需要输入语音,程序就会生成回答播放出来。


那么,想要实现它要分为几个步骤呢?

  • 程序得识别我们说的话

  • 程序得把我们的话送给智能机器人,然后返回机器人的回答

  • 程序需要将机器人的回答转换成语音播放出来


整个项目的思路如下:




这样的三步下来,便可以实现一个Siri了。那么上述复杂的步骤如何实现呢,其实早就有开发平台帮助我们实现了,我们只需要利用python调用其接口,或者是爬取他们返回的数据即可。


01.

利用百度的语音API


上述的第一步和第三步小编采用的事百度AI开发者平台提供的接口,大家只需要点击下面的网址:

https://ai.baidu.com/tech/speech/asr

分别点击语音识别和语音合成,然后分别创建应用即可分别创建应用,并得到对应的应用ID、APP Key和Secret Key。如下图所示:



创建上述两个应用之后,便可以调用其python接口,然后分别识别我们说的话,并将文字合成为语音。部分核心代码如下所示:


第一步和第三步完成后,那第二步又要如何处理呢?



02. 

寻找智能机器人


这里,小编为大家找到了两个智能机器人的链接。分别是机器人小i和青云客智能机器人。他们的链接分别如下:

小i:http://i.xiaoi.com/

青云客:http://api.qingyunke.com/

小i机器人是一个网页聊天机器人,它的智能程度较高,但是有时链接会打不开,而且没有提供开放接口,需要自己爬取;青云客的机器人虽然智能程度稍低,但是提供了良好的接口。小编已经都为大家制作好了接口,大家只需要调用对应的函数即可。


小编为了大家的直观体验,选择以小i为例,给大家介绍一下,如何获取小i返回的对话文字。


1).首先,大家在开发者模式下找到Network,当我们与小i交流时,可以看到对应的信息不断的变化,如下图所示:


2).接着,通过点击该文件,我们可以看到其请求的url,并从蓝色的框里看到我们请求的数据。接下来我们利用requests库来模拟浏览器请求数据即可。部分代码如下图所示:


3).然后,便是将小i的回复合成语音,然后播放给我们。这里的语音合成,通过上面的介绍可以知道,也是利用的百度的语音合成API。部分程序如下图所示。

这里需要注意的是,语音播放采用的是pyaudio函数库,而pyaudio不能够处理mp3文件,因此需要利用pydub函数库,将mp3文件转换成wav文件播放即可。


4).最后大功告成,利用pyaudio库来把获取的机器人的回复,播放语音




经过上面三个步骤的介绍,想必大家也对最终的成果迫不及待了吧,那么下面小编就为大家进行一下成果展示。

(建议放大音量听一下)


Python还是很有趣,上面的思路和核心的代码已经展示给大家了,有兴趣的可以去动手操作一下,看千边读万遍,不然自己动手敲一边! 


目前Python领域最有趣也是最火的就是AI相关的岗位,如果想从小白开始学Python+AI,现在CSDN有一个非常火爆的活动还送限量的漫威键盘(仅限500张!价值近万Python+AI课程现0.8折,还送漫威键盘套装)。


近期热门:

仅限500张!价值近万Python+AI课程现0.8折,还送漫威键盘套装


菜鸟必收藏,13个Python惯用小技巧

高手心得|菜鸟学Python从入门到进阶




学习群:

小密圈人气很高的两个实战项目

小密圈的趣味实战-微信主题

3个月还没入门Python,看这100名小密圈的同学3周学Python的杰作


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37584
 
345 次点击