Áleran Vocals
Piano, entrenamiento con micrófono y juegos de oído para alumnos de canto: notas, escalas, afinación, rango vocal, resistencia e intervalos.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Un tutor de piano con las notas cayendo sobre el teclado. Vive entero en el navegador: sin cuenta, sin suscripción, sin límite de canciones y sin internet una vez instalado.
Hecho con el pack de skills replica-skill,
a partir del mapa de funciones de una app de App Store. Clean room: se replicaron las
funciones y el recorrido, no su código, su catálogo, sus textos ni su marca.
El trabajo de reconocimiento está en replica/.
El repositorio ya trae el flujo de GitHub Pages. Solo hay que encenderlo:
main se publica solo: el flujo corre las tres suites y,
solo si pasan, despliega. Si algo falla, la versión viva se queda como estaba.Queda en https://javi-molin.github.io/piano/.
Hace falta
https. Instalarla y el modo sin conexión dependen de un service worker, y eso no funciona abriendo el archivo a pelo.
En el iPad, con Safari (no con Chrome: en iOS solo Safari sabe instalar):
Ya tienes el icono. Ábrelo desde ahí: va a pantalla completa, sin barras, y funciona en avión.
Elige si quieres los nombres de nota en Do Re Mi o en C D E, y empieza. El catálogo trae 14 piezas; la primera recomendada es la escala de Do mayor o Estrellita.
| Aprender | La canción te espera en cada nota, el tiempo que necesites. Si te adelantas, va contigo: el tempo lo pones tú. Es el modo para empezar. |
| Tocar | A tiempo, con la precisión contada pero sin presión. |
| Dominar | Con puntaje, estrellas y tres niveles de exigencia. Una pieza queda "dominada" con 90 % a velocidad real. |
| Escuchar | Solo oírla, viendo caer las notas. Para enterarte de cómo va antes de tocarla. |
Dentro del reproductor: velocidad del 25 al 200 % en vivo, manos (la que no practicas la toca la app), bucle, metrónomo. Al terminar, un mapa de calor te dice en qué compases se te escapa, y un botón te mete a practicar justo esos.
Z…M y Q…P..mid: arrastrándolo, eligiéndolo o pegando el enlace directo.
Esto es lo que hace que la biblioteca no tenga límite, y es exacto..mp3, .m4a, .wav, .ogg, .flac), uno o varios de golpe, sin
límite de peso ni de duración. La transcripción está en beta y tiene dos modos:
acordes y melodía, que saca varias notas a la vez, y solo la melodía, más rápido
y más limpio con una sola línea. El tempo lo detecta sola. Lo único que crece con la
duración es el tiempo: unos 12 segundos de análisis por minuto de audio (el triple en
modo acordes), con su barra de progreso..json desde Ajustes. Como no hay nube, esa es la
forma de llevártela a otro dispositivo o de no perderla si borras los datos de Safari.Pégale el enlace en + Añadir canción. Cascada lee el título (con el oEmbed público del servicio: sin clave y sin cuenta) y te deja en dos caminos:
Lo que no hace, y por qué: convertir el enlace solo, de un toque. Spotify no entrega audio que el navegador pueda leer, y YouTube ni permite descargarlo desde otra página ni lo autoriza. Y aunque llegara el audio, transcribir una mezcla completa con calidad necesita un modelo corriendo en un servidor. Aquí no hay servidor: ese es justo el precio de que la app sea tuya, gratis, sin cuenta y sin conexión. Así que en vez de un botón que falla, están los dos caminos que llevan a lo mismo en dos toques.
En Ajustes → Tu piano dices de cuántas teclas es: 25, 37, 49, 61, 76, 88 o sin límite. Si tu teclado no empieza en un Do, mueve la nota más grave por octavas.
Con eso puesto, lo que no entra en tu teclado se arregla como tú digas:
El detalle de cada canción te dice en una línea cuántas notas se movieron y cuántas se quitaron, para que no haya sorpresas.
En el detalle de la canción: − Octava / − Semitono / Original / + Semitono / + Octava, o el deslizador para cualquier punto entre −24 y +24 semitonos. La digitación se recalcula sola y el tono se recuerda para esa canción. Si al subir se te sale del teclado, el ajuste de tu piano lo recoge después.
14 piezas de dominio público, arregladas aquí: escala de Do y arpegios, Hanon n.º 1, Estrellita, Oda a la Alegría, Jingle Bells, Noche de paz, Minueto en Sol, estudio de arpegios, Greensleeves, Para Elisa, Canon en Re, Preludio en Do de Bach y el tema del Claro de luna. No hay nada con derechos: lo demás lo pones tú con tus MIDI.
Cero dependencias y cero compilación. Solo hace falta un servidor estático, porque los
módulos ES no cargan desde file://.
python3 -m http.server 8080 # o: npm start
# http://localhost:8080
npm test # 62 del núcleo + micrófono + tokens + despliegue (solo Node)
npm run test:e2e # 37 recorridos en Chromium (necesita playwright)
npm run icons # regenera los iconos desde los tokens
index.html una sola página, pantallas conmutadas
styles.css tokens de diseño como custom properties
sw.js service worker: todo del caché primero
src/score.js modelo musical: DSL propio, digitación, secciones, tu teclado
src/songs.js el catálogo de dominio público
src/midi.js lector y escritor de MIDI estándar, y entrada Web MIDI
src/audio.js piano sintetizado (sin un solo byte de sample)
src/pitch.js afinación: YIN en dos pasadas y FFT, compartido
src/mic.js notas por micrófono, de Mi1 a Do7, varias a la vez
src/transcribe.js audio a notas: melodía o acordes, tempo automático, grabación (beta)
src/keyboard.js geometría, dibujo y multitouch del teclado
src/roll.js el piano-roll que cae
src/player.js el tutor: modo espera, puntuación, bucle
src/store.js IndexedDB + localStorage, exportar e importar
src/ui.js, src/app.js pantallas y cableado
tools/make_icons.py genera los PNG del icono, sin librerías
tests/ núcleo, micrófono, tokens, despliegue y navegador
(con un piano simulado y un mp3 de prueba, los dos propios)
replica/ recon, arquitectura, diseño, marca, pruebas, paridad
.claude/skills/ el pack replica-skill, por si quieres repetir algún paso
Decisiones que explican casi todo lo demás:
requestAnimationFrame. rAF deriva; el audio no.Dicho antes de que lo descubras tú:
Paridad medida contra el mapa de recon: 90 / 100
(npm run parity). Lo que falta es exactamente lo de arriba.
MIT. Las obras del catálogo son de dominio público; los arreglos se escribieron aquí.