ADSTR / app.py
MS846's picture
Upload app.py with huggingface_hub
e2a6087 verified
Raw
History Blame Contribute Delete
1.25 kB
import gradio as gr
from transformers import pipeline
# Load the pre-trained voice conversion model
# You can replace with any RVC / voice conversion model from Hugging Face
vc_pipeline = pipeline("audio-to-audio", model="wok000/RVC-Hindi-Voice")
def convert_voice(input_audio):
# input_audio is a tuple: (sample_rate, numpy_array)
sr, data = input_audio
# Save the input to a temporary file for processing
input_path = "input.wav"
import soundfile as sf
sf.write(input_path, data, sr)
# Run voice conversion
result = vc_pipeline(input_path)
# The pipeline returns a dictionary with 'audio'
output_audio_path = "output.wav"
with open(output_audio_path, "wb") as f:
f.write(result["audio"])
return output_audio_path
# Gradio Interface
demo = gr.Interface(
fn=convert_voice,
inputs=gr.Audio(sources=["microphone", "upload"], type="numpy", label="Upload or Record Audio"),
outputs=gr.Audio(type="file", label="Converted Voice"),
title="Indian Accent Voice Conversion",
description="Upload a voice sample and convert it to a Hindi-styled accent using a pre-trained RVC model."
)
if __name__ == "__main__":
demo.launch()