Howl 唤醒词检测系统技术文档
概述
Howl 是一个为 Firefox Voice 开发的开源唤醒词检测系统,支持如 Google Speech Commands 和 Mozilla Common Voice 等开放数据集。本文档将指导您完成从安装、数据准备到训练模型的全过程,并提供API使用的简要指南。
安装指南
系统要求与依赖
首先确保您的环境已配置好Python及其相关工具,推荐使用Python 3.x版本。Howl需要PyTorch库,PyAudio以及额外的依赖项,通过以下步骤安装:
-
克隆项目:
git clone https://github.com/castorini/howl.git && cd howl
-
安装PyTorch: 访问PyTorch官网,按照您的操作系统选择适合的安装方法。
-
PyAudio与依赖: 根据您系统的包管理器安装PyAudio及其必要的音频处理依赖。
-
安装项目所需的Python包: 运行命令安装基础及训练所需的所有包。
pip install -r requirements.txt -r requirements_training.txt
-
设置Montreal Force Aligner (MFA): 执行脚本来下载并设置MFA及其英语发音字典。
./download_mfa.sh
使用说明
数据集准备
生成自定义唤醒词的数据集涉及三步:音频收集、转录对齐及结合两部分数据。推荐使用Mozilla Common Voice作为音频源,并利用MFA进行转录对齐。通过以下命令生成特定于唤醒词的数据集:
./generate_dataset.sh <共同语音数据集路径> <下划线分隔的唤醒词> <推理序列> [(可选) "true"跳过负样本生成]
训练与运行模型
-
环境变量与训练:设定模型训练相关的环境变量后,执行训练脚本。例如,对于
res8
模型:source envs/res8.env python -m training.run.train -i <正样本集> <负样本集> --model res8 --workspace <工作空间>
-
演示运行:完成训练后,可以使用下面的命令进行示例演示:
python -m training.run.demo --model res8 --workspace <工作空间路径>
预训练模型
何如使用预训练模型?访问howl-models仓库获取,然后加载模型以立即用于推断:
pip install howl
from howl.client import HowlClient
def hello_callback(detected_words): print("Detected:", detected_words)
client = HowlClient()
client.from_pretrained("hey_fire_fox")
client.add_listener(hello_callback)
client.start().join()
API使用文档
虽然具体的API细节需查看Howl的官方文档或源码注释,但基本使用流程如下:
- 初始化
HowlClient
对象。 - 调用
from_pretrained
加载预训练模型。 - 添加事件监听器处理唤醒词被识别的情况。
- 启动客户端开始监听。
通过pip安装Howl
- 确保PyAudio和PyTorch已安装。
- 使用pip安装Howl:
pip install howl
之后,您可以按上述的使用说明来集成Howl到您的项目中。
通过遵循以上步骤,您应能成功地在您的项目中集成和利用Howl进行唤醒词检测。记住,详细调优模型和实验不同的参数可能会提升性能,探索GitHub仓库中的实验部分和文档以深入理解所有可用选项。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考