首页 > 体育 >

简单编程把你的电脑变成语音聊天机器人

2018-05-23 04:11:36 网络整理 阅读:189 评论:0

如果看现在市场上的机器人,语音聊天都是一问一答式的被动聊天,聊天的同时还可以执行一些命令。所以我们也把自己的电脑打造成这样一个机器人,可以问答聊天,可以执行某些命令。

简单编程把你的电脑变成语音聊天机器人

既然是语音聊天,那么首先要清楚语音接口从哪儿来,知道了这个,其实用哪一种编程语言就在个人选择了。我们的电脑是Windows,那么就调用这个系统下的接口SAPI,这个接口大名鼎鼎,不但提供众所周知的语音合成,还语音识别,语音识别上下文等,所以很符合我们的需求。而我们用的编程语言呢,也很简单,也就是VBS,当然用Python也可以,甚至用Python打造机器人更智能。

当然说到语音识别,其实Windows系统里本身就有语音识别功能,很强大但被很多人忽略了。我们在用编程打造语音聊天机器人的时候,可别提前启动系统里的语音识别功能!系统里的语音识别强大,但只是识别,并不是聊天,所以我们要自己写代码实现。

实现这个有两个问题,一如何让电脑识别你的声音,二如何让电脑自己开口说话回应。第二个问题很简单,核心一行代码就能实现:set wsobj=CreateObject("SAPI.SpVoice").speak “你要说的话”,而第一个问题,如何让电脑识别你的声音,并处理,有点麻烦,其实还是用SAPI,同样还是CreateObject创造识别对象Set SR = WScript.CreateObject("SAPI.SpSharedRecoContext", "RecoContext_"),然后Set Grammar = SR.CreateGrammar,不过有一点要注意的是,还要新建一个定义简单的语法的XML文件让语音识别对象来调用,最后就是识别并获取文本并分析了。

分析回答,又可以写出一大系列的代码,我们不考虑调用网上商用的或开源的聊天机器人API,自己写代码就可以。虽然无法和商业化成熟的接口相比,但自己编写的函数显然更自由更个性一点。当然一人HK的意思是编程语言不仅可以用VBS,这里只是考虑到VBS是Windows自带的,而且新建一个文本写好改后缀为vbs就能实现,简单太多了。用其他编程语言也可以,但往往需要搭建编程环境,不管用哪种,只要能CreateObject调用SAPI就行,后者一般系统里都自带。

相关文章