Python3从零开始搭建一个语音对话机器人

 智能机器人     |      2019-04-19 18:36

  最近在研究语音识别方向,看了很多的语音识别的资料和文章,了解了一下语音识别的前世今生,其中包含了很多算法的演变,目前来说最流行的语音识别算法主要是依赖于深度学习的神经网络算法,其中RNN扮演了非常重要的作用,深度学习的应用真正让语音识别达到了商用级别。然后我想动手自己做一个语音识别系统,从GitHub上下载了两个流行的开源项目MASR和ASRT来进行复现,发现语音识别的效果没有写的那么好,其中如果要从零来训练自己的语言模型势必会非常耗时。

  因此,就有了一个新的想●法,借助一些开源的语音识别SDK来实现语音•☆■▲识别,来看看他们语音识别的效果如何。于是想到了百度和科大讯飞,然后就百度了一下,百度搜索举贤不避亲的给我推荐了百度AI开放★◇▽▼•平台!然后查看了百度语音识别的技术文档,发现对python的支持非常友好,而科大讯飞好像没有提供对pyth▷•●on的接口支持,因而选定了百度。

  虽然百度目前槽点很多,但是不得不说百度在AI方面的投入和开放是值得点赞的!百度的AI开放平台确实为开发者们带来很多的便利性,开放了非常多的AI服务,大家自行去注册使用,百度大脑AI开放平台

  经过体验发现百度的语音识别准确率高的吓人,完爆了GitHub上的开源项目N条街,然后在CSDN浏览各位博主的博客时发现,用百度语音识别的API和图灵机器人的API可以做一个实时语音对话的机器人,感觉特别兴奋,从而决定搭建一个自己的语音对话机器人。目前,我已经实现了我的语音对话机器人,因此特意来分享一下整个的实现过程和遇到的坑,让大家可以快速的构建你们的语音对话机器人。好啦,我们开始吧!

  阅读语音识别的技术文档,重点查看API文档和Python SDK,了解如何在python中调用API接口。

  击立即使用:进入到服务界面,创建应用。记住最重要的App ID、API Key、Secret Key,后面调用时需要用到。

  图灵机器人大脑具备强大的中文语义分析能◇…=▲力,可准确理解中文含义并作出回应,是最擅长聊中文的机器人大脑,赋予软硬件产品自然流畅的人机对话能力。图灵机器人是中文语境下智能度最高的“机▲●…△器人大脑”,是全球较为先进的机器人中文语言认知与计算平台,图灵机器人对中文语义理解准确率已达90%,可为智能化软硬件产品提供中文语义分析、自然语言对话、深度问答等人工智能技术服务。——源于百科(好吧,又和百度扯上点关系了。)总之,就是需要你去图灵机器人官网,注册成功后,构建一个属于你的图灵机器人,用于后续将翻译后的文本内容对图灵○▲-•■□机器人提问获取回答,然后我们通过TTS处理就可以获取语音输出了。注册后创建自己的机器人,然后在机器人设置的终端设置中查看自己的

  ,另外一定◇•■★▼要把密钥开关关闭,不然后面在调用api时会报3001错误,无法调用图灵机器人(

  1、首先明确我们要实现的目标,是要实现纯语音对话聊天,不需要输入文字交流。我们实时说,机器人实时回复,真正实现语音交互对线、整个过程的实现流程是这样的,我们说一▼▼▽●▽●句话,通过录音保存为语音文件,然后调用百度API实现语音转文本STT,再然后调用图灵机器▲=○▼人API将文本输入得到•●图灵机器人的回复,最后将回复的文本转成语音输出TTS,就这样我们就实现了和机器人的语音对话了!是不是有点绕,来个流程图吧!3、语音对话机器人的构建具体流程图,就是各种掉API,千万不要觉得头晕哦,思路清晰才能走下去。

  语音生产文件就需要进行录音,将我们说的话保存下来,至于保存的格式我一般都是保存为w△▪▲□△av,其他格式支持pcm,不太建议mp◆■3,因为需要多次转换。【百度服务端会将非pcm格式,转为pcm格式,因此使用wav会有额外的转换耗时,但是windows自带播放器识别不了pcm格式的,所以我还是喜欢用wav格式】

  returnresult07-文字转语音我们得到了图灵机器人的回复之后,就需要把结果转化为语音输出,从而实现语音交互。在python中我们如何将文字转为语音并输出呢?这里就需要用到另一个模块pyttsx3,它会将文字转为语音。

  # 输出语音eng▪▲□◁ine.say(你好,很高兴认识你!)# 合成语音engine.runAndWait使用python进行编程就是有很多好处,比如音频的输出我们就可以采用多▪…□▷▷•种方式,下面提供一种更加简便的音频输出方式:

  经过我的努力,已经将代码优化到了100行左右哦,按照我的步骤来,你就可以快速复现构建你的语音机器人了!

  # 2、音频文件转文字:采用百度的语音识别python-SDK# 导入我们需要的模块名,然后将音频文件发送给出去,返回文字。# 百度语音识别API配置参数APP_ID =your app_id

  speaker.Speak(response)09-结束语至此,我们就构建了一个完整的语音对话机器人,它可以在你无聊、寂寞、有压力、想开心的时候出现在你身边,哄你开心哟!这个机器人太聪明了,你可千万不要被她调戏了!对了,你可以在图灵机器人官网里面进行人物设置,设置☆△◆▲■她的姓名、年龄和星座,我的机器人叫做小橘子,她具有十八般武艺,它能够闲聊、做数字计算、中英互译、讲故事、笑话、脑筋急转弯、歇后语、绕口令、顺口溜、玩成语★△◁◁▽▼接龙游戏,天气和日期查询,功能还是比较强大的!如果开通付费版本就会拥有更多功能哦,可以训练自己的语料库,目前免费版只支持每天◁☆●•○△100次的调用,真真是不够用呀!附带一下◆◁•我和小橘子的聊天视频吧,有心的小伙伴可以做个前端页面哦!优酷视频:

  声明:该文观点仅代表作者本人,搜狐号系信息□◁发布平台,搜狐仅提供信息存储空间服务。

北京pk赛车10官方