ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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í.