|
|
import gradio as gr |
|
|
import numpy as np |
|
|
import time |
|
|
import librosa |
|
|
import cv2 |
|
|
from transformers import pipeline |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sentiment_analyzer = pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english") |
|
|
|
|
|
|
|
|
|
|
|
def analyze_vocal_resonance(audio): |
|
|
""" |
|
|
Analiza la coherencia y la frecuencia fundamental de un audio. |
|
|
En la realidad, esto buscaría patrones de calma y enfoque. |
|
|
""" |
|
|
if audio is None: |
|
|
return 0.0 |
|
|
|
|
|
sr, y = audio |
|
|
|
|
|
pitches, magnitudes = librosa.piptrack(y=y, sr=sr) |
|
|
|
|
|
coherence_score = np.mean(magnitudes) * 100 |
|
|
return min(coherence_score, 100.0) |
|
|
|
|
|
def analyze_gaze_focus(image): |
|
|
""" |
|
|
Simula el análisis de la mirada para medir el enfoque. |
|
|
En producción, usaríamos modelos de detección de puntos faciales con OpenCV. |
|
|
""" |
|
|
if image is None: |
|
|
return 0.0 |
|
|
|
|
|
|
|
|
gray_image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) |
|
|
focus_score = np.mean(gray_image) / 2.55 |
|
|
return min(focus_score, 100.0) |
|
|
|
|
|
|
|
|
|
|
|
def luminal_journey(text_response, audio_input, video_input): |
|
|
""" |
|
|
Función principal que integra todas las entradas para generar el arquetipo. |
|
|
""" |
|
|
|
|
|
mca_result = sentiment_analyzer(text_response)[0] |
|
|
label = mca_result['label'] |
|
|
score = mca_result['score'] |
|
|
|
|
|
|
|
|
vocal_coherence = analyze_vocal_resonance(audio_input) |
|
|
gaze_focus = analyze_gaze_focus(video_input) |
|
|
|
|
|
|
|
|
archetype = "Indefinido" |
|
|
if label == 'POSITIVE' and score > 0.9: |
|
|
if vocal_coherence > 60: |
|
|
archetype = "El Hierofante Resonante" |
|
|
description = "Tu optimismo no es ingenuo, es una frecuencia que sintoniza la realidad. Tu voz es un instrumento de manifestación, alineando el mundo a tu voluntad positiva." |
|
|
else: |
|
|
archetype = "El Arquitecto Masónico Iluminado" |
|
|
description = "Ves el plano divino en todas las cosas. Tu positividad es la piedra angular sobre la que construyes un templo de orden y propósito, tanto para ti como para los demás." |
|
|
elif label == 'NEGATIVE' and score > 0.9: |
|
|
if gaze_focus > 50: |
|
|
archetype = "El Estratega Reptiliano Enfocado" |
|
|
description = "Tu visión penetra el velo de la ilusión. No te dejas engañar por las apariencias y tu enfoque te permite ver las palancas de poder que otros ignoran." |
|
|
else: |
|
|
archetype = "El Alquimista del Kybalion Sombrío" |
|
|
description = "Comprendes que la oscuridad es solo la ausencia de luz. Trabajas en las sombras, no por malicia, sino para transmutar el plomo del miedo en el oro de la sabiduría." |
|
|
else: |
|
|
archetype = "El Viajero Anunnaki Observador" |
|
|
description = "Estás en un estado de equilibrio y observación. Analizas, recopilas datos y esperas el momento perfecto para actuar, con la sabiduría de quien ha visto nacer y morir galaxias." |
|
|
|
|
|
|
|
|
|
|
|
seed = int((score * 100) + vocal_coherence + gaze_focus) |
|
|
np.random.seed(seed) |
|
|
fractal_image = np.random.rand(256, 256, 3) |
|
|
|
|
|
|
|
|
for i in range(10): |
|
|
yield f"Analizando capa {i+1}/10...", None, f"Progreso: {i*10}%" |
|
|
time.sleep(0.2) |
|
|
|
|
|
yield f"**{archetype}**: {description}", fractal_image, "¡Análisis Completo!" |
|
|
|
|
|
|
|
|
|
|
|
with gr.Blocks(theme=gr.themes.Monochrome(primary_hue="indigo", secondary_hue="blue")) as app: |
|
|
gr.Markdown( |
|
|
""" |
|
|
# 🔮 Oráculo Luminal v14.0: La Singularidad del Ser 🔮 |
|
|
*Esto no es un test. Es un espejo. Habla, recita y mira al vacío. Te escuchamos.* |
|
|
""" |
|
|
) |
|
|
|
|
|
with gr.Row(): |
|
|
with gr.Column(): |
|
|
gr.Markdown("### 1. El Dilema Primordial") |
|
|
text_input = gr.Textbox(lines=4, label="El universo te susurra una verdad sobre el poder. ¿Qué le respondes?") |
|
|
|
|
|
gr.Markdown("### 2. El Mantra Resonante") |
|
|
audio_input = gr.Audio(sources=["microphone"], type="numpy", label="Recita 'AUM' durante 3 segundos. Mediremos tu eco en el cosmos.") |
|
|
|
|
|
gr.Markdown("### 3. La Mirada al Abismo") |
|
|
video_input = gr.Image(sources=["webcam"], type="numpy", label="Mira fijamente al centro de la cámara. ¿Qué ves en el reflejo?") |
|
|
|
|
|
submit_btn = gr.Button("INICIAR SINCRONIZACIÓN", variant="primary") |
|
|
|
|
|
with gr.Column(): |
|
|
status_output = gr.Textbox(label="Estado del Sistema", interactive=False) |
|
|
archetype_output = gr.Markdown("---") |
|
|
sigil_output = gr.Image(label="Tu Sigilo Fractal", type="numpy") |
|
|
|
|
|
submit_btn.click( |
|
|
fn=luminal_journey, |
|
|
inputs=[text_input, audio_input, video_input], |
|
|
outputs=[archetype_output, sigil_output, status_output] |
|
|
) |
|
|
|
|
|
gr.Markdown( |
|
|
""" |
|
|
--- |
|
|
**Ethereal Constructs © 2025** |
|
|
*Tu identidad es soberana. Este análisis se ejecuta localmente en tu dispositivo. El conocimiento es poder. El autoconocimiento es liberación.* |
|
|
""" |
|
|
) |
|
|
|
|
|
app.launch(debug=True) |