# app.py import gradio as gr from backend import KabyleASR # Initialize ASR asr = KabyleASR() def transcribe_audio(audio): if audio is None: return "Please upload an audio file." return asr.transcribe(audio) # Gradio Interface (without deprecated args) with gr.Blocks() as demo: gr.Markdown(""" # 🎤 Tanti: Kabyle ASR (Free Tier) Upload a Kabyle audio file. Transcription may take 1–2 minutes per 30 seconds of audio. """) with gr.Row(): audio_input = gr.Audio(sources=["upload"], type="filepath", label="Upload Audio") with gr.Row(): transcribe_btn = gr.Button("Transcribe") with gr.Row(): output_text = gr.Textbox(label="Transcription", lines=8) transcribe_btn.click(fn=transcribe_audio, inputs=audio_input, outputs=output_text) # Launch without SSR if __name__ == "__main__": demo.launch(ssr_mode=False)