Á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í.