speakdocker / tts_engine.py
subramaniansrc's picture
Update tts_engine.py
03ac98a verified
Raw
History Blame Contribute Delete
737 Bytes
import torch
import soundfile as sf
import tempfile
from transformers import AutoTokenizer
from transformers import AutoModelForSeq2SeqLM
model = None
tokenizer = None
def load_model():
global model, tokenizer
if model is None:
model_name = "sarvamai/sarvam-tts"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
def generate_voice(text):
load_model()
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
audio = model.generate(**inputs)
audio_file = tempfile.NamedTemporaryFile(delete=False, suffix=".wav")
sf.write(audio_file.name, audio.numpy(), 22050)
return audio_file.name