Spaces:
Sleeping
Sleeping
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
#from asyncio.windows_events import NULL | |
#from cgitb import text | |
from flask import Flask, jsonify, session | |
from flask import request | |
from flask import render_template | |
import speech_recognition as sr | |
from werkzeug.datastructures import FileStorage | |
import os | |
import sys | |
from flask_caching import Cache | |
#from flask_socketio import SocketIO | |
app = Flask(__name__) | |
#socketio = SocketIO(app) | |
semaforo=False | |
app.config['CACHE_TYPE'] = 'simple' | |
cache = Cache(app) | |
r = sr.Recognizer() | |
condition = "" | |
app.secret_key = 'clave' | |
def index(): | |
r = sr.Recognizer() | |
global condition | |
print(condition) | |
print("vacio") | |
#if recognized_text == "No se pudo reconocer el audio": | |
#recognized_text = "" | |
recognized_text = "" # Valor predeterminado | |
texto_imprimir = "" | |
activado = False | |
#condition = False | |
if request.method == "POST": | |
print("ondo ondo") | |
if recognized_text == "No se pudo reconocer el audio": | |
#print(recognized_text) | |
recognized_text="" | |
f = request.files['audio_data'] | |
# Cargar el archivo adjunto directamente | |
with sr.AudioFile(f) as source: | |
audio_data = r.record(source) | |
# Realizar el reconocimiento de voz | |
try: | |
recognized_text = r.recognize_google(audio_data, language='es-ES') | |
palabras = recognized_text.lower().split() | |
for palabra in palabras: | |
if palabra == "activar": | |
print("activado") | |
condition = 1 | |
activado = True | |
#texto_imprimir = recognized_text | |
#return render_template('index.html', recognized_text=recognized_text, condition=condition) | |
#condition = True | |
elif palabra == "desactivar": | |
condition = 0 | |
activado = False | |
texto_imprimir = "" | |
#condition = False | |
#return render_template('index.html', recognized_text=recognized_text, condition=condition) | |
if activado: | |
texto_imprimir += palabra + " " | |
except sr.UnknownValueError: | |
recognized_text = "No se pudo reconocer el audio" | |
#print(recognized_text) | |
#condition = False | |
except sr.RequestError as e: | |
recognized_text = f"Error en la solicitud: {str(e)}" | |
#condition = False | |
#print(recognized_text) | |
if condition is None: | |
condition = 0 | |
print(condition) | |
session['condition'] = condition | |
print("intento") | |
#else: | |
########################################################################################## | |
query=recognized_text | |
print("TEXTO") | |
#print(query) | |
print (texto_imprimir) | |
return render_template('index.html', condition=condition, texto_imprimir=texto_imprimir) | |
#return render_template('index.html', recognized_text=recognized_text, condition=condition, texto_imprimir=texto_imprimir) | |
#@socketio.on('update_condition') | |
#def handle_condition_update(condition): | |
# Procesar y actualizar la condici贸n seg煤n sea necesario | |
# Puedes emitir la nueva condici贸n a todos los clientes conectados | |
# socketio.emit('update_condition', condition, broadcast=True) | |
#@app.route('/obtener_contenido',methods=['GET']) | |
#def obtener_contenido(): | |
# print("ha entrao bien en def") | |
# condition = session.get('condition','Valor predeterminado si no hay valor en la sesion') | |
# print(condition) | |
# return jsonify({'condition':condition}) | |
def set_condition(condition): | |
response = jsonify({'condition': condition}) | |
response.set_cookie('condition', condition) | |
return response | |
def get_condition(): | |
condition = request.cookies.get('condition', 'Valor predeterminado si no hay valor en la cookie') | |
print(condition) | |
return jsonify({'condition': condition}) | |
if __name__ == "__main__": | |
app.run(host='0.0.0.0', port=7860,debug=True) | |
#f __name__ == '__main__': | |
# socketio.run(app, host='0.0.0.0', port=7860, debug=True) | |