zoukankan      html  css  js  c++  java
  • 树莓派上搭建唤醒词检测引擎 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
  • 相关阅读:
    考研打卡_Day018
    如何使用python中的pymysql操作mysql数据库
    Linux系统目录结构和常用目录主要存放内容的说明
    MySQL基础入门使用和命令的使用
    Python中property属性的概论和使用方法
    如何有效的优化自己的网站访问速度
    机器学习中的特征工程学习
    ffmpeg中c语言sdk多媒体互转主要使用的api
    FFmpeg使用c语言sdk实现打印视频的信息
    ffmpeg使用C语言sdk实现抽取视频中的视频数据
  • 原文地址:https://www.cnblogs.com/rnckty/p/8067115.html
Copyright © 2011-2022 走看看