File size: 2,373 Bytes
f4169cc
 
 
bc2a83d
f4169cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389aa8a
 
 
 
 
 
 
 
 
 
f4169cc
bc2a83d
 
 
15f2722
bc2a83d
 
 
 
 
f4169cc
4a036c7
f4169cc
 
 
497ad64
f4169cc
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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()