debasishmohanty's picture
modified handler with simpler code
9a129aa
Raw
History Blame Contribute Delete
1.08 kB
from transformers import AutoProcessor, SeamlessM4Tv2ForSpeechToText
import torchaudio
from torch import Tensor
from base64 import b64encode
class EndpointHandler():
def __init__(self, path=""):
self.path = path
self.processor = AutoProcessor.from_pretrained(
"facebook/seamless-m4t-v2-large")
self.model = SeamlessM4Tv2ForSpeechToText.from_pretrained(
"facebook/seamless-m4t-v2-large")
self.AUDIO_DEFAULT_SAMPLE_RATE = 16000
def __call__(self, data: dict):
input_audio_tensor = data["inputs"]["audio"]
input_lang_code = data["inputs"]["input_lang_code"]
output_lang_code = data["inputs"]["output_lang_code"]
audio_inputs = self.processor(
audios=input_audio_tensor, src_lang=input_lang_code, return_tensors="pt")
id_array = self.model.generate(
**audio_inputs, tgt_lang=output_lang_code)
text_array_from_audio = self.processor.batch_decode(
id_array, skip_special_tokens=True)
return [{"text_array": text_array_from_audio}]