evrvctest / app.py
Hev832's picture
Update app.py
389aa8a verified
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()