| 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) |
| |
| |
| 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 |
| ) |
| |
| |
| result = converter( |
| audio_file, |
| speakers_list=None, |
| 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() |
|
|