Ritmo euclidiano
# Ritmo euclidiano

El ritmo euclidiano o euclídeo en música fue definido por Godfried Toussaint en 2004 y está descrito en un artículo de 2005 "The Euclidean Algorithm Generates Traditional Musical Rhythms". El máximo común divisor de dos números es utilizado rítmicamente dando el número de pulsos y silencios, generando casi todo los ritmos más importantes de la Música Mundial, (excepto India). Los pulsos en los ritmos resultantes son tan equidistantes como son posibles; los mismos resultados pueden ser obtenidos mediante el algoritmo de Bresenham.
Toussaint aplicó el algoritmo de Euclides a la distribución de acentos musicales en los ritmos musicales.

# Ritmo euclidiano
## Cálculo del MCD mediante el algoritmo de Euclides

El algoritmo de Euclides es un algoritmo recursivo se basa en dos propiedades sencillas del Máximo Común Divisor:
* MCD(a, 0) = a: El MCD de cualquier número (natural) a y 0 es a.
* MCD(a, b) = MCD[b, resto(a/b)]: El MCD de dos números (naturales) a y b es el mismo que el MCD de b, y el resto de dividir a entre b (a%b).
Se considera un algoritmo recursivo ya que contiene un caso base (Propiedad 1) y un caso simplificador (Propiedad 2).
Ejemplo:
* mcd(20, 12) Aplicando P2 (20%12 = 8):
* mcd(12, 8) Aplicando P2 (12%8 = 4):
* mcd(8, 4) Aplicando P2 (8%4 = 0):
* mcd(4, 0) Aplicando P1:
* mcd(20, 12) = mcd(4, 0) = 4

# Ritmo euclidiano
## Algoritmo de Toussaint

Nota: El algoritmo desarrollado a continuación es el que desarrolló Toussaint en su artículo, el cual está directamente implementado con el algoritmo de Euclides.
La aplicación más usada es la de repartir de forma equitativa una determinada cantidad de pulsos en una cantidad establecida de unidades de tiempo creando así lo que se conoce como "Ritmos Euclideos".
Consideremos que un tiempo sin acento se representa con un cero (0), y un tiempo acentúado se representa con uno (1); y queremos distribuir equitativamente "y acentos" en "x tiempos".
El algoritmo de Toussaint, explicado con un ejemplo que distribuye 4 acentos en 11 tiempos. Consiste en:
* Situamos los "0's" a la izquierda, perteneciendo al grupo en negrita; y los "1's" a la derecha, perteneciendo al grupo en cursiva: 0 0 0 0 0 0 0 1 1 1 1
* Emparejamos cada 1 a la derecha de cada 0 para formar parejas '01'. Las parejas realizadas ahora pertenecen al grupo de negritas y, el resto, al grupo de cursivas: 01 01 01 01 0 0 0
* Ahora, emparejamos cada 0 a la derecha de cada pareja de '01', formando tríos '010'. Al igual, la pareja de '01' que sobre, pasaría al grupo de cursivas: 010 010 010 01
* El proceso se repite hasta que no queden números sueltos, o nos quede sólo uno (como en el caso del ejemplo). En este punto, se unifican todos los grupos en orden de izquierda a derecha: 01001001001
La secuencia resultante sería la distribución equitativa de 4 acentos en 11 pulsos.
El patrón obtenido puede ser desplazado siempre y cuando mantenga los mismos intervalos. Por ejemplo, las secuencias 010.010.010.01, 1.010.010.010.0 y 0.010.010.010.1 son equivalentes, ya que lo único que las diferencia es que hemos rotado los pulsos hacia la derecha. (En negrita y cursiva se puede ver cómo va desplazándose un mismo elemento a lo largo de la rotación).

# Ritmo euclidiano
## Aplicaciones reales del algoritmo en la música

La distribución homogénea de los acentos en determinados pulsos es algo que lleva haciéndose inconsciente e involuntariamente a lo largo de la historia de la música, pues es lógico pensar que el ser humano siempre busca la armonía y equilibrio en sus expresiones artísticas. Evidentemente, esto no se cumple para todas los casos, pero sí para la mayoría.
Los casos más triviales son aquellos en los que la secuencia de pulsos acentuados se determina con un solo paso del algoritmo de Toussaint, es decir, cuando los acentos se aparejan con los pulsos débiles sin quedarse ningún pulso libre o suelto:
Ejemplos:
* E(8, 4). Distribuir 4 acentos en 8 pulsos. El patrón quedaría 10101010. Es decir, notas acentuadas de forma alterna. Este ritmo es ampliamente usado en compases binarios como 2/4 o 4/4. En cuanto a estilos musicales, el patrón 10101010 se reconoce fácilmente en marchas militares, donde el acento corresponde a una pisada del pie derecho, consiguiendo así que todos los soldados vayan al mismo paso.
* E(8, 3). Distribuir 3 acentos en 8 pulsos. El patrón quedaría 10010010. Este es uno de los más usados en toda la historia de la música moderna, siendo encontrado fácilmente en algunas canciones de rock, pop, música tradicional o incluso en el ritmo básico de reggaetón.
Este algoritmo es un potente recurso compositivo en la música, ya que puede usarse de forma aleatoria (escoger dos números al azar y formar el ritmo euclídeo) y se obtendría una base rítmica con la que la canción puede direccionarse en un rumbo.
Además, supone una nueva forma de denominar determinados ritmos que anteriormente no se podía. Al igual que existe una relación interválica entre notas musicales, llamada "Tonalidad" (por ejemplo, tonalidad de Fa menor o Fm), podemos referirnos a algunos ritmos de forma precisa.

# Ritmo euclidiano
## Otros usos del algoritmo de Euclides en música

* En el siglo XVII Conrad Henfling escribió a Leibniz acerca de teoría musical y afinación de instrumentos musicales haciendo uso del algoritmo de Euclides en su razonamiento.
* En el Spallation Neutron Source, Oak Ridge, (EE. UU.), se usa un sistema de temporalización con un algoritmo basado exactamente en el algoritmo de Euclides. Desarrollado en 2003.