import gradio as gr from transformers import AutoProcessor, BlipForConditionalGeneration, AutoTokenizer,SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan import librosa import numpy as np import torch import image_text_model as itm import audio_model as am import open_clip #CONSTANTS def generate_captions_speech(image): caption_blip_large = itm.generate_caption(itm.blip_processor_large, itm.blip_model_large, image) print('generate_captions>>>'+caption_blip_large) speech=am.synthesize_speech(caption_blip_large) return caption_blip_large,gr.Audio.update(value=(16000, speech.cpu().numpy())) # Define la interfaz de usuario utilizando Gradio entradas y salidas inputsImg = [ gr.Image(type="pil", label="Imagen"), ] #Salidas es lo que genera de tetxo y el audio outputs = [ gr.Textbox(label="Caption generated by BLIP-large"),gr.Audio(type="numpy",label='Transcripcion')] title = "Clasificación de imagen a texto y conversión de texto a voz" description = "Carga una imagen y obtén una descripción de texto de lo que contiene la imagen, así como un archivo de audio de la trasncripcion de la imagen en audio descrito." examples = [] interface = gr.Interface(fn=generate_captions_speech, inputs=inputsImg, outputs=outputs, examples=examples, title=title, description=description) interface.launch()