피드로 돌아가기
Hacker NewsAI/ML
원문 읽기
Audio Disfluency 제거를 위한 4단계 검출 및 Zero-crossing 보정 설계
Removing 'um' from a recording is harder than it sounds
AI 요약
Context
STT 기반의 단순 구간 절삭 방식은 모델의 Filler Word 누락과 오디오 파형의 불연속성으로 인한 Click Noise 발생이라는 한계 존재. 단순한 텍스트 매칭만으로는 실제 오디오의 청각적 이질감을 해결할 수 없는 구조적 결함 파악.
Technical Solution
- faster-whisper 도입을 통한 로컬 환경의 고속 Transcription 및 Word-level Timestamp 추출
- Whisper 누락분 보완을 위해 350ms 이상 Gap 분석, 단일 토큰 내 음성 분리, 지속 vowel 피치 테스트를 포함한 4단계 복합 검출 로직 설계
- Waveform 불연속성 제거를 위해 60ms 범위 내 최저 진폭 지점 탐색 후 Zero-crossing 포인트로 스냅하는 정밀 컷팅 알고리즘 적용
- 고정 길이 Crossfade의 부작용을 방지하고자 절삭 구간 길이에 비례하여 Overlap 길이를 동적으로 조절하는 가변 스플라이싱 기법 채택
- 120ms 미만의 초단기 잔여 구간을 인접 컷에 통합하여 오디오 튀는 현상을 방지하는 Post-processing 처리
- Render 결과물의 정합성 검증을 위해 입력/출력 길이 비교 및 재전사(Re-transcription)를 통한 Filler 제거 여부 확인하는 Validation 파이프라인 구축
실천 포인트
- 오디오 편집 자동화 시 단순 타임스탬프 절삭이 아닌 Zero-crossing point 정렬을 통해 Click Noise 방지 - AI 모델의 출력값(STT)을 맹신하지 않고 Raw Data(Waveform) 기반의 보완 검증 로직을 다층적으로 설계 - 고정 파라미터 대신 데이터의 특성(절삭 길이)에 따라 동적으로 변하는 가변 파라미터 적용 검토 - E2E 검증을 위해 '처리 후 결과물을 다시 입력으로 넣어 기대값이 나오는지' 확인하는 회귀 테스트 도입