树莓派语音控制的一次小尝试
什么是树莓派?树莓派有什么用?听着名字还挺有趣?刚听到树莓派这个名字我脑海中就弹出这三个问题。因为一直听说是可以做很多东西,但碍于不怎么懂 python 这门语言,所以一直没有去碰。前段时间还去买了一个来玩玩,下载了游戏系统,玩了一段时间的 FC 游戏就扔一边去了,就当作是游戏机一样,没有怎么去认真研究。知道公司提出要进军人工智能时代,树莓派终于是慢慢接触玩起来了。
那么什么是树莓派呢?
树莓派(Raspberry Pi)是尺寸仅有信用卡大小的一个小型电脑,您可以将树莓派连接电视、显示器、键盘鼠标等设备使用。树莓派能替代日常桌面计算机的多种用途,包括文字处理、电子表格、媒体中心甚至是游戏。并且树莓派还可以播放高至 4K 的高清视频。
鉴于树莓派方便运行相关 python 的程序,我利用 snowboy 语音唤醒做了一个简单的开关灯程序。
Snowboy 为一个外国的网站:
可自己训练唤醒模型,下载后无需联网即可调用,方便使用。
1. 前期准备
① 准备麦克风,准备 usb 免驱动声卡,网上搜索就有比较小巧的设备购买,我是使用普通麦加声卡的
如图所示这种,一般价格在 20+
② 进入 snowboy 官网进行模型学习,过程很简单,录制三次同个唤醒次就可以,跟着步骤走,最后下载文件,后缀为 pdml
③ 下载编译 snowboy,等待安装成功
sudo git clone https://github.com/Kitt-AI/snowboy &&
cd snowboy/swig/Python3 && sudo make
④ 安装成功后,把下载好的唤醒词文件放入 snowboy/resources 工程文件下
2. 开始编译
完成上面准备工作后,我们可以开始编译程序,在树莓派终端中进入 snowboy 目录下,输入 sudo python demo.py resources/你的唤醒词.pmdl
出现以下界面:
此时说出关键词即可唤醒,唤醒成功也会出现反馈信息
3. 制作控制 led 程序
这里我们只需要在工程文件中找到 demo2 程序,修改 demo2 程序
① 修改 led 灯接入管脚
② 多训练一个用于关灯的模型,同样放置在 resources 文件夹下
③ 在终端编译程序,
输入:sudo python demo2.py resources/唤醒模型.pmdl 关灯模型.pmdl
总结:其实整体看起来想要实现不是特别难,但对于初学者来说,会出现比较多的问题,比如麦克风无法录音,snowboy 网站各种崩溃无法进入,安装 snowboy 速度慢,无法安装等等问题,但是折腾下来最后实现了也还蛮有成就感的!
评论