import time import faster_whisper from faster_whisper.transcribe import Segment def transcribe( file: str, model_name: str = "large-v3", device: str = "cuda", language: str = "es", download_root: str = "/home/superti/workspace/models", initial_prompt: str = "", ) -> tuple[list[Segment], float]: whisper = faster_whisper.WhisperModel(model_name, device=device, download_root=download_root) start = time.time() trns, _ = whisper.transcribe( file, word_timestamps=True, language=language, initial_prompt=initial_prompt or None, ) segments = list(trns) elapsed = time.time() - start return segments, elapsed