rvc-ui / app.py
Ryouko
Update app.py
f86a862 verified
import os
import shutil
from os import listdir
import gradio as gr
with gr.Blocks(theme="Ryouko-Yamanda65777/ryo") as demo:
with gr.Row():
gr.Markdown("# RVC V2 - EASY GUI")
with gr.Row():
with gr.Tab("Inference"):
with gr.Row():
model_name = gr.Textbox(label="Model Name For Inference")
with gr.Row():
input_path = gr.Audio(label="Input Audio Path", type="filepath")
with gr.Row():
with gr.Accordion("Inference Settings"):
pitch = gr.Slider(minimum=-12, maximum=12, step=1, label="Pitch", value=0)
f0_method = gr.Dropdown(choices=["rmvpe", "pm", "harvest"], label="f0 Method", value="rmvpe", interactive=True)
index_rate = gr.Slider(minimum=0, maximum=1, step=0.01, label="Index Rate", value=0.5, interactive=True)
volume_normalization = gr.Slider(minimum=0, maximum=1, step=0.01, label="Volume Normalization", value=0, interactive=True)
consonant_protection = gr.Slider(minimum=0, maximum=1, step=0.01, label="Consonant Protection", value=0.5, interactive=True)
with gr.Row():
save_as = gr.Textbox(value="/content/RVC/audios/output_audio.wav", label="Output Audio Path", interactive=True)
run_btn = gr.Button("Run Inference")
with gr.Row():
output_message = gr.Textbox(label="Output Message",interactive=False)
output_audio = gr.Audio(label="Output Audio",interactive=False)
#run_btn.click(run_inference, [model_name, pitch, input_path, f0_method, save_as, index_rate, volume_normalization, consonant_protection], output_message)
with gr.Tab("Training"):
with gr.TabItem("Create Index and stuff"):
model_name = gr.Textbox(label="Model Name (No spaces or symbols)")
dataset_folder = gr.Textbox(label="Dataset Folder", value="/content/dataset")
f0method = gr.Dropdown(["pm", "harvest", "rmvpe", "rmvpe_gpu"], label="F0 Method", value="rmvpe_gpu", interactive=True)
preprocess_btn = gr.Button("Start Preprocessing")
f0_btn = gr.Button("Extract F0 Feature")
train_btn = gr.Button("Train Index")
preprocess_output = gr.Textbox(label="Preprocessing Log")
f0_output = gr.Textbox(label="F0 Feature Extraction Log")
train_output = gr.Textbox(label="Training Log")
#preprocess_btn.click(preprocess_data, inputs=[model_name, dataset_folder], outputs=preprocess_output)
#f0_btn.click(extract_f0_feature, inputs=[model_name, f0method], outputs=f0_output)
#train_btn.click(train_index, inputs=[model_name, "v2"], outputs=train_output)
with gr.TabItem("Train Your Model"):
model_name_input = gr.Textbox(label="Model Name", placeholder="Enter the model name", interactive=True)
epochs_slider = gr.Slider(minimum=50, maximum=2000, value=200, step=10, label="Epochs", interactive=True)
save_frequency_slider = gr.Slider(minimum=10, maximum=100, value=50, step=10, label="Save Frequency", interactive=True)
batch_size_slider = gr.Slider(minimum=1, maximum=20, value=8, step=1, label="Batch Size", interactive=True)
train_button = gr.Button("Train Model")
training_output = gr.Textbox(label="Training Log", interactive=False)
#train_button.click(launch_training, inputs=[model_name_input, epochs_slider, save_frequency_slider, batch_size_slider], outputs=training_output)
demo.launch()