From b9ca701d6943b7e83a6caa0c6b4adda7a258ecc6 Mon Sep 17 00:00:00 2001 From: Max Bain Date: Fri, 31 Mar 2023 23:02:38 +0100 Subject: [PATCH] .wav conversion, handle audio with no detected speech --- figures/pipeline.png | Bin 0 -> 122529 bytes whisperx/asr.py | 4 +++- whisperx/transcribe.py | 45 +++++++++++++++++++++++++---------------- whisperx/utils.py | 18 ++++++++++++++--- whisperx/vad.py | 5 ++++- 5 files changed, 50 insertions(+), 22 deletions(-) create mode 100644 figures/pipeline.png diff --git a/figures/pipeline.png b/figures/pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..232ea78847c048c49a3b81b959cbf683ddb17115 GIT binary patch literal 122529 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 e`Tx$++~IUfeIIem literal 0 HcmV?d00001 diff --git a/whisperx/asr.py b/whisperx/asr.py index 27213ef..ac16459 100644 --- a/whisperx/asr.py +++ b/whisperx/asr.py @@ -395,8 +395,10 @@ def transcribe_with_vad( # merge segments to approx 30s inputs to make whisper most appropraite vad_segments = merge_chunks(vad_segments, chunk_size=CHUNK_LENGTH) + if len(vad_segments) == 0: + return output - print("Performing transcription...") + print(">>Performing transcription...") for sdx, seg_t in enumerate(vad_segments): if verbose: print(f"~~ Transcribing VAD chunk: ({format_timestamp(seg_t['start'])} --> {format_timestamp(seg_t['end'])}) ~~") diff --git a/whisperx/transcribe.py b/whisperx/transcribe.py index 04eb201..0548bfc 100644 --- a/whisperx/transcribe.py +++ b/whisperx/transcribe.py @@ -16,7 +16,7 @@ from whisper.utils import ( from .alignment import load_align_model, align from .asr import transcribe, transcribe_with_vad -from .diarize import DiarizationPipeline +from .diarize import DiarizationPipeline, assign_word_speakers from .utils import get_writer from .vad import load_vad_model @@ -44,7 +44,7 @@ def cli(): parser.add_argument("--no_align", action='store_true', help="Do not perform phoneme alignment") # vad params - parser.add_argument("--vad_filter", action="store_true", help="Whether to pre-segment audio with VAD, highly recommended! Produces more accurate alignment + timestamp see WhisperX paper https://arxiv.org/abs/2303.00747") + parser.add_argument("--vad_filter", default=True, help="Whether to pre-segment audio with VAD, highly recommended! Produces more accurate alignment + timestamp see WhisperX paper https://arxiv.org/abs/2303.00747") parser.add_argument("--vad_onset", type=float, default=0.500, help="Onset threshold for VAD (see pyannote.audio), reduce this if speech is not being detected") parser.add_argument("--vad_offset", type=float, default=0.363, help="Offset threshold for VAD (see pyannote.audio), reduce this if speech is not being detected.") @@ -61,7 +61,7 @@ def cli(): parser.add_argument("--suppress_tokens", type=str, default="-1", help="comma-separated list of token ids to suppress during sampling; '-1' will suppress most special characters except common punctuations") parser.add_argument("--initial_prompt", type=str, default=None, help="optional text to provide as a prompt for the first window.") - parser.add_argument("--condition_on_previous_text", type=str2bool, default=True, help="if True, provide the previous output of the model as a prompt for the next window; disabling may make the text inconsistent across windows, but the model becomes less prone to getting stuck in a failure loop") + parser.add_argument("--condition_on_previous_text", type=str2bool, default=False, help="if True, provide the previous output of the model as a prompt for the next window; disabling may make the text inconsistent across windows, but the model becomes less prone to getting stuck in a failure loop") parser.add_argument("--fp16", type=str2bool, default=True, help="whether to perform inference in fp16; True by default") parser.add_argument("--temperature_increment_on_fallback", type=optional_float, default=0.2, help="temperature to increase when falling back when the decoding fails to meet either of the thresholds below") @@ -74,7 +74,7 @@ def cli(): parser.add_argument("--threads", type=optional_int, default=0, help="number of threads used by torch for CPU inference; supercedes MKL_NUM_THREADS/OMP_NUM_THREADS") parser.add_argument("--hf_token", type=str, default=None, help="Hugging Face Access Token to access PyAnnote gated models") - parser.add_argument("--model_flush", action="store_true", help="Flush memory from each model after use, reduces GPU requirement but slower processing >1 audio file.") + # parser.add_argument("--model_flush", action="store_true", help="Flush memory from each model after use, reduces GPU requirement but slower processing >1 audio file.") parser.add_argument("--tmp_dir", default=None, help="Temporary directory to write audio file if input if not .wav format (only for VAD).") # fmt: on @@ -84,9 +84,13 @@ def cli(): output_dir: str = args.pop("output_dir") output_format: str = args.pop("output_format") device: str = args.pop("device") - model_flush: bool = args.pop("model_flush") + # model_flush: bool = args.pop("model_flush") os.makedirs(output_dir, exist_ok=True) + tmp_dir: str = args.pop("tmp_dir") + if tmp_dir is not None: + os.makedirs(tmp_dir, exist_ok=True) + align_model: str = args.pop("align_model") align_extend: float = args.pop("align_extend") align_from_prev: bool = args.pop("align_from_prev") @@ -124,6 +128,11 @@ def cli(): align_language = args["language"] if args["language"] is not None else "en" # default to loading english if not specified align_model, align_metadata = load_align_model(align_language, device, model_name=align_model) + # if model_flush: + # print(">>Model flushing activated... Only loading model after ASR stage") + # del align_model + # align_model = "" + if model_name.endswith(".en") and args["language"] not in {"en", "English"}: if args["language"] is not None: @@ -148,34 +157,36 @@ def cli(): writer = get_writer(output_format, output_dir) for audio_path in args.pop("audio"): input_audio_path = audio_path + tfile = None if vad_model is not None: if not audio_path.endswith(".wav"): - print("VAD requires .wav format, converting to wav as a tempfile...") + print(">>VAD requires .wav format, converting to wav as a tempfile...") tfile = tempfile.NamedTemporaryFile(delete=True, suffix=".wav") ffmpeg.input(audio_path, threads=0).output(tfile.name, ac=1, ar=SAMPLE_RATE).run(cmd=["ffmpeg"]) input_audio_path = tfile.name - print("Performing VAD...") + print(">>Performing VAD...") result = transcribe_with_vad(model, input_audio_path, vad_model, temperature=temperature, **args) - - if tfile is not None: - tfile.close() else: - print("Performing transcription...") + print(">>Performing transcription...") result = transcribe(model, input_audio_path, temperature=temperature, **args) - if align_model is not None: - if result["language"] != align_metadata["language"]: + if align_model is not None and len(result["segments"]) > 0: + if result.get("language", "en") != align_metadata["language"]: # load new language print(f"New language found ({result['language']})! Previous was ({align_metadata['language']}), loading new alignment model for new language...") align_model, align_metadata = load_align_model(result["language"], device) - + print(">>Performing alignment...") result = align(result["segments"], align_model, align_metadata, input_audio_path, device, extend_duration=align_extend, start_from_previous=align_from_prev, interpolate_method=interpolate_method) - # if diarize_model is not None: - # diarize_segments = diarize_model(input_audio_path, min_speakers=min_speakers, max_speakers=max_speakers) - # results_segments, word_segments = assign_word_speakers(diarize_segments, ) + + if diarize_model is not None: + diarize_segments = diarize_model(input_audio_path, min_speakers=min_speakers, max_speakers=max_speakers) + results_segments, word_segments = assign_word_speakers(diarize_segments) + + if tfile is not None: + tfile.close() writer(result, audio_path) diff --git a/whisperx/utils.py b/whisperx/utils.py index 84f03a9..992960b 100644 --- a/whisperx/utils.py +++ b/whisperx/utils.py @@ -270,6 +270,8 @@ class WriteSRTWord(ResultWriter): yield segment_start, segment_end, segment_text def write_result(self, result: dict, file: TextIO): + if "word_segments" not in result: + return for i, (start, end, text) in enumerate(self.iterate_result(result), start=1): print(f"{i}\n{start} --> {end}\n{text}\n", file=file, flush=True) @@ -286,11 +288,16 @@ def get_writer(output_format: str, output_dir: str) -> Callable[[dict, TextIO], "vtt": WriteVTT, "srt": WriteSRT, "tsv": WriteTSV, - # "json": WriteJSON, "ass": WriteASS, + "srt-word": WriteSRTWord, # "ass-char": WriteASSchar, # "pickle": WritePickle, - "srt-word": WriteSRTWord, + # "json": WriteJSON, + } + + writers_other = { + "pkl": WritePickle, + "ass-char": WriteASSchar } if output_format == "all": @@ -302,4 +309,9 @@ def get_writer(output_format: str, output_dir: str) -> Callable[[dict, TextIO], return write_all - return writers[output_format](output_dir) \ No newline at end of file + if output_format in writers: + return writers[output_format](output_dir) + elif output_format in writers_other: + return writers_other[output_format](output_dir) + else: + raise ValueError(f"Output format '{output_format}' not supported, choose from {writers.keys()} and {writers_other.keys()}") diff --git a/whisperx/vad.py b/whisperx/vad.py index fc291dd..aa86060 100644 --- a/whisperx/vad.py +++ b/whisperx/vad.py @@ -275,7 +275,10 @@ def merge_chunks(segments, chunk_size): for speech_turn in segments.get_timeline(): segments_list.append(SegmentX(speech_turn.start, speech_turn.end, "UNKNOWN")) - assert segments_list, "segments_list is empty." + if len(segments_list) == 0: + print("No active speech found in audio") + return [] + # assert segments_list, "segments_list is empty." # Make sur the starting point is the start of the segment. curr_start = segments_list[0].start