||
需要的机器人具有能语言交流的能力,其实并不难,很多方案可以做到,最简单的方法就是直接购买语音识别芯片,语音芯片输入语音信号,通过串口就直接输出了文本,然后又根据文本内容传输给语音合成芯片,合成语音,简单粗暴。再有就是语音库离线处理了,这样处理识别的文字定然不多,需要事先将文本特征保存下来,很多嵌入式端的简单语音控制应该就是这么处理的了,但是我们需要更加智能的方案那就是云处理了,大名鼎鼎的“贤二”机器人和“Google home”估计就是这么处理的,如果想让我们的机器人也具有这样的功能,我们也可以通过云运算来处理,自己来做云运算这个太过复杂,好在现在很多公司都拥共享云语音库,Google,讯飞,百度等等的。
那就需要分析对比上面的语音识别库了,首先是Google,这个可以免费试用一段时间,需要用绑定信用卡,而且要保证系统可以连接访问Google,好吧,就凭这点可以不予考虑了,详细的功能我就没去了解了。接下来是百度和讯飞,讯飞老早开始做语音识别了,目前实测效果也是要好于百度的,具有语音识别,语音合成,语音唤醒,语音测评,语义理解,AIUI等等功能,多平台支持包括Linux,这也就意味着在嵌入式机器人上使用成为了可能,最近也有了麦克风阵列声音定位技术,这个为以后机器人的听音判断位置提供了技术支持,这个ST也有语音库支持。其中的AIUI是直接的语音交互开发版,买来就可以直接实现使用。反观百度,目前只支持android和IOS,只有语音识别,语音合成和语音唤醒功能。
语音合成这个好理解,就是将文本变成语音,很多低成本的语音芯片就能做到,但是这个里面包含很多问题,比如数字与电话号码读法处理,中英混合处理,多音字处理,音调处理等等的,不过好在我们对语音的合成要求不是很大,萌萌哒且机械的声音也有不少人喜欢。
接下来分析下语音识别和唤醒的特点,语音识别是将所有输入的语音全部给转换为文本,可以手动截断,也可以语音停顿截断,这样出来的文本就会很长,如何从这么长的文本中提取有用的信息,而且需要语义判断,情感分析等等的就成了一个很复杂的问题了,当然处理的好的话那就很炫酷了,比如小度机器人,sire,贤二机器人,Google home。唤醒功能就相对简单了,预先将词汇信息保存,词汇一般是3到5个音节,一直开启接收语音信息,一旦出现对应的词汇就触发响应,语音唤醒是用来唤醒机器的,但是个人觉得这样的特性适合做简单的智能家居,比如“楼上开灯”,如果是采用语音识别的话很难保证前后不出现其他的词语,增加了信息提取的难度,但是唤醒就不同了,直接就将信息提取出来了。
要做成贤二和Google home那样太难了,因此想简单的体验下智能家居选用语音唤醒就好,其中百度免费,讯飞收费。