Step by Step带你玩转DuerOS - 唤醒词替换(5)
E****u · E****u 发布于2017-11-01 20:45 浏览:5799 回复:17

当前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.png


3 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条)。要达到一个很好的唤醒率,需要进行大量丰富的语音样本训练才行。

训练样本


上一篇:

《Step by Step带你玩转DuerOS - OAuth2.0全面解析 (4)》


下一篇:

《Step by Step带你玩转DuerOS - DuerOS客户端架构设计(6)》


系列目录:

《Step by Step带你玩转DuerOS - 内容目录》


点赞  ( 1 )
收藏
评论(17)
共17条回复 最后由z****y回复于2018-01-03 00:00
#2****aj回复于2017-11-02 07:02:42

哈哈,这个必须mark,回去试一试!

0
#3老****云回复于2017-11-02 08:15:44

收藏。。。。

0
#4j****x回复于2017-11-02 09:21:56

为什么又要删除掉 Python DuerOS中的app/snowboy文件夹???

0
#5E****u回复于2017-11-02 11:08:14
#4 j****x回复
为什么又要删除掉 Python DuerOS中的app/snowboy文件夹???

两个使用的唤醒词模型版本不一样的,删除先前的snowboy目录,然后在把自己从github上生成的snowboy目录放到app/目录下,相当于用新的snowboy替换旧的snowboy

0
#6j****x回复于2017-11-02 14:11:55
#5 E****u回复
两个使用的唤醒词模型版本不一样的,删除先前的snowboy目录,然后在把自己从github上生成的snowboy目录放到app/目录下,相当于用新的snowboy替换旧的snowboy

请教区别在哪里?


另,git 下来的swig无法 make,请教一下是为什么


image.png

1
#7奉****遥回复于2017-11-02 15:10:25

image.png请问这是什么问题啊


0
#8大****叔回复于2017-11-02 19:40:02

你好,make出错,请问怎么解决?

blob.png

swig的版本始终只能安装2.0的


0
#9j****x回复于2017-11-02 20:40:30

make   swig 后,会在python下生成几个文件?

0
#10Y****u回复于2017-11-04 16:49:26

这个问题, 我也没有解决; 哪位大神帮助一下?

0
#11C****k回复于2017-11-05 21:40:05

灵敏度是怎么设置呢

TOP