STT VAD 빈 오디오 에러 방어: VAD가 전체 제거 시 VAD 없이 재시도
- faster-whisper VAD가 짧은 오디오를 전부 무음 처리 → max() empty sequence 에러 - catch 후 vad_filter=False로 재시도하여 최소한 빈 텍스트 반환
This commit is contained in:
parent
eed225c8d4
commit
9d5594e848
1 changed files with 10 additions and 1 deletions
|
|
@ -222,7 +222,16 @@ async def transcribe(
|
|||
transcribe_kwargs["initial_prompt"] = initial_prompt
|
||||
|
||||
# faster-whisper 전사 실행
|
||||
segments_iter, info = _model.transcribe(audio_array, **transcribe_kwargs)
|
||||
# VAD가 전체 오디오를 제거하면 max() 에러 발생 → VAD 없이 재시도
|
||||
try:
|
||||
segments_iter, info = _model.transcribe(audio_array, **transcribe_kwargs)
|
||||
except ValueError as ve:
|
||||
if "empty sequence" in str(ve) and transcribe_kwargs.get("vad_filter"):
|
||||
logger.warning("VAD가 전체 오디오를 제거함 → VAD 없이 재시도")
|
||||
transcribe_kwargs["vad_filter"] = False
|
||||
segments_iter, info = _model.transcribe(audio_array, **transcribe_kwargs)
|
||||
else:
|
||||
raise
|
||||
|
||||
# 세그먼트 수집
|
||||
segments_list: list[dict] = []
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue