Ritmos binaurales en tiempo real y visualizadores reactivos. Tu espacio de meditación instantánea. Sin registro, 100% online y gratis.
Translation pending
HealthJavaScript · HTMLGitHub @matias1812OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Generador de ondas binaurales en tiempo real para meditación, sueño, relajación y concentración. 31 estados de frecuencia, 6 ambientes sintetizados en vivo, dos visualizadores independientes (cimática WebGL y ondas de agua) y una APK Android offline con motor de audio nativo.Read the full README ↗
Generador de ondas binaurales en tiempo real para meditación, sueño, relajación y concentración. 31 estados de frecuencia, 6 ambientes sintetizados en vivo, dos visualizadores independientes (cimática WebGL y ondas de agua) y una APK Android offline con motor de audio nativo.
Principio rector (Plan Maestro Científico): ninguna metáfora visual se presenta como afirmación neurocientífica. Toda variable del pipeline tiene una clase de dominio (
PHYSICAL | NEURAL | PSYCHOLOGICAL | VISUAL | EMPIRICAL | HEURISTIC) y una etiqueta de honestidad (MEASURED | SIMULATED | DERIVED | ESTIMATED | HEURISTIC). El aviso médico es parte del producto, no letra chica.
/rutina (itinerarios + recordatorios) sí exige cuenta — viven en la nube, no localmente.npm install # dependencias (solo vite + vercel analytics)
npm run dev # servidor de desarrollo → http://localhost:5173
npm run build # build de producción multi-página → dist/
npm run preview # servir el build localmente
npm test # suite de validación (113 tests, headless Node)
La misma suite corre en el navegador con window.runBineuralDiagnostics()
desde la consola.
| Variable | Default | Uso |
|---|---|---|
VITE_PROXY_TARGET | http://127.0.0.1:8000 | Destino del proxy /api en dev (backend FastAPI) |
├── index.html y *.html → 20+ páginas (generador, cuenta, rutina, FAQ, diagnóstico…)
├── src/
│ ├── main.js → orquestador del generador (estados, audio, visualizadores)
│ ├── audio.js → motor binaural Web Audio API (clicks-free, watchdog)
│ ├── ambient.js → 6 ambientes sintetizados en vivo
│ ├── cymatics.js / wavefield.js / starfield.js → visualizadores (WebGL2→WebGL1→CPU)
│ ├── core/ → alarm-manager, audio-clock (reloj maestro), audio-transport
│ ├── api/ → client (caché TTL + dedup), auth, favorites, frequencies,
│ │ itineraries, alarms, push, sync, integration
│ ├── ui/ → auth (login/registro/verificación/recuperación), freq-modal
│ ├── models/ → perfiles científicos de los 31 estados (profiles.js)
│ ├── platform/ → puente con la APK (bridge, eventos vyneural:*)
│ └── validation/ → suite de validación científica
├── public/ → PWA (sw.js, manifest), sitemap, vyneural.apk (descarga)
├── android/ → proyecto Android (APK offline, motor Kotlin nativo)
├── docs/ → arquitectura, modelo científico, validación, ISO 27001…
└── scripts/run-diagnostics.mjs → runner de tests headless (113)
┌──────────── Web / PWA ────────────┐ ┌──────────── APK (Android) ────────────┐
│ Estado → BinauralEngine (WebAudio)│ │ WebView (mismo bundle, sin sonido: │
│ · fades sin clics, fase continua │ │ _platformMuted) │
│ · 2 osciladores L/R (Δf = latido) │ │ └─ BinauralToneEngine (Kotlin) ────── │
│ Visualizadores (WebGL/Canvas) │ │ · AudioTrack streaming 44.1 kHz │
│ Alarmas locales (IndexedDB) │ │ · fase continua, rampas suaves │
│ Caché API (TTL 8 s + dedup) │ │ AudioForegroundService (MEDIA_PLAYBACK)│
└──────────────┬─────────────────────┘ │ · sobrevive al bloqueo de pantalla │
│ API (opcional, aditiva) │ MediaSession (lock screen, BT) │
┌──────────────▼─────────────────────┐ │ · skip/seek = ±10 Hz, evento al JS │
│ Backend FastAPI (backvyneural) │ └────────────────────────────────────────┘
│ auth · sincronización · push │
└────────────────────────────────────┘
El backend nunca inicia audio — solo identidad, datos y notificaciones.
La reproducción nace siempre de un gesto del usuario (y un restart del proceso
nativo nunca reanuda por sí solo: START_NOT_STICKY + NO_AUTO_PLAY).
El motor está diseñado para sonar bien y no cortarse:
FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK (no lo mata el bloqueo de pantalla),
MediaSession real conectada a lock screen/notificaciones/auriculares y un
watchdog de audio focus que re-solicita con backoff y reanuda el mismo
motor (nunca una segunda sesión)._platformMuted), así que solo hay un dueño del audio: el servicio nativo.
Toda la actividad queda en un log forense (Diagnostics + /diagnostico).docs/accounts.md.escapeHtml/textContent.docs/seguridad-iso27001.md.La APK empaqueta el build web (dist/) en android/app/src/main/assets/bineural/
y corre offline con un motor nativo (Kotlin) para el audio. Requiere JDK 17
(Gradle 8.2 no soporta Java 25; el JBR de Android Studio es Java 25 y falla al
recompilar el build script):
# JDK 17 portable (dentro del repo, ignorado por git):
# curl -sL -o android/.jdk17/jdk17.zip \
# "https://api.adoptium.net/v3/binary/latest/17/ga/windows/x64/jdk/hotspot/normal/eclipse"
# cd android/.jdk17 && unzip jdk17.zip
npm run build
rm -rf android/app/src/main/assets/bineural && mkdir -p android/app/src/main/assets/bineural
(cd dist && tar cf - --exclude='*.apk' . | (cd ../android/app/src/main/assets/bineural && tar xf -))
cd android && JAVA_HOME="<ruta>/android/.jdk17/jdk-17.0.20+8" ./gradlew assembleRelease
# release firmada → app/build/outputs/apk/release/app-release.apk
# La app NO se distribuye por descarga directa desde la web (ver /descargar,
# que hoy es solo un anuncio de "próximamente en Google Play"): no hay que
# copiar el .apk a public/ ni re-buildear el sitio por esto. Para probarla en
# un dispositivo/emulador: adb install -r app/build/outputs/apk/release/app-release.apk
La release requiere firma: keystore y credenciales en android/local.properties
(gitignored) o variables BINEURAL_STORE_*. Compilar con JDK 17:
JAVA_HOME=<ruta>.jdk17/jdk-17.0.20+8 ./gradlew assembleRelease.
npm test # 113 tests de validación (modelo científico, audio, alarmas, UI)
Cobertura: pipeline científico (estímulo → auditivo → neural → EEG → cognitivo
→ visual), reproducción/condiciones experimentales, alarmas locales, flujos de
cuenta (frontend), modales y páginas. El backend tiene su propia suite (92
tests, incluidos los recordatorios por Web Push) en el repo
vyneural-backend.
| Documento | Contenido |
|---|---|
docs/architecture.md | Arquitectura y flujo de datos del pipeline |
docs/audit.md | Auditoría baseline (Fase 0) |
docs/scientific-model.md | Ecuaciones, parámetros y clasificación de cada modelo |
docs/validation.md | Suite de validación, checklist de integridad y resultados |
docs/development.md | Flujo de desarrollo, estructura del repo, despliegue |
docs/accounts.md | Cuentas, verificación de correo, recuperación y sincronización |
docs/seguridad-iso27001.md | Auditoría de seguridad ISO/IEC 27001 (Anexo A) |
docs/android-roadmap.md | Hoja de ruta de la APK (nativo, audio, MediaSession) |
docs/MVP_LAUNCH.md | Plan de lanzamiento del MVP |
vyneural.cl): web/PWA + APK.vyneural-backend: API
FastAPI (identidad, sincronización, push).⚠️ Aviso médico: las ondas binaurales son una herramienta de relajación. No sustituyen atención ni tratamiento médico. Usá auriculares y un volumen seguro; no las uses mientras conduces o manejas maquinaria.
docs/HARDWARE_TEST_PLAN.md| Plan de testeo físico (audio, alarmas, MediaSession) |