云汉芯城
PCBA
元器件信息库
快速登录 :
登录
注册
写文章
首页
问答
文章
芯视听
DIY视频
下载
试用
社区首页
文章
如何打造属于你的私人语音助手之唤醒它吧
分 享
扫描二维码分享
如何打造属于你的私人语音助手之唤醒它吧
树莓派
wukong
语音助手
IAMLIUBO
关注
发布时间: 2019-12-13
丨
阅读: 3935
## 我是谁,谁又是我 Hi, 大家好,我是刘波,人在江湖行走的ID是:[IAMLIUBO](https://blogs.oopswow.com/)!受到电子芯吧客平台用户活跃度的感召,为了防止世界被破坏,为了保护世界的和平,于是我决定也要来电子芯吧客平台混个脸熟了(我不会承认我是为了稿费才来的!绝对不会!滑稽.gif)。 ## 前言 我们在[上篇文章](http://www.icxbk.com/article/detail?aid=1077)中已经将基本环境搭建好了,本片文章让我们开始下一步吧! ## 准备工作 **硬件:** * 树莓派(结合前文的树莓派) * ReSpeaker麦克风阵列  给个图给大家参考一下吧,这是我使用的硬件。 * 3.5mm迷你小音箱  就选择这种很普通的小音箱就可以,虽然效果确实不咋样,但贵在便宜。 **软件:** * 貌似没有? ## 软件安装 在上篇文章的最后,我们没有全部完成,所以本节课还需要做一些收尾工作,我们还需要编译我们的语音唤醒方案的一个动态库,还有安装一下麦克风阵列的驱动,因为这两部分相对来说还是比较麻烦的,所以留到了本篇文章来写。 #### 编译snowboy 我们先安装swig,本节操作命令有点多,请仔细执行每一条命令: ```bash #安装依赖库 sudo apt-get -y update sudo apt-get install -y libpcre3 libpcre3-dev #下载并编译安装swig,此步是必须的,不可省略 wget http://hahack-1253537070.file.myqcloud.com/misc/swig-3.0.10.tar.gz tar xvf swig-3.0.10.tar.gz cd swig-3.0.10 ./configure --prefix=/usr --without-clisp --without-maximum-compile-warnings make sudo make install sudo install -v -m755 -d /usr/share/doc/swig-3.0.10 sudo cp -v -R Doc/* /usr/share/doc/swig-3.0.10 #安装依赖库 sudo apt-get install -y libatlas-base-dev ``` 上面有条命令由markdown转码html貌似不成功,请参考下面的: sudo cp -v -R Doc/@@* /usr/share/doc/swig-3.0.10 如果你觉得一条条的执行比较麻烦,可以新建一个swig_install.sh文件,然后复制上面所有的命令到文件: ```bash sudo nano swig_install.sh ```  然后执行: ```bash ./swig_install ``` 然后我们开始编译snowboy的动态库文件,同样的我们执行下面的命令: ```bash wget http://hahack-1253537070.file.myqcloud.com/misc/snowboy.tar.bz2 tar -xvjf snowboy.tar.bz2 cd snowboy/swig/Python3 make ``` 出现跟下图一样的字样,标识编译成功。  我们还需要将snowboydetect.so文件复制到wukong-robot目录下的snowboy文件夹。 ```bash cp _snowboydetect.so ~/wukong-robot/snowboy/ ``` OK,到这里snowboy动态库我们就编译完成了,不过先不要着急,我们还需要安装麦克风阵列驱动,Let's go! #### 安装麦克风阵列驱动 这里我们使用的是两个麦克风的麦克风阵列,虽然不如多麦克风阵列的收音效果好,但是相对来说比较便宜,还是比较不错的,废话少说! ```bash git clone https://github.com/respeaker/seeed-voicecard.git #下载声卡驱动 cd seeed-voicecard sudo ./install.sh #安装声卡驱动 ``` 我们先从github拉取源码,拉取完成后直接执行安装脚本就可以了,相对是比较简单的,安装完成后我们需要重启,然后断电顺便插上我们的麦克风阵列和小音箱。  出现以上界面,我们就可以关机了,然后断掉电源,安装麦克风阵列与音箱,音箱3.5mm插头插座我们先插麦克风阵列上就可以,测试完麦克风阵列后我们再插到树莓派上。 ```bash sudo poweroff #关机 ``` 安装好后,我们重新开机测试麦克风阵列是否工作,首先我们查看声卡列表是否有我们的麦克风阵列: ```bash aplay -l ```  然后我们先设置一下音量:  然后你可以录音测试一下: ```bash arecord -f cd -Dhw:1 | aplay -Dhw:1 #声音会越来越大,建议保护耳朵,ctrl+c退出 ``` 如果能听到自己声音,就没问题了,然后你可以将音箱再插回树莓派上! ## 运行wukong 接下来让我们正式开始运行起来吧,这里默认唤醒词是孙悟空,不过效果不太好,因为是作者自己训练的,当然你可以可以更换成你想要的唤醒词,这里我们先运行起来: ```bash python3 wukong.py ``` 第一次运行会询问我们是否创建config.yml配置文件,我们输入**y**就可以了,后面我们很多设置都是从这里面更改,目录是**/home/pi/.wukong/config.yml**,第一次运行可能会唤醒不了,这里不要着急,我们还需要修改一下配置,我们需要先按**ctrl+4**停止运行,然后输入以下命令: ```bash sudo nano ~/.wukong/config.yml ``` 找到以下内容: ```bash # snowboy 离线唤醒 # https://snowboy.kitt.ai/dashboard # 建议到 https://snowboy.kitt.ai/hotword/32768 # 使用相同环境录入你的语音,以提升唤醒成功率和准确率 hotword: 'wukong_pi.pmdl' # 唤醒词模型,如要自定义请放到 $HOME/.wukong 目录中 sensitivity: 0.4 # 灵敏度 silent_threshold: 15 # 判断为静音的阈值。环境比较吵杂的地方可以适当调大 recording_timeout: 5 # 录制的语音最大长度(秒) snowboy_token: your_token # 你的token,用于 train 命令训练语音 ``` 将其中hotword的**wukong.pmdl**修改为**wukong_pi.pmdl**,然后保存退出就可以运行并唤醒了,唤醒效果不会像我们买的智能音箱一样,提前给大家打个预防针,主要原因还是因为训练样本不够,会面会教大家如何训练和修改自己的唤醒词。 如果修改配置文件及运行,可以参考下面动态图:  运行效果演示视频可以到DIY视频版块查看(管理员还在审核中...)。 接下来我们安装一下第三方技能插件库,第三方技能插件库是除作者之外的开发者贡献的技能,我们也是可以直接使用的,后面我们也会将如何开发属于自己的技能,这里我们先安装一下别人写好的技能。 ```bash cd ~/.wukong git clone http://github.com/wzpan/wukong-contrib.git contrib pip3 install -r contrib/requirements.txt ``` 请一定要切换到**~/.wukong**这个目录下安装,因为技能默认都会从这里面加载,那么都有哪些用户技能呢,大家可以从这个链接查看: [用户贡献技能](https://wukong.hahack.com/#/contrib) ## 后台管理界面 我们还可以通过web后台跟语音助手互动,我们可以通过电脑浏览器输入树莓派的IP地址加端口号进行访问:  然后我们可以像打字聊天一样进行交互:  尽情去体验吧~ OK,本篇文章就到这里,下一篇文章教大家如何训练自己的唤醒词以及个性化修改等等,后面还会教大家如何开发自己的技能!
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
9
)
IAMLIUBO
擅长:工控电子 能源电源 光电显示 设计,制造及服务 智能硬件
关注
评论
(22)
登录后可评论,请
登录
或
注册
Ls
350
天前...
运行这步sudo cp -v -R Doc/@@* /usr/share/doc/swig-3.0.10,出现这个cp: cannot stat 'Doc/@@*': No such file or directory,请问咋解决
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
73716d5b2364f8a6
回复
Ls
321
天前...
没有@@,应该是这个吧, cp -v -R Doc/* /usr/share/doc/swig-3.0.10
0
回复
发布
67de81ffd2be1abb
回复
Ls
335
天前...
我也是这样
0
回复
发布
73716d5b2364f8a6
321
天前...
cd snowboy/swig/
Python
3 这个命令也显示没有这个文件和目录
0
回复
发布
Jerry
回复
73716d5b2364f8a6
222
天前...
你好,解决了吗
0
回复
发布
Jerry
222
天前...
楼主,安装swig时,是在根目录下还是wukong-robot内?安装snowboy时提示我没有那个文件夹
0
回复
发布
825771865d60b25c
回复
Jerry
138
天前...
你好,请问你解决了吗
0
回复
发布
73716d5b2364f8a6
321
天前...
./swig_install这个命令显示没有那个文件或目录
0
回复
发布
IAMLIUBO
299
天前...
Hi,大家好,由于部分代码转码失败,导致很多同学没能成功运行,下面贴上正确的命令: wget http://hahack-1253537070.file.myqcloud.com/misc/swig-3.0.10.tar.gz tar xvf swig-3.0.10.tar.gz cd swig-3.0.10 sudo apt-get -y update sudo apt-get install -y libpcre3 libpcre3-dev ./configure --prefix=/usr --without-clisp --without-maximum-compile-warning
0
回复
发布
IAMLIUBO
299
天前...
貌似评论区代码没法添加格式 sudo cp -v -R Doc/* /usr/share/doc/swig-3.0.10 cd snowboy/swig/Python3
0
回复
发布
相关文章推荐
【野火i.MX6ULL ARM Linux开发板连载】GPIO开发之点灯
[树莓派] 玩转全彩WS2812 RGB灯(Python)
从零开始的树莓派人脸识别教程
为家居智能化构建环境(MQTT Broker和Node-Red部署)——OrangePi Zero2测试
[网友问答3]STM32驱动ADC0809详解
orangePi zero2开箱及硬件介绍
DS100便携示波器充电测试
涂鸦三明治离线语音Wi-Fi开发板+AIoT云模组开发套件
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交