树莓派上搭建唤醒词检测引擎 Snowboy
Snowboy 是一款高度可定制的唤醒词检测引擎,可以用于实时嵌入式系统,并且始终监听(即使离线)。当前,它可以运行在 Raspberry Pi、(Ubuntu)Linux 和 Mac OS X 系统上。
一些热门的唤醒词包括,Amazon Echo 上的“Alexa”,Android 设备上的“OK Google” 和 iPhone 上的“Hey Siri”。这些唤醒词用于,发起一个完整的语音交互界面。除了此,唤醒词还可以用于其他用途,比如执行简单的命令和控制动作。
在一个棘手的解决方案中,它可以运行完整的自动语音识别(ASR,Automatic Speech Recognition)来执行热词检测。在这种情况下,设备将在自动语音识别转录中观察特定的触发词。转录中观察特定的触发词。 另外,当使用基于云的解决方案时,它也不会保护您的隐私。幸运的是,Snowboy 被创造出来,解决这些问题。
Snowboy 具有以下的特性:
- 高度可定制。允许您自由定义自己的魔术词,如(但不限于)“芝麻开门”(open sesame)、“打开车库门”(garage door open)、或者“你好,梦之屋”(hello dreamhouse)。你能想到的,你就能定制它。
- 一直监听,但是保护您的隐私。因为 Snowboy 没有连接到网络,因此不需要将你的声音上传到任何地方。
- 轻巧的、可嵌入,可以让您在 Raspberry Pi 上运行。在最小的Pi(单核700M Hz ARMv6)上消耗少于10%的CPU。
- Apache 协议
当前,Snowboy 可以支持:
- 所有的 Raspberry Pi (搭载 Debian Jessie 8.0)
- 64位 Mac OS X
- 64bit Ubuntu (12.04 和 14.04)
- iOS
- Android (ARMv7 CPU)
- Pine 64,搭载 Debian Jessie 8.5 (内核版本 3.10.102)
- Intel Edison,搭载 Ubilinux (Debian Wheezy 7.8)
一、前期准备
1、一个支持 Snowboy,并带有麦克风的设备;
2、一个训练好的模型,可以从 https://snowboy.kitt.ai/dashboard 获取,可以自己训练,也可以下载训练好的模型,但是下载的时候,需要自己录入自己的语音。
二、下载Snowboy
您可以下载预先打包好的 Snowboy 二进制文件,及其 Python 封装:
下载地址:1/2/3/Zero
或者在GitHub上下载编译
三、访问麦克风
在这里,我们使用 PortAudio 作为音频输入/输出的跨平台支持。我们还使用 sox 作为快速实用程序,来检查麦克风设置是否正确。因此,我们需要先安装这个软件,使用麦克风。
1、安装 Sox
sudo apt-get install sox
2、安装 pyaudio 软件,推荐使用源码编译安装(此时不推荐 apt-get 的方式安装,原因是之后在会报各种错误)
下载PortAudio源码包,下载页面:http://www.portaudio.com/download.html
wget http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz
tar -zxf pa_stable_v190600_20161030.tgz
#解压之后的文件夹名称是 portaudio
cd portaudio
sudo ./configure
sudo make && make install
3、安装Python的pyaudio模块
sudo pip install pyaudio
sudo apt-get install libatlas-base-dev
4、要检查是否可以通过麦克风进行录制,请打开终端并运行:
rec temp.wav
四、运行DEMO
该 DEMO 可以在任何设备上运行。但是我们建议您:在带有扬声器输出的笔记本电脑/台式机上运行它,因为当您的唤醒词被触发时,DEMO 会播放Ding声音
python demo.py snowboy.pmdl
树莓派上搭建唤醒词检测引擎 Snowboy的更多相关文章
- 树莓派上搭建基于Python+web.py+fastcgi+lighttpd的网站
最近在网上淘了一个树莓派,什么是树莓派?这里是他的官方网站你可以去看看. 简单的说就是一块使用了ARM11的CPU,具有256MB或512MB内存的具有两个USB接口,一个RJ45接口,HDMI输出和 ...
- 树莓派上搭建NAS
首先可以参考看看 搭建家庭 NAS 服务器有什么好方案?下载做NAS的系统也比较多,如FreeNAS.Openfiler等免费系统,或购买其它收费NAS系统.根据自己的需要从硬件到软件的搭建过程.参 ...
- [转]在树莓派上搭建LAMP服务
之前介绍过树莓派上LNMP环境的搭建方法,本文将详细介绍如何在树莓派上配置LAMP服务. 为LAMP,是最流行的服务器配置之一,LAMP的含义是: Linux - 操作系统 Apache - 网络服务 ...
- 在树莓派上 搭建sqlite数据库
最近找工作需要学习一些数据库方面的知识,所以就在实验室的树莓派上准备装个数据库试试,刚开始准备装一个mysql数据库,出现了很多问题,放弃了,后来查了一些资料原来还有很多可以用的小巧实用的数据库,sq ...
- 树莓派上搭建arduino开发环境
-------------还是博客园上面的格式看这舒服,不去新浪了------------- 为什么要在树莓派上开发arduino呢?总要把树莓派用起来嘛,不然老吃灰. 树莓派使用SSH时没有图形界面 ...
- 树莓派上搭建arduino命令行开发环境
-------------还是博客园上面的格式看这舒服,不去新浪了------------- 为什么要在树莓派上开发arduino呢?总要把树莓派用起来嘛,不然老吃灰. 树莓派使用SSH时没有图形界面 ...
- 在树莓派上搭建jupyter notebook server
自从搬家后,树莓派闲置了好一段时间,最近打算将其利用起来.想来想去,搭个jupyter notebook用要靠谱的,毕竟经常要实验一些Python脚本. 具体过程参考以下链接: https://www ...
- 超强教程!在树莓派上构建多节点K8S集群!
在很长一段时间里,我对于在树莓派上搭建Kubernetes集群极为感兴趣.在网络上找到一些教程并且跟着实操,我已经能够将Kubernetes安装在树莓派上,并在三个Pi集群中工作.然而,在master ...
- 树莓派Odroid等卡片式电脑上搭建NAS教程系列6-miniDLNA
目录: 1. 树莓派Odroid等卡片式电脑上搭建NAS教程系列1-Ubuntu系统安装 2. 树莓派Odroid等卡片式电脑上搭建NAS教程系列2-SSH连接访问 3. 树莓派Odroid等卡片式电 ...
随机推荐
- [Machine Learning] Andrew Ng on Coursera (Week 1)
Week 1 的内容主要有: 机器学习的定义 监督式学习和无监督式学习 线性回归和成本函数 梯度下降算法 线性代数回归 主要是了解一下机器学习的基本概念,重点是学习线性回归模型,以及对应的成本函数和梯 ...
- python学习笔记(8)迭代器和生成器
迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...
- RAM子账户登录DMS对库进行管理
前言:阿里云账户是个权限很大的账户,有时候为了不让更多的人知道,但是又必须让别人管理里面某个模块的功能的时候,RAM子账户就显得很重要,所以设置子账户的权限就很有必要了,下面简单设置两种权限(dms上 ...
- (转)假如没有OI By Vani
假如没有OI ...
- Java POI导出Excel不弹框选择下载路径(下载文件不选择下载路径,默认) Chrome
在Chrome浏览器中,Java导出Excel文件时,浏览器弹出提示框,需要选择下载路径 在Chrome中的高级设置中,把“下载前询问每个文件的保存位置”去掉就解决了 DEEPLOVE(LC)
- Docker的网络类型
四种网络类型: None:不为容器配置任何网络功能,--net=noneContainer:与另一个运行中的容器共享Network Namespace,--net=container:containe ...
- 配置Maven本地仓库
以本机为例: 系统:Windows 开发工具:IDEA 如果想在dos窗口输mvn命令,需配置环境变量. 1. 在D盘新建repository文件夹,该目录用作maven的本地库. 2. 打开D:\P ...
- git创建/合并分支/删除分支/将修改后的内容同步到GitHub远程仓库
1.创建分支并切换到刚创建的分支(这里创建新的分支来修改README.md的内容然后将创建的分支与master分支合并,最后删除创建的分支) $ git checkout -b 分支名 Switche ...
- linux安装fasttext报错,升级gcc后成功解决
首先说一下存在问题: 本人打算在linux安装一个fasttext用来训练词向量,本来是想要从gensim来调用fasttext的,但是加载大的本地txt一直不对,没办法了只好在linux安装一个fa ...
- 某某项目SDV软件测试报告范例
说明:本范例为符合CMMI 5级要求的范例 Prepared by 拟制 小张 Date 日期 2008-04-09 Reviewed by 评审人 小丽.小王.小李.小莉.小三.小四.小猪.小猫.小 ...