filippogiruzzi/voice_activity_detection

Voice Activity Detection based on Deep Learning & TensorFlow

解决的问题

本项目实现了一个实时语音活动检测(VAD)系统,用于区分音频信号中的语音和噪声。它提供了一个完整的流水线,用于处理原始音频、训练深度学习模型以及执行推理以识别包含人类语音的音频段。

工作原理

该系统使用由特征提取和分类模型组成的流水线:

  1. 特征提取:将 1024 个样本的音频窗口(16 kHz)使用 MFCC(Mel-frequency cepstral coefficients)、MFCC deltas、MFCC delta-deltas 和 RMS 能量转换为特征张量。
  2. 分类:这些特征被输入到使用 PyTorch 实现的 1D-ResNet(残差网络)中。该模型使用由 1D 卷积、批归一化(batch normalization)和全局平均池化(global average pooling)组成的堆叠残差块,最后通过一个全连接头输出语音 Logit。
  3. 推理:系统支持滑动窗口推理和可选的后处理平滑处理,以优化结果。

适用对象

本项目专为对音频处理和深度学习感兴趣的开发人员和研究人员设计,特别是那些希望使用 PyTorch 实现或实验轻量级 VAD 系统的人员。

亮点

  • 高准确率:在 LibriSpeech 数据集上实现了 97% 的测试准确率。
  • 完整流水线:包括从原始音频创建数据集、训练和推理的工具。
  • Docker 支持:提供支持 CPU 和 GPU 的 Docker 镜像,以实现一致的部署。
  • 灵活的架构:1D-ResNet 模型可以通过 ModelConfig dataclass 进行配置。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目