Juan Sebastian Mendez

SERG

Año : 2023

Shifting Euclidean Rhythm Generator (SERG) es una herramienta de composición musical inspirada en el concepto de Steve Reich de ritmos desfasados. Esta herramienta utiliza los ritmos Euclidianos de Godfried Toussaint para crear beats musicales y polirritmos complejos que evolucionan orgánicamente con el tiempo a medida que entran y salen de fase, sincronizando síntesis de audio precisa con visualizaciones circulares en tiempo real.

Tecnologías usadas:

Ritmos Euclidianos

El núcleo rítmico de SERG se basa en los Ritmos Euclidianos (descubiertos por Godfried Toussaint en 2004). Utilizando el algoritmo de Euclides para el máximo común divisor, el sistema distribuye una cantidad específica de «golpes» (onsets) de la forma más equidistante posible dentro de una cuadrícula de «pulsos». Sorprendentemente, este cálculo matemático puro genera automáticamente la mayoría de los ritmos fundamentales de la música tradicional del mundo (como el Tresillo Cubano) y la música electrónica moderna.

Flujo del Audio

Desarrollado enteramente en JavaScript, el ecosistema utiliza Tone.js para la síntesis web y Tone.js/midi para la estructura de datos musicales.

Cada pista de sintetizador y sampler pasa por un enrutamiento riguroso para evitar saturación (clipping) mediante limitadores individuales, antes de ingresar a los buses de efectos espaciales (Chorus, Delay, Reverb).

Visualización y Desplazamiento de Fase

La interfaz, construida con p5.js, funciona como un reloj rítmico. Los anillos exteriores representan la pista base estática. Los anillos interiores experimentan el «Desplazamiento de Fase».

El Desafío de Sincronización: Operar procesos de dibujo (UI) y procesos de audio (Web Audio API) en el mismo hilo de JavaScript introduce latencia. Esto se solucionó pre-programando los eventos MIDI de Tone.js en el buffer con un offset calculado, asegurando que el barrido visual de p5.js coincida exactamente con los transitorios del audio a nivel de milisegundo (compensación de retardo).