File size: 1,940 Bytes
5592e3b
 
 
 
358d190
 
e98a54a
358d190
 
e98a54a
358d190
 
 
 
b01c955
358d190
 
 
 
 
 
5592e3b
358d190
5592e3b
 
 
 
 
 
358d190
5592e3b
499e45c
b01c955
358d190
5592e3b
358d190
5592e3b
e98a54a
5592e3b
 
 
 
 
 
 
358d190
5592e3b
 
358d190
 
5592e3b
358d190
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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 HundAI Solutions, HundAI will continue to build AI tools for Hund Ecosystem.",
                "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()