from transformers import pipeline import gradio as gr import numpy as np traductor = pipeline("translation", model="Helsinki-NLP/opus-mt-tc-big-en-es") emitidor_audio = pipeline("text-to-speech", model="suno/bark-small") def traducir(frase): traduccion = traductor(frase) return traduccion[0]["translation_text"] def emitir_audio(texto_traducido): audio = emitir_audio(texto_traducido) audio_array = np.array(audio["audio"][0], dtype=np.float32) sampling_rate = audio["sampling_rate"] return (sampling_rate,audio_array) with gr.Blocks() as aplicacion: gr.Markdown("ESTA ES NUESTRA APLICACIÓN") with gr.Row(): entrada = gr.Textbox(placeholder="Frase a traducir", label="Frase") traduccion = gr.Textbox(label="Frase en Español") salida = gr.Audio(label="Audio en Español") entrada.change(fn=traducir, inputs=entrada, outputs=traduccion) btn = gr.Button("Emitir Audio") btn.click(fn=emitir_audio, inputs=traduccion, outputs=salida)