m-bain/whisperX

WhisperX: Automatic Speech Recognition with Word-level Timestamps (& Diarization)

해결하는 문제

WhisperX는 OpenAI의 원본 Whisper 모델의 한계, 즉 빠른 추론을 위한 내장 배치 처리 부족과 발화 수준 타임스탬프의 부정확성을 해결합니다. 고속 음성 전사와 정밀한 단어 수준 타임스탬프, 그리고 음성 스트림 내에서 다른 화자를 식별할 수 있는 기능을 제공합니다.

작동 방식

WhisperX는 다단계 파이프라인을 사용하여 전사를 개선합니다.

  1. 배치 추론: faster-whisper 백엔드를 활용해 실시간보다 훨씬 빠르게 전사를 수행합니다 (large-v2 기준 최대 70배).
  2. VAD 전처리: 음성 활동 탐지(VAD)를 사용해 음성 세그먼트를 식별하여 환각을 줄이고, 단어 오류율(WER)을 저하시키지 않으면서 효율적인 배치 처리를 가능하게 합니다.
  3. 강제 동기화: 타임스탬프의 부정확성을 수정하기 위해 wav2vec2.0과 같은 음소 기반 ASR 모델을 사용해 문장 전사를 오디오에 동기화하여 정밀한 단어 수준 세그먼트를 생성합니다.
  4. 화자 분리: pyannote-audio를 통합해 오디오 스트림을 분할하고 전사된 텍스트에 화자 ID 레이블을 할당합니다.

대상 사용자

긴 형식의 오디오 녹음물에 대해 정밀한 타이밍과 화자 식별이 필요한 개발자 및 연구자에게 적합합니다.

주요 특징

  • 극도의 속도: 배치 추론을 통해 실시간의 최대 70배 빠른 전사가 가능합니다.
  • 단어 수준 정확도: 발화 수준 추정이 아닌 wav2vec2 동기화를 통해 정밀한 타임스탬프 제공.
  • 화자 식별: 내장된 화자 분리 기능으로 누가 말하고 있는지 레이블링 가능.
  • 낮은 메모리 사용량: 특정 설정에서 large-v2 모델도 GPU 메모리 8GB 미만으로 작동 가능.
  • 다국어 지원: 자동으로 선택된 음소 기반 ASR 동기화 모델을 통해 여러 언어를 지원.

관련

  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트