语音活动检测(Voice Activity Detection)项目教程
voice_activity_detection项目地址:https://gitcode.com/gh_mirrors/voic/voice_activity_detection
1. 项目目录结构及介绍
项目的目录结构如下:
.
├── README.md # 项目简介
├── data # 存放数据集和其他输入文件
│ └── sample.wav # 示例音频文件
├── models # 模型定义文件夹
│ ├── model.py # 语音活动检测模型
├── scripts # 脚本文件夹
│ ├── train.py # 训练脚本
│ └── detect.py # 实时检测脚本
└── config.yaml # 配置文件
data
目录用于存储音频样本和训练/测试所需的数据。models
包含了实现语音活动检测的核心模型代码。scripts
提供了训练模型 (train.py
) 和进行实时语音活动检测 (detect.py
) 的脚本。config.yaml
是项目的配置文件,包含了运行所需的各种参数设置。
2. 项目的启动文件介绍
2.1 train.py
train.py
是训练模型的入口。它从config.yaml
读取训练参数,加载数据集,初始化模型并执行训练循环。在运行此文件前,确保已准备好训练数据并正确设置了配置文件中的相关路径。
python scripts/train.py
2.2 detect.py
detect.py
文件用于实时语音活动检测。它利用已经训练好的模型监听麦克风输入,判断何时存在语音活动。执行以下命令即可开始实时检测:
python scripts/detect.py
在运行之前,需要确保模型已经被正确地训练,并且config.yaml
中配置了模型路径。
3. 项目的配置文件介绍
config.yaml
是项目的配置中心,包含以下主要部分:
model:
type: <模型类型> # 如CNN或RNN等
path: <预训练模型路径>
data:
train_folder: <训练数据目录>
test_folder: <测试数据目录>
sample_rate: <采样率>
window_size: <窗口大小>
hop_size: <窗口滑动步长>
processing:
preprocessor: <预处理器类名>
normalize: <是否进行归一化>
inference:
device: <设备类型,如cpu或cuda>
threshold: <语音活动阈值>
streaming:
input_device_id: <输入设备ID>
output_file: <保存结果的文件路径>
model
: 定义模型类型和预训练模型的路径。data
: 与数据处理相关的参数,包括数据集路径、采样率以及分析窗口参数。processing
: 预处理选项,例如预处理器类型以及是否对信号进行归一化。inference
: 用于推理的设置,包括设备选择和语音活动的检测阈值。streaming
: 实时流处理参数,如输入设备ID(用于监听麦克风)和结果输出文件路径。
要修改这些配置,只需直接编辑config.yaml
文件,根据需求调整各个参数。
voice_activity_detection项目地址:https://gitcode.com/gh_mirrors/voic/voice_activity_detection