| | 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__))) |
| |
|
| | |
| | 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.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() |
| |
|