import os import gradio as gr curr_dir = os.path.dirname(os.path.abspath(__file__)) print("os.path.dirname:", os.path.dirname(os.path.abspath(__file__))) # Define the audio file paths (replace with your actual paths) audio_files = { "EN": { "source1": os.path.join(curr_dir, "asset/audio/speech_clone_samples/source/-8014568635405176842.wav"), "source2": os.path.join(curr_dir, "asset/audio/speech_clone_samples/source/2188769758301752050.wav"), "prompt1": [ os.path.join(curr_dir, "asset/audio/speech_clone_samples/prompt/prompt1/4813840990459345930.wav"), os.path.join(curr_dir, "asset/audio/speech_clone_samples/prompt/prompt1/-4261051484297537007.wav") ], "prompt2": [ os.path.join(curr_dir, "asset/audio/speech_clone_samples/prompt/prompt2/-5427774732334682307.wav"), os.path.join(curr_dir, "asset/audio/speech_clone_samples/prompt/prompt2/-8434461861028245286.wav") ], "gen1": [ os.path.join(curr_dir, "asset/audio/speech_clone_samples/generated/gen1/5518114099457736437.wav"), os.path.join(curr_dir, "asset/audio/speech_clone_samples/generated/gen1/7702800575106132714.wav") ], "gen2": [ os.path.join(curr_dir, "asset/audio/speech_clone_samples/generated/gen2/-3552571881595006474.wav"), os.path.join(curr_dir, "asset/audio/speech_clone_samples/generated/gen2/1663763965594639195.wav") ] }, "ZH": { "source1": os.path.join(curr_dir, "asset/audio/speech_clone_samples/source/6180100163014579264.wav"), "source2": os.path.join(curr_dir, "asset/audio/speech_clone_samples/source/3454520432972073544.wav"), "prompt3": [ os.path.join(curr_dir, "asset/audio/speech_clone_samples/prompt/prompt3/-3133904573328901327.wav"), os.path.join(curr_dir, "asset/audio/speech_clone_samples/prompt/prompt3/-6807997165982172717.wav") ], "prompt4": [ os.path.join(curr_dir, "asset/audio/speech_clone_samples/prompt/prompt4/3957690686751537502.wav"), os.path.join(curr_dir, "asset/audio/speech_clone_samples/prompt/prompt4/-6025252638827969073.wav") ], "gen3": [ os.path.join(curr_dir, "asset/audio/speech_clone_samples/generated/gen3/4648220778277450149.wav"), os.path.join(curr_dir, "asset/audio/speech_clone_samples/generated/gen3/3417274376341807017.wav") ], "gen4": [ os.path.join(curr_dir, "asset/audio/speech_clone_samples/generated/gen4/8580165735770550130.wav"), os.path.join(curr_dir, "asset/audio/speech_clone_samples/generated/gen4/-2291633937079669023.wav") ] } } def create_audio_demo(): with gr.Blocks(title="Voice Conversion") as demo: gr.Image(os.path.join(curr_dir, "asset/img/converted_audio.png"), height=360) gr.Markdown("# Voice Conversion") with gr.Tabs(): with gr.TabItem("English (EN)"): with gr.Row(): with gr.Column(): gr.Markdown("### Source Audio 1") gr.Audio(audio_files["EN"]["source1"], label="Source 1") with gr.Column(): gr.Markdown("### Prompts") gr.Audio(audio_files["EN"]["prompt1"][0], label="Prompt 1") gr.Audio(audio_files["EN"]["prompt1"][1], label="Prompt 2") with gr.Column(): gr.Markdown("### Converted Audio") gr.Audio(audio_files["EN"]["gen1"][0], label="Converted 1") gr.Audio(audio_files["EN"]["gen1"][1], label="Converted 2") with gr.Row(): with gr.Column(): gr.Markdown("### Source Audio 2") gr.Audio(audio_files["EN"]["source2"], label="Source 2") with gr.Column(): gr.Markdown("### Prompts") gr.Audio(audio_files["EN"]["prompt2"][0], label="Prompt 1") gr.Audio(audio_files["EN"]["prompt2"][1], label="Prompt 2") with gr.Column(): gr.Markdown("### Converted Audio") gr.Audio(audio_files["EN"]["gen2"][0], label="Converted 1") gr.Audio(audio_files["EN"]["gen2"][1], label="Converted 2") with gr.TabItem("Chinese (ZH)"): with gr.Row(): with gr.Column(): gr.Markdown("### Source Audio 1") gr.Audio(audio_files["ZH"]["source1"], label="Source 1") with gr.Column(): gr.Markdown("### Prompts") gr.Audio(audio_files["ZH"]["prompt3"][0], label="Prompt 1") gr.Audio(audio_files["ZH"]["prompt3"][1], label="Prompt 2") with gr.Column(): gr.Markdown("### Converted Audio") gr.Audio(audio_files["ZH"]["gen3"][0], label="Converted 1") gr.Audio(audio_files["ZH"]["gen3"][1], label="Converted 2") with gr.Row(): with gr.Column(): gr.Markdown("### Source Audio 2") gr.Audio(audio_files["ZH"]["source2"], label="Source 2") with gr.Column(): gr.Markdown("### Prompts") gr.Audio(audio_files["ZH"]["prompt4"][0], label="Prompt 1") gr.Audio(audio_files["ZH"]["prompt4"][1], label="Prompt 2") with gr.Column(): gr.Markdown("### Converted Audio") gr.Audio(audio_files["ZH"]["gen4"][0], label="Converted 1") gr.Audio(audio_files["ZH"]["gen4"][1], label="Converted 2") return demo if __name__ == "__main__": demo = create_audio_demo() demo.launch()