From e6145c479552851fac591188a909d5e307f5238a Mon Sep 17 00:00:00 2001 From: sw1313 Date: Fri, 24 Jan 2025 21:17:07 +0800 Subject: [PATCH 1/3] Validate segments not empty in subtitle_manager.py --- modules/utils/subtitle_manager.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/utils/subtitle_manager.py b/modules/utils/subtitle_manager.py index df2c6679..5e8dc5eb 100644 --- a/modules/utils/subtitle_manager.py +++ b/modules/utils/subtitle_manager.py @@ -134,6 +134,12 @@ def iterate_result( align_lrc_words: bool = False, max_words_per_line: Optional[int] = None, ): + if not isinstance(result, dict): + return + if "segments" not in result or not isinstance(result["segments"], list): + return + if len(result["segments"]) == 0: + return options = options or {} max_line_width = max_line_width or options.get("max_line_width") max_line_count = max_line_count or options.get("max_line_count") From 61f55ee175a674b5e1b2eb63a4f35a57bb780e8d Mon Sep 17 00:00:00 2001 From: jhj0517 <97279763+jhj0517@users.noreply.github.com> Date: Sat, 25 Jan 2025 18:34:37 +0900 Subject: [PATCH 2/3] Handle empty segment exception case --- modules/whisper/base_transcription_pipeline.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/whisper/base_transcription_pipeline.py b/modules/whisper/base_transcription_pipeline.py index cf8113e6..4f5eb0a4 100644 --- a/modules/whisper/base_transcription_pipeline.py +++ b/modules/whisper/base_transcription_pipeline.py @@ -196,6 +196,10 @@ def run(self, add_timestamp=add_timestamp ) + if not result: + logger.info(f"Whisper did not detected any speech segments in the audio.") + result = [Segment()] + progress(1.0, desc="Finished.") total_elapsed_time = time.time() - start_time return result, total_elapsed_time From 93d8f00651d79d9fc573383c28f1a704292746dd Mon Sep 17 00:00:00 2001 From: jhj0517 <97279763+jhj0517@users.noreply.github.com> Date: Sat, 25 Jan 2025 19:10:16 +0900 Subject: [PATCH 3/3] Revert "Validate segments not empty in subtitle_manager.py" This reverts commit e6145c479552851fac591188a909d5e307f5238a. --- modules/utils/subtitle_manager.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/utils/subtitle_manager.py b/modules/utils/subtitle_manager.py index 5e8dc5eb..df2c6679 100644 --- a/modules/utils/subtitle_manager.py +++ b/modules/utils/subtitle_manager.py @@ -134,12 +134,6 @@ def iterate_result( align_lrc_words: bool = False, max_words_per_line: Optional[int] = None, ): - if not isinstance(result, dict): - return - if "segments" not in result or not isinstance(result["segments"], list): - return - if len(result["segments"]) == 0: - return options = options or {} max_line_width = max_line_width or options.get("max_line_width") max_line_count = max_line_count or options.get("max_line_count")