Text_To_Audio / app.py
ananthakrishnan171's picture
Create app.py
d027c33 verified
Raw History Blame Contribute Delete
1.19 kB
import gradio as gr
import torch
from bark import SAMPLE_RATE, generate_audio
from scipy.io.wavfile import write as write_wav
import tempfile
def generate_voice(text_prompt, language):
if not text_prompt.strip() or text_prompt.isnumeric():
return None, "Please enter valid text."
try:
audio_array = generate_audio(text_prompt)
audio_array = audio_array.cpu().numpy()
with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as fp:
write_wav(fp.name, SAMPLE_RATE, audio_array)
return fp.name, "Audio generated successfully!"
except Exception as e:
return None, f"Error: {str(e)}"
with gr.Blocks() as demo:
gr.Markdown("# ๐ŸŒ Text to Speech Generator (Multi-Language Bark TTS GPU) ๐Ÿš€")
txt = gr.Textbox(label="Enter Text")
lang = gr.Dropdown(
choices=["English", "Tamil", "Hindi", "French"],
label="Select Language"
)
btn = gr.Button("Generate Audio")
audio = gr.Audio(label="Generated Audio", type="filepath")
output_text = gr.Textbox(label="Status Message")
btn.click(fn=generate_voice, inputs=[txt, lang], outputs=[audio, output_text])
demo.launch()