File size: 1,478 Bytes
1a7973f
a435eea
 
 
 
933035a
 
30bd11b
 
a435eea
7d7172f
 
30bd11b
8017b28
a435eea
9b535d6
d8bdfb6
30bd11b
a435eea
 
30bd11b
 
 
 
a435eea
 
30bd11b
a435eea
30bd11b
 
7d7172f
30bd11b
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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()