|
from microsoft_tts import edge_tts_pipeline |
|
import gradio as gr |
|
import click |
|
from lang_data import languages |
|
|
|
|
|
def tts(text, Language='English', Gender='Male', translate_text_flag=False, no_silence=True): |
|
voice_name = None |
|
tts_save_path = '' |
|
speed = 1.0 |
|
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 |
|
) |
|
return edge_save_path |
|
|
|
|
|
|
|
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 = """""" |
|
gr.Markdown(description) |
|
|
|
|
|
example = [ |
|
["This is just the beginning of the journey of HundAI Solutions, HundAI will continue to build AI tools for Hund Ecosystem.", "English", "Female"], |
|
["これは、HundAIソリューションの旅の始まりに過ぎません。HundAIはHundエコシステムのためにAIツールを構築し続けます。", "Japanese", "Female"], |
|
["Это только начало пути HundAI Solutions. HundAI будет продолжать создавать AI-инструменты для экосистемы Hund.", "Russian", "Female"], |
|
["Bu, HundAI Çözümleri yolculuğunun sadece başlangıcıdır. HundAI, Hund Ekosistemi için AI araçları oluşturmaya devam edecektir.", "Turkish", "Female"], |
|
["这只是HundAI解决方案旅程的开始。HundAI将继续为Hund生态系统构建AI工具。", "Chinese", "Female"] |
|
] |
|
|
|
gradio_inputs = [ |
|
gr.Textbox(label="Enter Your Text", lines=3, placeholder="Start typing..."), |
|
gr.Dropdown(label="Speaker Origin", choices=source_lang_list, value="English"), |
|
gr.Dropdown(label="Gender", choices=['Male', 'Female'], value="Female") |
|
] |
|
|
|
gradio_outputs = [ |
|
gr.Audio(label="Audio File") |
|
] |
|
|
|
|
|
theme = 'Hev832/Applio' |
|
|
|
|
|
demo = gr.Interface( |
|
fn=tts, |
|
inputs=gradio_inputs, |
|
outputs=gradio_outputs, |
|
title="", |
|
examples=example, |
|
theme=theme |
|
) |
|
|
|
|
|
demo.queue().launch(allowed_paths=[f"./audio"], debug=debug, share=share) |
|
|
|
if __name__ == "__main__": |
|
main() |
|
|