# Copyright (c) 2023 Amphion. # # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree import subprocess command_to_run = "cd ./modules/monotonic_align;mkdir -p monotonic_align;python setup.py build_ext --inplace;cd /home/user/app" try: result = subprocess.check_output(command_to_run, shell=True, text=True) print("Command output:") print(result) except subprocess.CalledProcessError as e: print(f"Command failed with return code {e.returncode}") import gradio as gr import os import inference SUPPORTED_SPEAKERS = { "Cori Samuel":"hifitts_92", "Phil Benson":"hifitts_6097", "Mike Pelton":"hifitts_6670", "Tony Oliva":"hifitts_6671", "Maria Kasper":"hifitts_8051", "John Van Stan":"hifitts_9017", "Helen Taylor":"hifitts_9136", "Sylviamb":"hifitts_11614", "Celine Major":"hifitts_11697", "LikeManyWaters":"hifitts_12787" } def tts_inference( input_text, target_speaker ): ### Target Speaker ### target_speaker = SUPPORTED_SPEAKERS[target_speaker] args_list = ["--config", "./egs/tts/vits_hifitts/exp_config.json"] args_list += ["--checkpoint_path", "./expdir/checkpoint/latest-checkpoint"] args_list += ["--speaker_name", target_speaker] args_list += ["--text", input_text] args_list += ["--mode","single"] args_list += ["--output_dir", "result"] args_list += ["--log_level", "debug"] os.environ["WORK_DIR"] = "./" inference.main(args_list) ### Display ### result_file = os.path.join( "result/single/test_pred.wav" ) return result_file gr.Markdown( """ # Amphion Text to Speech (TTS) [![Open in OpenXLab](https://cdn-static.openxlab.org.cn/app-center/openxlab_app.svg)](https://openxlab.org.cn/usercenter/Amphion) This demo provides an Amphion TTS pretrained model (VITS) for you to play. """ ) demo_inputs = [ gr.Textbox( label="Input text", type="text", placeholder="Type something here.." ), gr.Radio( choices=list(SUPPORTED_SPEAKERS.keys()), label="Target Speaker", value="Cori Samuel" ) ] demo_output = gr.Audio(label="") demo = gr.Interface( fn=tts_inference, inputs=demo_inputs, outputs=demo_output, title="Amphion Text-to-Speech", ) if __name__ == "__main__": demo.launch(share=True)