Skip to content

Mi Aventura con el Violín v1.2.1

Choose a tag to compare

@github-actions github-actions released this 03 Aug 17:03

Mi Aventura con el Violín v1.2.1

Aplicación educativa, privada y sin publicidad para aprender violín desde los 10 años.
24 lecciones, afinador cromático con grabaciones reales de violín, 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/violin-adventure/

La app acompaña, pero no reemplaza a una profesora o profesor de violín. La postura, el tamaño del instrumento y la afinación de los dedos siempre necesitan revisión de una persona.

Novedades de esta versión

Corregido

  • El metrónomo ya no se desvía. Marcaba el pulso con setInterval, que
    acumula deriva y el navegador estrangula cuando la pantalla se atenúa o la
    aplicación pasa a segundo plano: el pulso se volvía irregular justo donde la
    exactitud importa. Ahora un planificador con anticipación agenda cada clic
    sobre el reloj de AudioContext, exacto a nivel de muestra. Medido en el
    navegador a 120 BPM: 78 clics con 500,000 ms de separación y 0 ms de deriva
    acumulada
    , incluso con la animación completamente detenida.
  • El cambio de tempo se aplica en caliente sin reiniciar el compás; cambiar la
    métrica (pulsos o subdivisión) sí lo reinicia, como corresponde.

Cambiado

  • La detección de tono ya no corre en cada frame. La autocorrelación sobre
    4096 muestras supera el millón de operaciones, así que ejecutarla a 60 Hz
    saturaba el hilo visual y la batería del móvil. Pasa a ~22 Hz (una cada 45 ms),
    un tercio del trabajo, sin cambio perceptible en el afinador ni en el modo
    «Tocar conmigo». Los umbrales de estabilidad se reajustaron para conservar los
    mismos tiempos de reacción.

  • La animación del metrónomo consume los clics ya sonados en lugar de marcar el
    pulso, de modo que un frame perdido no descoloca el audio.

  • Las pruebas E2E ya no compiten contra una recarga del service worker. Al
    tomar el control, el worker dispara controllerchange y recarga la página,
    borrando el estado de React en mitad de una prueba. El bloqueo que había
    (page.route sobre /sw.js) no llegaba a aplicarse, porque esa petición la
    hace el contexto del navegador y no la página; ahora se bloquea desde la
    configuración de Playwright. La suite pasa de tardar entre 8 y 20 s, con
    fallos intermitentes, a unos 6 s estables.

Añadido

  • Suite de pruebas del planificador del metrónomo (rejilla exacta bajo un
    temporizador con jitter, cambio de tempo, reinicio de compás) y prueba E2E que
    verifica que el compás avanza en un navegador real.

Qué hay en este release

Archivo Plataforma Descripción
Mi.Aventura.con.el.Violin_1.2.1_x64-setup.exe Windows Instalador recomendado (NSIS, por usuario)
Mi.Aventura.con.el.Violin_1.2.1_x64_en-US.msi Windows Instalador alternativo (MSI, para despliegue)
MiAventuraConElViolin-1.2.1.apk Android Instalación directa en el teléfono (sideload)
MiAventuraConElViolin-1.2.1.aab Android Paquete para publicar en Google Play
Mi.Aventura.con.el.Violin_1.2.1_amd64.AppImage Linux Portable: dar permiso de ejecución y abrir
Mi.Aventura.con.el.Violin_1.2.1_amd64.deb Linux Debian / Ubuntu (apt, dpkg -i)
Mi.Aventura.con.el.Violin-1.2.1-1.x86_64.rpm Linux Fedora / RHEL / openSUSE (dnf, rpm -i)
Mi.Aventura.con.el.Violin_1.2.1_universal.dmg macOS Universal (Intel + Apple Silicon), 10.15+
Mi.Aventura.con.el.Violin_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.2.1.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

  1. Descarga …_x64-setup.exe.
  2. (Recomendado) Verifica el hash SHA-256.
  3. Ejecútalo. Si SmartScreen avisa: Más información → Ejecutar de todas formas (aún sin certificado de editor).

Android

  1. Descarga MiAventuraConElViolin-1.2.1.apk en el teléfono y ábrelo.
  2. Autoriza «instalar apps de orígenes desconocidos» para tu navegador o gestor de archivos.
  3. (Recomendado) Verifica que el SHA-256 coincida con SHA256SUMS.txt.

Linux

  • AppImage: chmod +x Mi.Aventura*.AppImage y ejecútalo.
  • Debian/Ubuntu: sudo dpkg -i Mi.Aventura*.deb (o sudo apt install ./Mi.Aventura*.deb).
  • Fedora/RHEL: sudo rpm -i Mi.Aventura*.rpm (o sudo dnf install ./Mi.Aventura*.rpm).

macOS

  1. Abre el …_universal.dmg y arrastra la app a Aplicaciones.
  2. 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.el.Violin_1.2.1_x64-setup.exe -Algorithm SHA256

Privacidad

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 de Apple Developer de pago (flujo manual ios.yml).

Cambios completos en CHANGELOG.md.