Física de sistemas caóticos + teoría musical del siglo XIX = música generativa del siglo XXI
Diciembre 2024
¿Puede el caos componer música? Este artículo presenta un sistema donde una partícula magnética, siguiendo trayectorias caóticas, genera progresiones de acordes al atravesar un espacio armónico llamado Tonnetz. El resultado es música que no es ni aleatoria ni predeterminada: es emergente. Exploramos cómo la combinación de física de sistemas dinámicos y teoría musical neo-riemanniana produce composiciones que suenan coherentes a pesar de nacer del caos.
Palabras clave: Tonnetz, teoría neo-riemanniana, sistemas caóticos, música generativa, atractores, Web Audio API
Imagina que quieres crear un sistema que genere música automáticamente. Tienes tres opciones obvias, y las tres tienen problemas:
¿Hay una cuarta vía? Sí: la emergencia. Sistemas donde reglas simples producen comportamientos complejos e impredecibles, pero no aleatorios. El ejemplo clásico es el clima: determinista en teoría, impredecible en la práctica, pero claramente no es "ruido".
Este artículo presenta un sistema de música generativa basado en esa idea. Una partícula se mueve caóticamente sobre un mapa musical llamado Tonnetz. Cada vez que cruza una región, dispara un acorde. El resultado es música que emerge del caos —literalmente.
El Tonnetz (del alemán "red de tonos") es una forma de visualizar las relaciones entre notas musicales. Fue inventado por el matemático Leonhard Euler en 1739 y redescubierto por el teórico musical Hugo Riemann en el siglo XIX.
En su forma más simple, es una cuadrícula donde:
Mi ---- Si ---- Fa# --- Do#
/ \ / \ / \ / \
Do ---- Sol ---- Re ---- La
\ / \ / \ / \ /
La♭--- Mi♭--- Si♭--- Fa
Lo fascinante del Tonnetz es que los triángulos que se forman corresponden a acordes:
En un piano, las notas están ordenadas por frecuencia: Do, Re, Mi... Esto es útil para tocar, pero esconde las relaciones armónicas. Do y Sol están lejos en el teclado, pero son muy cercanos armónicamente (forman una quinta).
El Tonnetz reordena las notas por cercanía armónica. Notas que "suenan bien juntas" están cerca en el mapa. Esto significa que moverse suavemente por el Tonnetz produce progresiones de acordes que suenan naturales.
A finales del siglo XX, teóricos musicales redescubrieron el Tonnetz y formalizaron tres formas de moverse entre acordes:
| Transformación | Qué hace | Ejemplo |
|---|---|---|
| P (Parallel) | Cambia mayor ↔ menor manteniendo la fundamental | Do Mayor → Do menor |
| R (Relative) | Va al relativo mayor/menor | Do Mayor → La menor |
| L (Leading-tone) | Mueve la nota sensible | Do Mayor → Mi menor |
Estas tres operaciones tienen una propiedad mágica: solo cambian una nota del acorde. Por eso las transiciones suenan suaves.
Alrededor de cualquier acorde en el Tonnetz hay exactamente seis acordes vecinos, accesibles mediante las transformaciones P, R, L y sus combinaciones. Esto forma un hexágono:
Mi menor (L)
/ \
La menor (R) Sol Mayor (R∘L)
\ /
DO MAYOR
/ \
Do menor (P) Mi Mayor (P∘L)
\ /
La♭ Mayor (P∘R)
Este hexágono es el corazón de nuestro sistema. La partícula caótica orbita este hexágono, y cada vez que "toca" un vértice, suena el acorde correspondiente.
Un sistema caótico es determinista (sigue ecuaciones precisas) pero impredecible a largo plazo. La razón es la sensibilidad a condiciones iniciales: dos puntos de partida casi idénticos divergen exponencialmente.
El ejemplo clásico es el clima. Las ecuaciones atmosféricas son conocidas, pero pequeñas incertidumbres en las mediciones hacen imposible predecir el tiempo más allá de ~10 días.
Aunque las trayectorias caóticas son impredecibles, tienden a confinarse en regiones del espacio llamadas atractores. El sistema nunca repite exactamente su estado, pero visita las mismas regiones una y otra vez.
En nuestra implementación, una partícula cargada se mueve en un plano con varios imanes. La física es simple:
El resultado es una partícula que orbita eternamente, nunca repitiendo exactamente su camino, pero siempre dentro de una región definida.
Ahora viene la fusión creativa:
┌─────────────────────────────────────────┐
│ │
│ ●Mi menor ●Sol Mayor │
│ ╲ ╱ │
│ ●La menor ─── ◉ ←partícula │
│ ╱ ╲ │
│ ●Do menor ●Mi Mayor │
│ │
│ ●La♭ Mayor │
│ │
└─────────────────────────────────────────┘
La magia está en que el Tonnetz ya codifica qué acordes suenan bien juntos. La partícula, al moverse suavemente entre vértices vecinos, produce transiciones armónicamente coherentes.
El caos aporta:
El Tonnetz aporta:
La partícula sigue ecuaciones newtonianas simples:
// Fuerza total = suma de fuerzas de cada imán
for (const magnet of magnets) {
const dx = magnet.x - particle.x;
const dy = magnet.y - particle.y;
const dist = Math.sqrt(dx*dx + dy*dy);
// Fuerza inversamente proporcional al cuadrado de la distancia
const force = magnet.strength / (dist * dist);
particle.vx += force * dx / dist * dt;
particle.vy += force * dy / dist * dt;
}
// Fricción para evitar aceleración infinita
particle.vx *= 0.999;
particle.vy *= 0.999;
// Actualizar posición
particle.x += particle.vx * dt;
particle.y += particle.vy * dt;
Cada vértice del hexágono tiene una "zona de activación". Cuando la partícula entra en ella:
for (const vertex of hexagon.vertices) {
const dist = distance(particle, vertex);
if (dist < TRIGGER_RADIUS && !vertex.recentlyTriggered) {
playChord(vertex.chord);
vertex.recentlyTriggered = true;
// Cooldown para evitar repetición excesiva
setTimeout(() => vertex.recentlyTriggered = false, 200);
}
}
Los acordes se sintetizan en tiempo real con Web Audio API:
El usuario puede elegir diferentes "sabores" armónicos:
| Modo | Carácter | Acordes típicos |
|---|---|---|
| Mayor | Brillante, optimista | Mayores y menores relativos |
| Menor | Melancólico, introspectivo | Menores y disminuidos |
| Frigio | Español, tensión | Frigio con segunda menor |
| Lidio | Luminoso, flotante | Cuarta aumentada |
| Blues | Groove, séptimas | Dominantes y menores con 7ª |
Después de horas de experimentación, emergen patrones interesantes:
Es importante ser honestos sobre lo que el sistema no hace:
Pero el sistema sí logra algo notable:
Cada ejecución es única. No hay dos sesiones iguales. Y sin embargo, todas suenan como "el mismo sistema" — tienen una personalidad reconocible.
Este proyecto nació de una pregunta: ¿puede la física componer música?
La respuesta honesta es: no exactamente. La física no "compone" — no tiene intención ni gusto. Pero puede generar material musical que un humano reconoce como coherente.
La clave está en el Tonnetz. Al proyectar el caos sobre un espacio donde cualquier camino es armónicamente válido, garantizamos que el resultado será musical. El caos aporta variedad e impredecibilidad; el Tonnetz aporta estructura y coherencia.
El resultado no es composición tradicional ni ruido aleatorio. Es algo intermedio: música emergente. Un sistema que nadie diseñó específicamente para producir estas secuencias, pero que las produce inevitablemente.
Quizá la música no está en la física ni en las reglas.
Está en la geometría de las conexiones que permitimos.
[1] Cohn, R. (1998). "Introduction to Neo-Riemannian Theory: A Survey and Historical Perspective". Journal of Music Theory, 42(2), 167-180.
[2] Tymoczko, D. (2011). A Geometry of Music: Harmony and Counterpoint in the Extended Common Practice. Oxford University Press.
[3] Strogatz, S. (2015). Nonlinear Dynamics and Chaos. Westview Press.
[4] Gleick, J. (1987). Chaos: Making a New Science. Viking Press.
[5] Roads, C. (1996). The Computer Music Tutorial. MIT Press.
[6] Euler, L. (1739). Tentamen novae theoriae musicae. St. Petersburg Academy.
[7] Riemann, H. (1880). Skizze einer neuen Methode der Harmonielehre. Leipzig.