【anananjjj|开发日记】(3)成功替换 唤醒词!
****aj · ****aj 发布于2017-11-09 21:35 浏览:6113 回复:6

替换唤醒词

1 首先要在snowboy平台训练自己的唤醒词

snowboy的官方地址:https://snowboy.kitt.ai/

 

登陆

                                               blob.png

 

blob.png

 

 

blob.png

刚开始一直不行,更新了一下信息后,貌似可以了!

blob.png

 

 

blob.png

 

 

下载唤醒模型

在线训练完成后,下载训练模型(本例中我的训练唤醒词为“伊伊”)

测试成功

blob.png

 

 

blob.png

 

下载的模型为"伊伊.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”命令,

 

blob.png

 

blob.png

 

Make后错误:

blob.png


这是因为没有安装swig。我们需要安装swig

首先下载最新的swig-3.0.12/home/pi目录, https://downloads.sourceforge.net/swig/swig-3.0.12.tar.gz然后,依次执行

 

sudo apt-get install g++//安装g++

sudo apt-get install libpcre3 libpcre3-dev //安装pcre

sudo tar -xzvf swig-3.0.12.tar.gz //解压swig

cd swig-3.0.12 //进入swig目录

//安装swig

./configure --prefix=/usr/local/swig3.0.12

blob.png

make

sudo make install

 

//配置path

sudo vi /etc/profile

//在最后添加一行:PATH=/usr/local/swig3.0.12/bin:$PATH

 

重新启动!

依然出现:

blob.png

 

原因是我一直在root权限下执行操作,导致编译和安装出现问题,在普通用户下执行一遍就没问题了:

snowboy/swig/Python目录执行“make”命令,

 blob.png


获得snowboy python接口组件

snowboy/examples目录下的Python目录更名为snowboy

 

mv Python snowboy

 

blob.png

 

Python DuerOS 中的app/snowboy目录内容更新

先删除Python DuerOS中的app/snowboy文件夹,然后再将生成的snowboy文件夹拷贝到app/目录下,然后,将训练好的唤醒模型(伊伊.pmdl)拷贝到app/snowboy目录中。

 

blob.png

可以看到:rescourcessnowboydetect.pysnowboydetect.so为红色!在文件图形界面下:为感叹号!

blob.png

点击右键,观察属性:

 

blob.png

blob.png

链接到其他文件下,根据路径去寻找,并复制!

 

解决办法:

snowboy文件夹里的rescources文件夹替换感叹号rescources文件夹,snowboydetect.pysnowboydetect.so感叹号文件用snowboy文件夹swig/Python里的snowboydetect.pysnowboydetect.so文件替换。


 

修改app/snowboy/snowboydecoder.py

[1]修改__ init __()函数

 

注释掉self.audioself.stream_in(教程原图)

blob.png

 

 

 

[2] 添加feed_data()方法(教程原图)


 blob.png

 

[3] 修改terminate()方法(教程原图)

blob.png

 

 

我修改app/wakeup_trigger_main.py

main()方法中更新唤醒模型,报错:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 12: ordinal not in range(128) 

 


这里我是这样写的:

blob.png

报错:

blob.png

好吧!字面意思是字符出现了问题,将汉字改成拼音!

blob.png

再次执行脚本:

 

blob.png

唤醒词更新成功!!

测试视频:替换唤醒词

好了,接下来就要正式开始搞一搞语音控制得东西了!加油!好好学习,天天向上!


上一篇:【anananjjj|开发日记】(2)成功调用python SDK,并更改配置!

点赞  ( 2 )
收藏
评论(6)
共6条回复 最后由l****e回复于2018-04-24 22:03
#2D****童回复于2017-11-12 15:54:01

棒棒棒加油~

0
#3****aj回复于2017-11-13 10:50:37
#2 D****童回复
棒棒棒加油~

期待DBP的发布!

0
#4老****老回复于2017-11-19 02:46:02

棒棒哒

0
#5I****兵回复于2017-11-20 10:49:39

棒棒哒

0
#6****aj回复于2017-11-21 14:40:58
#4 老****老回复
棒棒哒

呃,修改任何文件最好都要备份的。

0
#7l****e回复于2018-04-24 22:03:01

棒棒哒

0
TOP