Coqui-TTS / app.py
Alibrown's picture
Create app.py
1de8de7 verified
import gradio as gr
from TTS.api import TTS
import tempfile
import os
# Modell laden
tts = TTS(model_name="tts_models/multilingual/multi-dataset/xtts_v2", gpu=False)
def generate_audio(text, speaker_wav, language):
# Temporäre Datei erstellen
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as fp:
output_path = fp.name
# TTS-Generierung
tts.tts_to_file(
text=text,
speaker_wav=speaker_wav,
language=language,
file_path=output_path
)
return output_path
# Gradio-UI
with gr.Blocks() as demo:
gr.Markdown("# 🗣️ XTTS Text-to-Speech")
gr.Markdown("Coqui XTTS multilingual TTS Demo")
with gr.Row():
with gr.Column():
text_input = gr.Textbox(label="Eingabetext", placeholder="Text hier eingeben...")
speaker_input = gr.Audio(label="Referenzstimme (max 10s)", sources=["upload"], type="filepath")
language = gr.Dropdown(
label="Sprache",
choices=["en", "de", "es", "fr", "it", "pt", "pl"],
value="en"
)
btn = gr.Button("Generieren")
with gr.Column():
audio_output = gr.Audio(label="Generierte Sprache", autoplay=True)
btn.click(
fn=generate_audio,
inputs=[text_input, speaker_input, language],
outputs=audio_output
)
if __name__ == "__main__":
demo.launch()