有一段时间没更新博客了,这段时间一直在开发机器人的语音功能,目前,功能已经开发差不多了,所以就写个博客记录一下。
我这个语音助手类似于siri或者小冰的功能,你可以跟他对话也可以问他问题,他都能回答你,或者可以自定义一些命令,他识别以后执行特定的操作。他还可以讲中英文还有各种方言,还能把你说的中文翻译成英文并说出来。
功能看似很强大,但核心的东西都是调其他公司的开放接口实现的,我所做的就是把他们这些功能用ROS的框架整合起来,通过定义各种消息来协调不同的功能,最终实现一个语音助手或聊天机器人的功能。因为要调用第三方公司的接口,所以,这个要依赖网络。我也查了一些开源的语音识别库的资料,但效果都不好,比如MCUSphinx,识别率很低,而且中文很慢,也可能是我还不太会用的缘故吧。不管怎么说,要依赖网络和第三方公司接口,总感觉会受限制,不是很理想。如果实用的话,还会有隐私泄漏的问题。讯飞的离线识别模块,只适用商业产品,不适用我这个纯爱好的东西,不过我相信过不了多久就会有效果非常好且免费的离线语音识别供大家使用的。
ROS语音助手我在树莓派上也运行成功了,麦克风选用的是respeaker的一个6麦克的模块,音频输出采用的是音频放大加喇叭的模块,优优机器人主的语音功能基本就这些了,以后再根据需要添加一些自定义语音命令就行了。接下来就可以开始开发机器视觉相关的功能了。贴一张语音助手的ROS消息节点图:
测试视频地址: