当前Python版本的DuerOS只能通过[小度小度]进行唤醒。论坛里和群里很多同学问:“那如果我想通过[大白大白],[叮当叮当]或者[你好]这样的自定义唤醒词来唤醒DuerOS改怎么做呢?”
自定义唤醒词其实超简单,下面我们就一步一步的来更换唤醒词。
1 在snowboy平台训练自己的唤醒词
先附上snowboy的官方地址:https://snowboy.kitt.ai/
登陆
登陆入口创建自定义的唤醒词
自定义唤醒词创建下载唤醒模型
在线训练完成后,下载训练模型(本例中我的训练唤醒词为“小白”)
唤醒模型下载下载的模型为"小白.pmdl"
2 下载snowboy python接口代码
snowboy GitHub地址: https://github.com/Kitt-AI/snowboy
Clone snowboy接口代码
git clone https://github.com/Kitt-AI/snowboy.git
生成平台代码
在snowboy/swig/Python目录执行“make”命令,
平台代码生成 snowboy GitHub README.md
获得snowboy python接口组件
将snowboy/examples目录下的Python目录更名为snowboy
image.png3 Python DuerOS SDK代码更新
有了上面的定制唤醒模型(小白.pmdl)和snowboy python接口组件,下面就可以更新Python DuerOS SDK的代码了。
Python DuerOS 中的app/snowboy目录内容更新
先删除Python DuerOS中的app/snowboy文件夹,然后再将步骤2中生成的snowboy文件夹拷贝到app/目录下,然后,将训练好的唤醒模型(小白.pmdl)拷贝到app/snowboy目录中。
snowboy目录修改app/snowboy/snowboydecoder.py
[1]修改__ init __()函数
注释掉self.audio和self.stream_in
__init__
[2] 添加feed_data()方法
添加feed_data()方法[3] 修改terminate()方法
更新terminate()方法修改app/wakeup_trigger_main.py
在main()方法中更新唤醒模型,
唤醒模型更新注意事项
经过上面的步骤,我们便能够更新成自己喜欢的唤醒词。但我们自定义的唤醒词还不是完美的。在测试中会发现唤醒率并不高。根本的原因在于我们自定义的唤醒词,训练语料条太少了(可能只有1组,3条)。要达到一个很好的唤醒率,需要进行大量丰富的语音样本训练才行。
训练样本
网友评论