import gradio as gr from faster_whisper import WhisperModel # Modelo model = WhisperModel( "small", device="cpu", compute_type="int8" ) def transcribir(audio): if audio is None: return "No se ha seleccionado ningún audio." segments, info = model.transcribe( audio, language="es", vad_filter=True ) texto = " ".join(segment.text.strip() for segment in segments) return texto with gr.Blocks( title="Audio → Texto" ) as app: gr.Markdown( """ # 🎙️ Audio → Texto Convierte tus archivos de audio a texto automáticamente. **Procesamiento local:** el audio no sale de tu computadora. """ ) with gr.Row(): with gr.Column(): audio = gr.Audio( sources=["upload", "microphone"], type="filepath", label="Audio" ) boton = gr.Button( "🚀 Transcribir", variant="primary" ) with gr.Column(): resultado = gr.Textbox( label="Transcripción", placeholder="Aquí aparecerá la transcripción...", lines=15 ) boton.click( fn=transcribir, inputs=audio, outputs=resultado ) app.launch()