基于 Snowboy 实现语音唤醒

您所在的位置:网站首页 拾遗记游戏多少钱一个 基于 Snowboy 实现语音唤醒

基于 Snowboy 实现语音唤醒

2024-07-11 02:48| 来源: 网络整理| 查看: 265

Snowboy 是一个可定制的热词检测引擎,可以利用它来实现语音唤醒功能。

环境配置

Snowboy 只能运行在类 unix 系统下,我选择在 Debian 12 系统下安装和运行 Snowboy。首先需要安装一些依赖项:

12sudo apt install build-essential git swig libatlas-base-dev sox -ysudo apt install portaudio19-dev python3-pyaudio -y 安装

Github 上存在两个 Snowboy 的代码库,一个是 Kitt.ai/Snowboy,在 Kitt.ai 不维护之后,Seasalt.ai/Snowboy 又继续维护了一段时间。

我们首先要把 Snowboy 的代码库拉下来:

1git clone https://github.com/seasalt-ai/snowboy.git

然后进行编译:

12cd snowboy/swig/Python3make

之后修复代码中的包引入问题,将 examples/Python3/snowboydecoder.py 文件中的 from . import snowboydetect 修改为 import snowboydetect

运行与问题排除

首先创建 Python 虚拟环境,并安装依赖:

123python -m venv venvsource ./venv/bin/activatepip install pyaudio scipy

官方提供了一些预置的唤醒词模型,位于 resources/models/ 文件夹下。

之后运行 examples/ 文件夹下的 demo.py 文件来进行验证语音唤醒功能:python demo.py resources/models/snowboy.umdl。

我在此时时遇到了异常:

123Cannot connect to server socket err = No Such file or directoryCannot connect to server request channeljack server is not running or cannot be started

这个问题需要安装并启动 JACK Audio Connection Kit:

12sudo apt install jackd2 # 建议安装后重启jack_control start

之后再次运行 demo.py,当说出唤醒词 snowboy 时程序会播放叮的声音,这样就代表语音唤醒成功了。

自定义唤醒词

如果想训练自己的唤醒词,可以到网站 snowboy.hahack.com 上进行定制,或者基于开源项目 snowboy-seasalt 在 Docker 上自行部署 Web 操作界面。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3