VachanaTTS / app.py
VIZINTZOR's picture
Update app.py
c229653 verified
import gradio as gr
from vachanatts import TTS
def generate_tts(text, voice, volume, speed ,noise_w_scale):
output_path = "output.wav"
TTS(
text,
voice=voice,
output=output_path,
volume=volume,
speed=speed,
noise_w_scale=noise_w_scale
)
return output_path
voices = ["th_f_1", "th_m_1", "th_f_2", "th_m_2"]
minimal_theme = gr.themes.Base(
primary_hue="blue",
secondary_hue="slate",
neutral_hue="gray",
font=[gr.themes.GoogleFont("Inter"), "sans-serif"],
font_mono=[gr.themes.GoogleFont("Fira Mono"), "monospace"],
radius_size="md",
spacing_size="md",
text_size="md"
)
with gr.Blocks(title="VachanaTTS",theme=minimal_theme) as demo:
gr.Markdown("""
# VachanaTTS
Text to Speech ภาษาไทยรวดเร็วและใช้งานง่าย.
""")
with gr.Row():
with gr.Column(scale=2):
text_input = gr.Textbox(label="📝 ใส่ข้อความ", placeholder="พิมพ์ข้อความที่นี่...", lines=4)
voice_dropdown = gr.Dropdown(choices=voices, value="th_f_1", label="🎤 Voice")
volume_slider = gr.Slider(0.5, 2.0, value=1.0, step=0.1, label="🔊 ระดับเสียง")
speed_slider = gr.Slider(0.5, 2.0, value=1.0, step=0.1, label="⚡ ความเร็ว")
noise_w_scale_value= gr.Slider(0.2, 1.5, value=0.8, step=0.1, label="🎭 ความหลากหลายของน้ำเสียง")
generate_button = gr.Button("🚀 สร้าง",variant="primary")
with gr.Column(scale=1):
output_audio = gr.Audio(label="🔈 เสียงที่สร้าง", type="filepath")
generate_button.click(
fn=generate_tts,
inputs=[text_input, voice_dropdown, volume_slider, speed_slider, noise_w_scale_value],
outputs=[output_audio]
)
# Launch app
demo.launch()