| 123456789101112131415161718192021222324 |
- 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
|