FastRVC-3.0 / app.py
Peeble's picture
Create app.py
0bd4685 verified
raw
history blame contribute delete
838 Bytes
import gradio as gr
import librosa
import soundfile as sf
import numpy as np
def convert_voice(source, target):
src_audio, sr = librosa.load(source, sr=None)
tgt_audio, _ = librosa.load(target, sr=None)
# simple placeholder mixing (replace with RVC inference)
min_len = min(len(src_audio), len(tgt_audio))
output = (src_audio[:min_len] * 0.5) + (tgt_audio[:min_len] * 0.5)
out_path = "output.wav"
sf.write(out_path, output, sr)
return out_path
with gr.Blocks() as demo:
gr.Markdown("# RVC Voice Converter")
source = gr.Audio(type="filepath", label="Source Voice")
target = gr.Audio(type="filepath", label="Target Voice")
btn = gr.Button("Convert")
output = gr.Audio(label="Converted Voice")
btn.click(convert_voice, inputs=[source, target], outputs=output)
demo.launch()