diff --git a/sidecar/main.py b/sidecar/main.py index 70051ca..78d9e51 100644 --- a/sidecar/main.py +++ b/sidecar/main.py @@ -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] = []