Releases: vladimiracunadev-create/guitarra-adventure
Release list
Mi Aventura con la Guitarra v1.0.0
Mi Aventura con la Guitarra v1.0.0
Aplicación educativa, privada y sin publicidad para aprender guitarra desde los 10 años.
24 lecciones, afinador cromático con once notas grabadas de guitarra real, metrónomo, canciones para tocar y práctica guiada. Misma base de código para Windows, Android, Linux, macOS y web (Tauri 2 + React).
🌐 Web / landing: https://vladimiracunadev-create.github.io/guitarra-adventure/
La app acompaña, pero no reemplaza a una profesora o profesor de guitarra. La postura, el tamaño del instrumento y la colocación de los dedos siempre necesitan revisión de una persona.
Novedades de esta versión
Primera versión pública. El repositorio se publica con el curso completo y la
compilación automática de instaladores para todas las plataformas mediante
GitHub Actions.
Curso
- 24 lecciones en seis mundos: cuidado y postura, mano derecha, cuerdas al
aire y pulsación, mano izquierda, primera posición, escala de Sol mayor, primer
acorde, lectura en pentagrama y tablatura, y repertorio. - Seis ilustraciones SVG originales y accesibles (partes de la guitarra,
postura sentada, mano derecha, mano izquierda, diagrama de acorde y
pentagrama), todas contitleydescpara lectores de pantalla. - Cada lección tiene objetivo, habilidades, pasos con duración, advertencias de
seguridad cuando corresponde, pregunta final con explicación e insignia. - Lectura opcional de las instrucciones con la voz instalada en el dispositivo.
Afinación y sonido
- Afinador cromático con detección por autocorrelación, en dos modos: todas
las notas o solo las seis cuerdas al aire (Mi, La, Re, Sol, Si, Mi). - Once notas con grabaciones reales de guitarra de nailon (soundfont
FluidR3_GM de Frank Wen, CC BY 3.0): las seis cuerdas al aire más las notas
pisadas de la escala de Sol mayor en primera posición. - La afinación nativa de cada muestra está medida, no estimada
(pnpm measure:samples), y se corrige conplaybackRatepara que cada nota
suene exacta y respete la calibración de La entre 432 y 446 Hz. - Desafío de oído y nota de referencia sostenida para igualar de oído. La
referencia larga se sintetiza: una cuerda pulsada se apaga sola y repetir la
grabación en bucle sonaría a ataque repetido, no a nota sostenida. - El rango de análisis baja hasta 70 Hz para alcanzar la sexta cuerda al aire
(82,41 Hz).
Ritmo y práctica
- Metrónomo de 40 a 160 BPM con el pulso agendado sobre el reloj de
AudioContexten lugar desetInterval: sin deriva acumulada aunque el
temporizador llegue tarde o la animación se detenga. Compases de 2, 3 y 4
pulsos, negras y corcheas, tap-tempo y modo visual silencioso. - Juego de lectura musical con la escala de Sol mayor en primera posición.
La música de guitarra se escribe una octava más alta de lo que suena, así que
el dibujo usa la altura escrita y el sonido, la real. - Canciones: tres melodías de dominio público (Estrellita, Himno a la alegría
y Mi corderito) en Sol mayor, tocadas con guitarra real, con modo «Tocar
conmigo» que comprueba nota a nota con el micrófono e indica en qué cuerda y
traste está cada una. El audio se analiza en tiempo real y nunca se graba. - Temporizador de práctica de 5, 10, 15 o 20 minutos, recuperable mediante
una hora final absoluta si se bloquea la pantalla o se cambia de sección. - La detección de tono corre a ~22 Hz, no en cada frame: la autocorrelación sobre
4096 muestras supera el millón de operaciones y a 60 Hz saturaría el hilo
visual y la batería del móvil.
Acompañamiento y datos
- Panel familiar con resumen, gráfico de minutos por semana (últimas ocho),
historial de sesiones e insignias. - PIN familiar opcional derivado con PBKDF2, sal aleatoria y SHA-256. Evita
cambios accidentales; no es un control parental fuerte. - Esquema de progreso local versionado con normalización defensiva de toda
entrada, escritura temporal antes de reemplazar el dato principal y
exportación e importación en JSON. - Modo oscuro (Sistema / Claro / Oscuro), texto grande y respeto de
prefers-reduced-motion.
Estado del dispositivo
- Cuatro indicadores siempre visibles en la barra superior (🎤 micrófono,
🔊 sonido, 🗣️ voz del dispositivo, 💾 guardado local). Pulsar cualquiera lleva
al panel donde se gestionan. - Paso de micrófono en la primera configuración: explica para qué se usa,
permite concederlo ahí mismo y deja continuar sin él. Es opcional a propósito:
las lecciones, el metrónomo y las canciones funcionan igual. - Panel «Requisitos y permisos» en Familia, con el estado de cada elemento,
qué se pierde si falta y qué hacer. Cuando el sistema tiene el micrófono
denegado se indica que hay que cambiarlo en los ajustes del dispositivo, porque
una aplicación no puede reconceder un permiso denegado. - Interruptor de micrófono propio de la aplicación: al apagarlo, el afinador
y «Tocar conmigo» quedan desactivados con un aviso claro.
Distribución
- PWA instalable con aviso de instalación, de actualización y funcionamiento sin
conexión. - Compilación multiplataforma en CI: Windows (
.msiy.exeNSIS), Android
(.apkpara instalación directa y.aabpara Google Play), Linux (.deb,
.AppImage,.rpm) y macOS (.dmguniversal Intel + Apple Silicon). - Flujo de release por etiqueta (
v*) que publica los instaladores, genera
SHA256SUMS.txty redacta las notas a partir de este archivo. - Landing page en GitHub Pages.
Verificación
- 43 pruebas unitarias (Vitest) y 7 pruebas E2E (Playwright) en CI.
- Validadores de repositorio y de dominio que corren con Node sin instalar
dependencias.
Privacidad
- Sin cuentas, sin publicidad, sin analítica y sin servidor.
- El micrófono es el único permiso del sistema: no se usa cámara ni ubicación.
- El audio se analiza en memoria y nunca se graba ni se envía.
Limitación conocida en Android
Esta versión no se puede instalar encima de una anterior. Hay que desinstalar
primero, y desinstalar borra el progreso guardado en el dispositivo.
El motivo es que el repositorio todavía no tiene configurada una clave de firma
permanente, así que cada compilación genera una distinta y Android rechaza la
actualización por no reconocer al autor. Está pendiente de resolver y explicado
en docs/BUILD_MOBILE.md.
Para no perder la racha, las insignias ni el historial, sigue el procedimiento de
la guía para familias:
exportar el respaldo antes de desinstalar e importarlo después.
Qué hay en este release
| Archivo | Plataforma | Descripción |
|---|---|---|
Mi.Aventura.con.la.Guitarra_1.0.0_x64-setup.exe |
Windows | Instalador recomendado (NSIS, por usuario) |
Mi.Aventura.con.la.Guitarra_1.0.0_x64_en-US.msi |
Windows | Instalador alternativo (MSI, para despliegue) |
MiAventuraConLaGuitarra-1.0.0.apk |
Android | Instalación directa en el teléfono (sideload) |
MiAventuraConLaGuitarra-1.0.0.aab |
Android | Paquete para publicar en Google Play |
Mi.Aventura.con.la.Guitarra_1.0.0_amd64.AppImage |
Linux | Portable: dar permiso de ejecución y abrir |
Mi.Aventura.con.la.Guitarra_1.0.0_amd64.deb |
Linux | Debian / Ubuntu (apt, dpkg -i) |
Mi.Aventura.con.la.Guitarra-1.0.0-1.x86_64.rpm |
Linux | Fedora / RHEL / openSUSE (dnf, rpm -i) |
Mi.Aventura.con.la.Guitarra_1.0.0_universal.dmg |
macOS | Universal (Intel + Apple Silicon), 10.15+ |
Mi.Aventura.con.la.Guitarra_universal.app.tar.gz |
macOS | App comprimida (alternativa al .dmg) |
SHA256SUMS.txt |
Todas | Hashes SHA-256 para verificar integridad antes de instalar |
¿Cuál descargo?
| Tu equipo… | Descarga |
|---|---|
| Windows 10 u 11 | …_x64-setup.exe (si falta WebView2 se instala solo) |
| Android 7.0 o superior | …-1.0.0.apk |
| Linux (cualquier distro) | …_amd64.AppImage (portable, sin instalar) |
| Linux Debian/Ubuntu | …_amd64.deb |
| Linux Fedora/RHEL | …-1.x86_64.rpm |
| Mac (Intel o Apple Silicon) | …_universal.dmg |
Firma Android: ephemeral-ci-key (clave temporal de CI). El APK es instalable, pero para actualizar sobre una instalación previa se necesita un keystore persistente — ver docs/BUILD_MOBILE.md.
Integridad: verifica con SHA256SUMS.txt.
Instalación
Windows
- Descarga
…_x64-setup.exe. - (Recomendado) Verifica el hash SHA-256.
- Ejecútalo. Si SmartScreen avisa: Más información → Ejecutar de todas formas (aún sin certificado de editor).
Android
- Descarga
MiAventuraConLaGuitarra-1.0.0.apken el teléfono y ábrelo. - Autoriza «instalar apps de orígenes desconocidos» para tu navegador o gestor de archivos.
- (Recomendado) Verifica que el SHA-256 coincida con
SHA256SUMS.txt.
Linux
- AppImage:
chmod +x Mi.Aventura*.AppImagey ejecútalo. - Debian/Ubuntu:
sudo dpkg -i Mi.Aventura*.deb(osudo apt install ./Mi.Aventura*.deb). - Fedora/RHEL:
sudo rpm -i Mi.Aventura*.rpm(osudo dnf install ./Mi.Aventura*.rpm).
macOS
- Abre el
…_universal.dmgy arrastra la app a Aplicaciones. - La primera vez: clic derecho → Abrir (sin firma Apple Developer, Gatekeeper pedirá confirmación).
Verificar integridad (opcional pero recomendado)
# Linux / macOS
sha256sum -c SHA256SUMS.txt --ignore-missing# Windows (PowerShell)
Get-FileHash .\Mi.Aventura.con.la.Guitarra_1.0.0_x64-setup.exe -Algorithm SHA256Privacidad
Sin cuentas, sin publicidad, sin analítica y sin servidor. El nombre y el progreso se guardan solo en el dispositivo. El micrófono se usa en tiempo real para el afinador y las canciones, y nunca se graba.
iOS: en pausa — el proyecto compila en CI, pero distribuir requiere una cuenta ...