adri017 commited on
Commit
5095b37
1 Parent(s): 9d112e5

prueba diffuser discapacitados

Browse files
Files changed (2) hide show
  1. README.md +1 -1
  2. appDiffuserDiscapacidad.py +40 -0
README.md CHANGED
@@ -5,7 +5,7 @@ colorFrom: red
5
  colorTo: green
6
  sdk: gradio
7
  sdk_version: 6.0.2
8
- app_file: appTraduccion.py
9
  pinned: false
10
  license: apache-2.0
11
  ---
 
5
  colorTo: green
6
  sdk: gradio
7
  sdk_version: 6.0.2
8
+ app_file: appDiffuserDiscapacidad.py
9
  pinned: false
10
  license: apache-2.0
11
  ---
appDiffuserDiscapacidad.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ from PIL import Image
4
+ from diffusers import DiffusionPipeline
5
+ from transformers import pipeline
6
+ import numpy as np
7
+
8
+ modelo_descripcion = pipeline("image-to-text", model="Salesforce/blip-image-captioning-base")
9
+ tts = pipeline("text-to-speech", model="suno/bark-small")
10
+
11
+ def describir_imagen(imagen):
12
+ descripcion = modelo_descripcion(Image.fromarray(imagen))[0]['generated_text']
13
+ return descripcion
14
+
15
+ def generar_audio(texto):
16
+ audio = tts(texto)
17
+ array_audio = np.array(audio["audio"][0], dtype=np.float32)
18
+ return (audio["sampling_rate"], array_audio)
19
+
20
+ with gr.Blocks(theme="soft") as demo:
21
+ gr.Markdown(
22
+ """
23
+ # Asistente Accesible para Personas con Discapacidad Visual
24
+ Este sistema **describe im谩genes** autom谩ticamente y **lee en voz alta** lo que aparece.
25
+ """
26
+ )
27
+
28
+ with gr.Row():
29
+ with gr.Column(scale=1):
30
+ imagen_input = gr.Image(label="Sube una imagen")
31
+ generar_btn = gr.Button("Obtener descripci贸n")
32
+
33
+ with gr.Column(scale=1):
34
+ descripcion_output = gr.Textbox(label="Descripci贸n generada")
35
+ audio_output = gr.Audio(label="Audio descriptivo")
36
+
37
+ generar_btn.click(fn=describir_imagen, inputs=imagen_input, outputs=descripcion_output)
38
+ descripcion_output.change(fn=generar_audio, inputs=descripcion_output, outputs=audio_output)
39
+
40
+ demo.launch()