import gradio as gr
DEMO_ORIGINAL = "SIWIS_fr_neut_parl_s01_0001_ref.wav"
DEMO_CORRECTED = "SIWIS_fr_neut_parl_s01_0001_corrected.wav"
def process_audio(audio):
if audio is None:
return None, "⚠️ Please upload audio first"
return None, "🚧 Full model coming soon! See demo below ↓"
with gr.Blocks(title="VoiceClean 🎙️") as demo:
gr.HTML("""
🎙️ VoiceClean
AI that fixes your French pronunciation while keeping your voice
⚡ 0.38x RTF — faster than real-time
""")
with gr.Row():
audio_in = gr.Audio(label="🔴 Your Voice", type="filepath",
sources=["upload","microphone"])
audio_out = gr.Audio(label="🟢 Corrected Voice")
status = gr.Markdown("Upload audio to start")
btn = gr.Button("🚀 Fix Pronunciation", variant="primary")
btn.click(process_audio, inputs=audio_in, outputs=[audio_out, status])
gr.HTML("
🎧 Listen to Demo
")
with gr.Row():
gr.Audio(value=DEMO_ORIGINAL, label="🔴 Before — Original")
gr.Audio(value=DEMO_CORRECTED, label="🟢 After — Corrected")
gr.HTML("""
GitHub |
Full model deployment coming soon
""")
demo.launch()