speechgen / app.py
aidevhund's picture
Update app.py
e98a54a verified
raw
history blame
1.9 kB
from microsoft_tts import edge_tts_pipeline
import gradio as gr
import click
from lang_data import languages
# TTS function
def tts(text, Language='English', Gender='Male', translate_text_flag=False, no_silence=True):
voice_name = None
tts_save_path = ''
speed = 1.0 # Set speed directly in the function
edge_save_path = edge_tts_pipeline(
text, Language, voice_name, Gender,
translate_text_flag=translate_text_flag,
no_silence=no_silence, speed=speed,
tts_save_path=tts_save_path, long_sentence=True # Always set long_sentence to True
)
return edge_save_path
# Gradio setup
source_lang_list = ['English']
source_lang_list.extend(languages.keys())
@click.command()
@click.option("--debug", is_flag=True, default=False, help="Enable debug mode.")
@click.option("--share", is_flag=True, default=False, help="Enable sharing of the interface.")
def main(debug, share):
description = """edge-tts GitHub [https://github.com/rany2/edge-tts]"""
gr.Markdown(description)
# Define Gradio inputs and outputs
example = [["This is just the beginning of the journey of AI, AI will take over the world soon",
"English", "Female", 1.0, False, False]]
gradio_inputs = [
gr.Textbox(label="Enter Text", lines=3, placeholder="Enter your text here..."),
gr.Dropdown(label="Language", choices=source_lang_list, value="English"),
gr.Dropdown(label="Gender", choices=['Male', 'Female'], value="Female")
]
gradio_outputs = [
gr.Audio(label="Audio File")
]
# Create Gradio interface
demo = gr.Interface(fn=tts, inputs=gradio_inputs, outputs=gradio_outputs, title="Edge TTS", examples=example)
# Launch Gradio with command-line options
demo.queue().launch(allowed_paths=[f"./audio"], debug=debug, share=share)
if __name__ == "__main__":
main()