jeysshon commited on
Commit
e50eaad
verified
1 Parent(s): c9a4feb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -2
app.py CHANGED
@@ -1,5 +1,6 @@
1
  import streamlit as st
2
  from PIL import Image
 
3
  import google.generativeai as genai
4
  from gtts import gTTS
5
  import os
@@ -22,12 +23,27 @@ def procesar_imagen(imagen):
22
  respuesta = modelo.generate_content(imagen.name)
23
  return respuesta.text
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  def hablar_texto(texto):
26
  try:
27
  tts = gTTS(text=texto, lang='es')
28
  archivo_audio = "respuesta.mp3"
29
  tts.save(archivo_audio)
30
- os.system(f"mpg321 {archivo_audio}") # Usa otro reproductor si es necesario
31
  except Exception as e:
32
  st.error(f"Error al generar audio: {e}")
33
 
@@ -65,4 +81,12 @@ with col2:
65
  espacio_contenido_generado.write(respuesta)
66
 
67
  elif tipo_entrada == "馃帳 Usar micr贸fono":
68
- st.write("Esta funcionalidad ha sido deshabilitada en esta versi贸n.")
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
  from PIL import Image
3
+ import speech_recognition as sr
4
  import google.generativeai as genai
5
  from gtts import gTTS
6
  import os
 
23
  respuesta = modelo.generate_content(imagen.name)
24
  return respuesta.text
25
 
26
+ def reconocer_voz():
27
+ try:
28
+ reconocedor = sr.Recognizer()
29
+ with sr.Microphone() as fuente:
30
+ st.write("Escuchando...")
31
+ audio = reconocedor.listen(fuente)
32
+ texto = reconocedor.recognize_google(audio)
33
+ return texto
34
+ except sr.UnknownValueError:
35
+ return "El reconocimiento de voz de Google no pudo entender el audio"
36
+ except sr.RequestError as e:
37
+ return f"No se pudieron solicitar resultados del servicio de reconocimiento de voz de Google; {e}"
38
+ except Exception as e:
39
+ return f"Error al reconocer la voz: {e}"
40
+
41
  def hablar_texto(texto):
42
  try:
43
  tts = gTTS(text=texto, lang='es')
44
  archivo_audio = "respuesta.mp3"
45
  tts.save(archivo_audio)
46
+ os.system(f"mpg321 {archivo_audio}") # Puedes usar otro reproductor como afplay en macOS o VLC
47
  except Exception as e:
48
  st.error(f"Error al generar audio: {e}")
49
 
 
81
  espacio_contenido_generado.write(respuesta)
82
 
83
  elif tipo_entrada == "馃帳 Usar micr贸fono":
84
+ if st.button("Grabar"):
85
+ texto_de_voz = reconocer_voz()
86
+ st.text_input("Texto reconocido", value=texto_de_voz) # Muestra el texto reconocido
87
+ if texto_de_voz:
88
+ with st.spinner("Generando respuesta..."):
89
+ resultado = procesar_texto(texto_de_voz)
90
+ espacio_contenido_generado.write(resultado)
91
+ if st.button("馃攰 Hablar", key="hablar_entrada_voz"):
92
+ hablar_texto(resultado)