Spaces:
Running
Running
import torch | |
from transformers import pipeline | |
class Transcriber: | |
def __init__(self, conf): | |
self.conf = conf | |
self.pipeline = self.asr_pipeline() | |
def asr_pipeline(self): | |
return pipeline( | |
self.conf["model"]["asr"]["type"], | |
model=self.conf["model"]["asr"]["transcriber"], | |
device=0 if torch.cuda.is_available() else -1 # Use 0 for GPU, -1 for CPU | |
) | |
def get_pipeline(self): | |
return self.pipeline | |
def run(self, file_path): | |
kwargs = {"max_new_tokens": self.conf["model"]["asr"]["max_new_tokens"]} | |
output = self.pipeline( | |
file_path, | |
generate_kwargs=kwargs, | |
return_timestamps=True, | |
) | |
return output.get("chunks", output) # Use .get to avoid key errors |