现在反倒自然语言处理的API比较多,各大厂都有。能快速处理语音命令词(关灯,开灯,左转,右转,停止)的并不多,都默认按照自然语言处理的,这会带来两个问题: 1是识别速度慢 2.准确度不够高。
语音命令词识别的方案有:讯飞在线离线语音命令词识别,还有一个方案是基于TensorFlow的机器学习。后者不需要费用,但是需要训练(所谓训练不是像宠物一样,每个宠物都需要训练一遍,而一次训练生成模板后,所有的设备上都可以使用)。
TensorFlow语音命令词识别
在这个文章中有相应的介绍,会让你在自己的电脑上基于Google搜集的语音命令词语音(wav文件)进行训练,大概需要几个小时模板文件就能创建了,可以识别测试。我按照这些步骤都走通了。在测试时基本也能识别,但是似乎有一个问题,识别速度比较慢,大概需要2秒中能给出答案,这让我感觉不是太好。不过最终没有放弃,准备试试Google做的Android系统的Demo(TF Speech)直接用来测试。
这里测试的速度基本达到预期了,话音刚落就识别出来了。
注:没有下载到编译好的,只得自己编译,我把我编译好的上传,方便各位测试。
下载地址:https://download.csdn.net/download/kangear/10626585
如果需要自行编译,可以按照https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android#prebuilt-components步骤,需要把build.gradle改一点就可以编译通过了:
def nativeBuildSystem = 'none'1
…