Ttslisu / app.py
Inial's picture
Update app.py
d378de6 verified
import gradio as gr
import torch
import torchaudio
from transformers import VitsModel, VitsTokenizer
def tts_lisu(text):
model_id = "facebook/mms-tts-lis"
try:
tokenizer = VitsTokenizer.from_pretrained(model_id)
model = VitsModel.from_pretrained(model_id)
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
output = model(**inputs)
waveform = output.waveform.squeeze().cpu()
sample_rate = model.config.sampling_rate
path = "lisu.wav"
torchaudio.save(path, waveform.unsqueeze(0), sample_rate)
return "✅ Giọng Lisu (ꓡꓲ-ꓢꓴ)", path
except Exception as e:
return f"❌ Lỗi: {str(e)}", None
with gr.Blocks() as demo:
gr.Markdown("# 🔊 Lisu TTS (ꓡꓲ-ꓢꓴ /lis/)")
text_input = gr.Textbox(label="Nhập văn bản bằng tiếng Lisu")
output_text = gr.Textbox(label="Thông tin")
output_audio = gr.Audio(label="Phát âm", type="filepath")
btn = gr.Button("Phát")
btn.click(fn=tts_lisu, inputs=[text_input], outputs=[output_text, output_audio])
demo.launch()