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