Paso 12: Modo de canción (la caja de música)
![](/static/image/loading.gif)
Puesto que ya tenía alrededor de 6 canciones definidas, decidí subir la resolución de la matriz a 96 pasos, que me ha permitido "duplicar" las canciones actuales poniendo silencios entre cada nota, y luego reemplazar los restos con otras notas de acento según sea necesario. Esto funcionó bien, pero creo que valió la pena en el sonido. Cada canción también tenía pistas separadas bajo y tambor, así que era de 36 matrices largo (tambores bajos, melodía). En algún momento que me quedo sin memoria, que sólo causó la caja a hacer cosas raras. Me cayó la pista de bajo y el juego bajo algorítmico. Una nota bajo equivalente a la nota de la melodía juega cualquier momento hay sonido de un bombo. Funciona bastante bien. Las melodías fueron tiradas de muchos lugares diferentes, como ya he dicho (a veces descubierto en un teclado de piano con la mano), pero las pistas del tambor fueron creadas desde cero. Llegué al punto donde podía seguir los números de cada melodía y armar un patrón de kick/trampa/clap que sirve la canción. Tal vez.
Lo que me pareció interesante es que casi cada canción de los niños parece que se jugará en las notas de conjunto (las teclas blancas). Una excepción a esto era a tres gatitos pequeños (conocido como DEM gatitos en mi código) - tenía que poner un pequeño código chapuza en la rutina de la canción que dice "si es esta canción y esta nota, el juego esta nota en su lugar" a tocar una nota aguda.
En el modo de canción, pulsando cualquiera de las 12 teclas selecciona una de las 12 canciones. No comienza en el principio de la canción tampoco. Recoge en el punto donde estaba la canción anterior. Esto le permite crear algunas mezclas interesantes y "jugar" a modo de canción eligiendo diferentes canciones en tiempo real.
También hay un azar "espectáculo de luces" de LEDs que va junto con el ritmo y cambia a medida que usted vaya a una canción diferente. Actualmente hay 5 espectáculos diferentes. Me extenderé en un tiempo más adelante para incluir más.