Kinh-Can / app.py
Thien-Nhuan's picture
Update app.py
5b2b548 verified
raw
history blame
1 kB
import gradio as gr
from TTS.api import TTS
import tempfile
# Load viXTTS model
tts = TTS(model_path="ntdgo/ttsvi", progress_bar=False, gpu=True)
def synthesize_tts(audio_file, text):
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as tmp_output:
tts.tts_to_file(
text=text,
speaker_wav=audio_file,
language="vi",
file_path=tmp_output.name
)
return tmp_output.name
with gr.Blocks() as demo:
gr.Markdown("## 🇻🇳 Vietnamese Emotional TTS with Voice Cloning")
with gr.Row():
audio_input = gr.Audio(label="🎤 Upload your voice (WAV only)", type="filepath")
text_input = gr.Textbox(label="📝 Vietnamese Text", value="Xin chào! Tôi rất vui được gặp bạn.")
output_audio = gr.Audio(label="🗣️ Generated Voice Output")
run_btn = gr.Button("Generate")
run_btn.click(fn=synthesize_tts, inputs=[audio_input, text_input], outputs=output_audio)
demo.launch()