https://gist.github.com/Ghillermo/753d66df96c8d02061e28cf1aca5dbbc
Tiene alguna mejora con respecto al original, usa 6 pìstas en vez de 4, corregido un bug al cambiar de pista y resalta la pista seleccionada actualmente. También he cambiado el pinout para ser compatible con Arduino UNO y he ordenado y comentado un poco el código. Idealmente debería estar en archivos separados, pero de momento es manejable el formato archivo único.
Hola, no suelo publicar aunque hace muchos años que me gusta pasarme a lurkear de vez en cuando.
Soy profe de Robótica y Programación y fan de Arduino y los sintetizadores. Me gusta la idea de poder programar el comportamiento de mis máquinas así que he fabricado un prototipo se secunciador midi un poco particular, que podéis ver en el enlace, y comparto por si surgen preguntas, ideas o críticas:
https://www.reddit.com/r/synthdiy/comments/qrz0w6/demonstrating_my_euclidean_sequencer/?utm_medium=android_app&utm_source=share
Es un secuenciador que se conecta al midi IN de cualquier sinte y genera hasta 4 patrones euclídeos en 16 pasos, asignando a cada uno una nota de la escala cromática. La explicación que viene a continuación no es muy científica e informada, las nociones que maneja son de divulgación y wikipedia, si alguien quiere matizarlas o corregirlas es más que bienvenido.
Los patrones euclídeos son formas de "distribuir homogéneamente" un número de notas entre (en este caso) 16 intervalos de tiempo iguales. Si pensamos en un secuenciador de 16 pasos, una nota estaría en el beat 1. 2 notas estarían en el 1 y el 9. 4 notas ocupan el 1, el 5, el 9 y el 14. Sin embargo cuando el número no es divisible, la secuencia se ve "forzada" a tener tiempos "cortos" y "largos", que generan síncopas de la forma más "repetitiva" posible.
La gracia está en que por lo visto, muchas músicas de todo el mundo pueden "aproximarse" a este tipo de ritmos, especialmente música que produce la sensación de "caminar" o "bailar". Desde un punto neurológico tiene un sentido, pues caminamos de forma binaria (izquierda-derecha) y nuestra percepción del ritmo se relaciona con nuestra noción de caminar. Los patrones euclídeos juegan con la sensación de "paso" y "contrapié". Se entienden rápido pero al juntar varios se consiguen cosas complejas.
El aparato consta de 8 botones (siguiente/anterior pista, más/menos notas, más/menos semitonos y rotación horaria/antihoraria) y un codificador rotativo (tempo) y un botón (actualmente play/stop, pero es una prueba de concepto, trabajando en ello). Una placa Arduino Mega, un breakout con optoacoplador y terminales DIN midi, un módulo anillo led ws2812, muchos cables, algún conector soldado, cartón pluma y mucha cinta aislante. Encima de los leds tengo una lente de unas gafas de sol de esas de ver en sepia que se me rayaron y le dan la corrección gamma y definición perfecta a los colores generados por HSV. Se ven mejor los colores en persona que en el vídeo.
Al encender la máquina empezamos con un patrón en blanco seleccionado. Los botones dedicados permiten de inmediato cambiar el número de notas en este patrón, su tono o el desfase (rota el patrón, desplazando todos los beats en cualquier sentido) también podemos cambiar a un nuevo patrón y editarlo mientras se reproduce el anterior, o volver a un patrón anterior y modificarlo. Como el Odyssey es monofónico, cada vez que coinciden dos notas, elige aleatoriamente una de ellas, aunque soportaría polifonía o canales separados.
Gracias por aguantar la chapa. Si hay preguntas, comentarios o ideas sobre qué hacer a continuación, os escucho. Si tenéis curiosidad por ver el código lo comparto pero está bastante feo y poco documentado. Si hay interés lo pongo legible.
EDIT: Podéis ver el código aquí:
Tiene alguna mejora con respecto al original, usa 6 pìstas en vez de 4, corregido un bug al cambiar de pista y resalta la pista seleccionada actualmente. También he cambiado el pinout para ser compatible con Arduino UNO y he ordenado y comentado un poco el código. Idealmente debería estar en archivos separados, pero de momento es manejable el formato archivo único.
Hola, no suelo publicar aunque hace muchos años que me gusta pasarme a lurkear de vez en cuando.
Soy profe de Robótica y Programación y fan de Arduino y los sintetizadores. Me gusta la idea de poder programar el comportamiento de mis máquinas así que he fabricado un prototipo se secunciador midi un poco particular, que podéis ver en el enlace, y comparto por si surgen preguntas, ideas o críticas:
https://www.reddit.com/r/synthdiy/comments/qrz0w6/demonstrating_my_euclidean_sequencer/?utm_medium=android_app&utm_source=share
Es un secuenciador que se conecta al midi IN de cualquier sinte y genera hasta 4 patrones euclídeos en 16 pasos, asignando a cada uno una nota de la escala cromática. La explicación que viene a continuación no es muy científica e informada, las nociones que maneja son de divulgación y wikipedia, si alguien quiere matizarlas o corregirlas es más que bienvenido.
Los patrones euclídeos son formas de "distribuir homogéneamente" un número de notas entre (en este caso) 16 intervalos de tiempo iguales. Si pensamos en un secuenciador de 16 pasos, una nota estaría en el beat 1. 2 notas estarían en el 1 y el 9. 4 notas ocupan el 1, el 5, el 9 y el 14. Sin embargo cuando el número no es divisible, la secuencia se ve "forzada" a tener tiempos "cortos" y "largos", que generan síncopas de la forma más "repetitiva" posible.
La gracia está en que por lo visto, muchas músicas de todo el mundo pueden "aproximarse" a este tipo de ritmos, especialmente música que produce la sensación de "caminar" o "bailar". Desde un punto neurológico tiene un sentido, pues caminamos de forma binaria (izquierda-derecha) y nuestra percepción del ritmo se relaciona con nuestra noción de caminar. Los patrones euclídeos juegan con la sensación de "paso" y "contrapié". Se entienden rápido pero al juntar varios se consiguen cosas complejas.
El aparato consta de 8 botones (siguiente/anterior pista, más/menos notas, más/menos semitonos y rotación horaria/antihoraria) y un codificador rotativo (tempo) y un botón (actualmente play/stop, pero es una prueba de concepto, trabajando en ello). Una placa Arduino Mega, un breakout con optoacoplador y terminales DIN midi, un módulo anillo led ws2812, muchos cables, algún conector soldado, cartón pluma y mucha cinta aislante. Encima de los leds tengo una lente de unas gafas de sol de esas de ver en sepia que se me rayaron y le dan la corrección gamma y definición perfecta a los colores generados por HSV. Se ven mejor los colores en persona que en el vídeo.
Al encender la máquina empezamos con un patrón en blanco seleccionado. Los botones dedicados permiten de inmediato cambiar el número de notas en este patrón, su tono o el desfase (rota el patrón, desplazando todos los beats en cualquier sentido) también podemos cambiar a un nuevo patrón y editarlo mientras se reproduce el anterior, o volver a un patrón anterior y modificarlo. Como el Odyssey es monofónico, cada vez que coinciden dos notas, elige aleatoriamente una de ellas, aunque soportaría polifonía o canales separados.
Gracias por aguantar la chapa. Si hay preguntas, comentarios o ideas sobre qué hacer a continuación, os escucho. Si tenéis curiosidad por ver el código lo comparto pero está bastante feo y poco documentado. Si hay interés lo pongo legible.