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 進行配置。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案