filippogiruzzi/voice_activity_detection
Voice Activity Detection based on Deep Learning & TensorFlow
해결하는 문제
이 프로젝트는 오디오 신호에서 음성과 노이즈를 구분하는 실시간 음성 활동 감지(VAD) 시스템을 구현합니다. 원시 오디오 처리, 딥러닝 모델 학습 및 사람의 목소리가 포함된 오디오 세그먼트를 식별하기 위한 추론을 수행하는 완전한 파이프라인을 제공합니다.
작동 방식
시스템은 특징 추출 및 분류 모델로 구성된 파이프라인을 사용합니다:
- 특징 추출: 1024개 샘플의 오디오 윈도우(16 kHz 기준)를 MFCC(Mel-frequency cepstral coefficients), MFCC deltas, MFCC delta-deltas 및 RMS 에너지(RMS energy)를 사용하여 특징 텐서로 변환합니다.
- 분류: 이러한 특징은 PyTorch로 구현된 1D-ResNet(Residual Network)에 입력됩니다. 모델은 1D 컨볼루션, 배치 정규화(batch normalization), 글로벌 평균 풀링(global average pooling)으로 구성된 스택형 잔차 블록을 사용하며, 음성 로짓(speech logit)을 출력하는 완전 연결 헤드(fully connected head)로 마무리됩니다.
- 추론: 시스템은 슬라이딩 윈도우 추론과 결과를 정교화하기 위한 선택적 사후 처리 평활화(post-processing smoothing)를 지원합니다.
대상 사용자
이 프로젝트는 오디오 처리 및 딥러닝에 관심이 있는 개발자와 연구자, 특히 PyTorch를 사용하여 경량 VAD 시스템을 구현하거나 실험하고자 하는 분들을 위해 설계되었습니다.
주요 특징
- 높은 정확도: LibriSpeech 데이터셋에서 97%의 테스트 정확도를 달성했습니다.
- 전체 파이프라인: 원시 오디오로부터의 데이터셋 생성, 학습 및 추론을 위한 도구를 포함합니다.
- Docker 지원: 일관된 배포를 위해 CPU 및 GPU 지원 Docker 이미지를 제공합니다.
- 유연한 아키텍처: 1D-ResNet 모델은
ModelConfigdataclass를 통해 구성할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트