人工智能
十一月份,得到了一个树莓派开发板,可以研究基于树莓派的语音识别等等人工智能项目,人工智能是最近比较火的,所以让我们看看到底这个小玩意可以干点什么!
购买的链接如下:树莓派,此外,还购买了16G内存卡一张,PS3Playstation3EYE麦克风一个用于语音识别,基本的东西就是这些。
系统方面,首先采用的是百度的DuerOSRaspberry系统,方便与接下来用的PythonSDK相结合,GitHub地址如下:DuerOS-Python-Client
接下来就是激动人心的首次唤醒了,唤醒之前,还要进行一些环境包的配置
开始1.停止现有小度功能,因为会占用MIC资源2.安装依赖包3.下载编译好的openssl和Python安装包,进行安装。4.下载PythonSDK和参考示例代码运行和测试1.授权授权回调页设置1.唤醒加识别2.enter按键触发识别唤醒以及基本测试1.基本测试2.唤醒词修改登陆创建自定义的唤醒词下载唤醒模型下载snowboypython接口代码Clonesnowboy接口代码生成平台代码获得snowboypython接口组件3PythonDuerOSSDK代码更新PythonDuerOS中的app/snowboy目录内容更新修改app/snowboy/snowboydecoder.py[1]修改_init_()函数[2]添加feed_data()方法[3]修改terminate()方法修改app/wakeup_trigger_main.py注意事项视频展示系列教程开始1.停止现有小度功能,因为会占用MIC资源sudosystemctldisableduersudosystemctlstopduer2.安装依赖包sudoapt-getinstallpython-dateutilsudoapt-getinstallgir1.2-gstreamer-1.0sudoapt-getinstallpython-pyaudiosudoapt-getinstalllibatlas-base-devsudoapt-getinstallpython-devsudopipinstalltornadosudopipinstallhyperhyper库用来支持http2.0client,pyaudio用来支持录音,tornado用来完成oauth认证。
3.下载编译好的openssl和Python安装包,进行安装。openssl安装包密码:ydkmpython2.7.14安装包密码:spr8
sudotar-zxvfopenssl1.1.tar.gz-C/usrsudotar-zxvfpython2.7.14.tar.gz-C/usr/local/sudorm-rf/usr/bin/pythonsudoln-s/usr/local/python2.7.14/bin/python/usr/bin/python4.下载PythonSDK和参考示例代码gitclonehttps://github.com/MyDuerOS/DuerOS-Python-Client.gitcdDuerOS-Python-Clientgitcheckoutraspberry-dev运行和测试1.授权./auth.sh直接运行使用默认的client_id和client_secret,开发者可以替换成自己在DuerOS开放平台申请的client_id和client_secret,进而实现在控制台自定义的配置属性。
app/auth.py
其中,需要在开放平台中“安全设置”的“授权回调页”,设置成
http://127.0.0.1:3000/authresponse授权回调页设置1.唤醒加识别./wakeup_trigger_start.sh2.enter按键触发识别./enter_trigger_start.sh唤醒以及基本测试接下来就是第一次唤醒了,演示视频如下:
1.基本测试测试一些基本功能,包括系统画像和聊天功能
2.唤醒词修改接下来进行唤醒词的修改,你可以将唤醒词改为大白,或者像我一样改为Jarvis,很酷,不是吗?
首先,我们需要训练自己的唤醒词,训练的语料越多,识别准确率也就越高。选择在snowboy平台训练自己的唤醒词先附上snowboy的官方地址:snowboy
登陆创建自定义的唤醒词下载唤醒模型在线训练完成后,下载训练模型(本例中我的训练唤醒词为“小白”)
下载的模型为”小白.pmdl”
下载snowboypython接口代码snowboyGitHub地址:snowboyGitHub
Clonesnowboy接口代码gitclonehttps://github.com/Kitt-AI/snowboy.git生成平台代码在snowboy/swig/Python目录执行“make”命令,
获得snowboypython接口组件将snowboy/examples目录下的Python目录更名为snowboy
3PythonDuerOSSDK代码更新有了上面的定制唤醒模型(小白.pmdl)和snowboypython接口组件,下面就可以更新PythonDuerOSSDK的代码了。
PythonDuerOS中的app/snowboy目录内容更新先删除PythonDuerOS中的app/snowboy文件夹,然后再将步骤2中生成的snowboy文件夹拷贝到app/目录下,然后,将训练好的唤醒模型(小白.pmdl)拷贝到app/snowboy目录中。
修改app/snowboy/snowboydecoder.py[1]修改_init_()函数注释掉self.audio和self.stream_in
[2]添加feed_data()方法[3]修改terminate()方法修改app/wakeup_trigger_main.py在main()方法中更新唤醒模型,
注意事项经过上面的步骤,我们便能够更新成自己喜欢的唤醒词。但我们自定义的唤醒词还不是完美的。在测试中会发现唤醒率并不高。根本的原因在于我们自定义的唤醒词,训练语料条太少了(可能只有1组,3条)。要达到一个很好的唤醒率,需要进行大量丰富的语音样本训练才行。
视频展示唤醒词更改测试
系列教程