import gradio as gr from infer_rvc_python import BaseLoader def convert_audio(audio_file, file_model, pitch_algo, pitch_lvl, file_index, index_influence, respiration_median_filtering, envelope_ratio, consonant_breath_protection): converter = BaseLoader(only_cpu=True, hubert_path=None, rmvpe_path=None) # Apply the configuration converter.apply_conf( file_model=file_model, pitch_algo=pitch_algo, pitch_lvl=pitch_lvl, file_index=file_index, index_influence=index_influence, respiration_median_filtering=respiration_median_filtering, envelope_ratio=envelope_ratio, consonant_breath_protection=consonant_breath_protection ) # Convert the audio result = converter( audio_file, speakers_list=None, # You can replace this with an actual speakers_list if needed overwrite=False, parallel_workers=4 ) return result theme = gr.themes.Default( primary_hue="sky", secondary_hue="violet", neutral_hue="gray", font=[gr.themes.GoogleFont('orbitron')] ) with gr.Blocks(theme=theme) as demo: gr.Markdown("EV RVC") audio_file = gr.Audio(label="Upload Audio", type="filepath") file_index = gr.File(label="File Index") file_model = gr.File(label="Model File") pitch_algo = gr.Dropdown(label="Pitch Algorithm", choices=["pm", "crepe", " harvest", "rmvpe", "rmvpe+"], value="rmvpe+") pitch_lvl = gr.Slider(label="Pitch Level", minimum=-12, maximum=12, step=1, value=0) index_influence = gr.Slider(label="Index Influence", minimum=0, maximum=1, step=0.01, value=0.66) respiration_median_filtering = gr.Slider(label="Respiration Median Filtering", minimum=0, maximum=10, step=1, value=3) envelope_ratio = gr.Slider(label="Envelope Ratio", minimum=0, maximum=1, step=0.01, value=0.25) consonant_breath_protection = gr.Slider(label="Consonant Breath Protection", minimum=0, maximum=1, step=0.01, value=0.33) convert_button = gr.Button("Convert Audio") output_audio = gr.Audio(label="Converted Audio") convert_button.click( fn=convert_audio, inputs=[audio_file, file_model, pitch_algo, pitch_lvl, file_index, index_influence, respiration_median_filtering, envelope_ratio, consonant_breath_protection], outputs=output_audio ) demo.launch()