happy0708/minnan_test
0
1import tempfile2 3import gradio as gr4import soundfile as sf5 6from transformers import (7 AutoTokenizer,8 VitsModel9)10 11import torch12 13MODEL_NAME = "facebook/mms-tts-nan"14 15tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)16model = VitsModel.from_pretrained(MODEL_NAME)17 18 19def tts(text):20 21 inputs = tokenizer(text, return_tensors="pt")22 23 with torch.no_grad():24 output = model(**inputs)25 26 waveform = output.waveform.squeeze().cpu().numpy()27 28 file = tempfile.NamedTemporaryFile(29 suffix=".wav",30 delete=False31 )32 33 sf.write(34 file.name,35 waveform,36 model.config.sampling_rate37 )38 39 return file.name40 41 42demo = gr.Interface(43 fn=tts,44 inputs=gr.Textbox(label="輸入文字"),45 outputs=gr.Audio(type="filepath"),46 title="Taiwanese TTS"47)48 49demo.launch()