Spaces:
Sleeping
Sleeping
import torch | |
from faster_whisper import WhisperModel | |
class Transcription: | |
def __init__(self, model_name: str) -> None: | |
print("Loading whisper model...") | |
self.whisper_model = self.load_whisper(model_id=model_name) | |
print("Loaded whisper model") | |
def load_whisper(self, model_id: str): | |
device = "cuda:0" if torch.cuda.is_available() else "cpu" | |
torch_dtype = "float16" if torch.cuda.is_available() else "float32" | |
return WhisperModel(model_id, device=device, compute_type=torch_dtype) | |
def transcribe(self, audio_path: str) -> str: | |
"""Transcribes the given audio data | |
Args: | |
audio_path (str): audio path | |
Returns: | |
str: text | |
""" | |
segments, info = self.whisper_model.transcribe(audio_path, language="en") | |
return "".join(segment.text for segment in segments) | |