# Composición algorítmica

Composición algorítmica es la técnica de crear música usando algoritmos.
Los algoritmos han sido usados para componer música durante siglos; los procedimientos usados para hacer gráficos de voces en el Contrapunto occidental, por ejemplo, pueden ser frecuentemente reducidos a un algoritmo determinado. De cualquier manera, el término es usualmente reservado para procedimientos que hacen música sin la intervención humana, y se basan fundamentalmente en el uso de computadoras.
Algunos algoritmos que no tienen una inmediata relevancia musical son usados por los compositores como un modelo creativo de inspiración para su música. Algoritmos como fractales, modelos estadísticos, e incluso datos arbitrarios, por ejemplo, gráficos de censos, sistemas de coordenadas geográficas, el campo magnético o incluso la frecuencia en las olas del mar, fueron utilizadas como fuente de inspiración.

## Modelos para composición algorítmica

No hay un método universal para ordenar los diferentes algoritmos -de composición musical- en categorías. Una manera de hacer esto es observar de que manera un algoritmo toma parte en el proceso de composición musical. Los resultados de este proceso pueden ser divididos en 1) música compuesta por una computadora y 2) música compuesta con la ayuda de una computadora. La música puede ser considerada, compuesta por una computadora cuando el algoritmo tiene la capacidad de hacer elecciones durante el proceso de creación
Otra manera de ordenar los algoritmos composicionales es examinar los resultados de su proceso composicional. En este caso, los algoritmos pueden ser de dos maneras 1) provee información de notas o partitura para ser tocada en otros instrumentos musicales o 2) provee una forma independiente de tocar la composición en forma autónoma por medio de un sintetizador de sonidos. Hay también algoritmos que crean ambos, la partitura y la sintetizan sonidos.
Tal vez la mejor manera de categorizar la composición algorítmica es por medio de su estructura y la manera de procesar sus datos, como se puede ver a continuación en esta lista de tipos que se solapan parcialmente.
* modelos matemáticos
* sistemas basados en el conocimiento
* gramática
* métodos evolucionarios
* Sistema de auto - aprendizaje
* Sistemas híbridos

### Modelos matemáticos

Los modelos matemáticos están basados en ecuaciones matemáticas y eventos al azar. La manera más común crear una composiciones a través del método matemático es el proceso estocástico. En modelos estocásticos una pieza de música es compuesta como el resultado de un método no-determinista. El proceso de composición es sólo parcialmente controlado por el compositor ponderando las posibilidades de eventos aleatorios. Ejemplos destacados de algoritmos estocásticos son Markov chains y los diversos usos de las distribuciones gausianas. Los algoritmos estocásticos se utilizan a menudo junto con otros algoritmos en diversos procesos de toma de decisiones.
La música también ha sido compuesta a través de los fenómenos naturales. Estos modelos caóticos crear composiciones a partir de los fenómenos armónicos e inarmónicos de la naturaleza. Por ejemplo, desde los años 1970 los fractales se han estudiado también como modelos para la composición algorítmica.
Como ejemplo de composiciones deterministas a través de modelos matemáticos, el On-Line Encyclopedia of Integer Sequences proporciona una opción para desempeñar una secuencia de números entero como música. Inicialmente se establece que, cada entero se convierte en una nota de un total de 88 teclas de un teclado musical mediante el cálculo de número entero obtenido del módulo. de 88 (es decir, se obtiene el 'resto' entero de la división de ese número determinado de la lista con 88, a un ritmo constante. Así una lista de números naturales dan como resultado una escala cromática.

### Sistemas basados en el conocimiento

Esta forma de crear composiciones consiste en, aislar el código estético de un determinado género musical y el uso de este código para crear nuevas composiciones similares. Los sistemas basados en el conocimiento, se fundamentan en un conjunto pre- armado de argumentos que se pueden utilizar para componer nuevas obras del mismo estilo o género. Por lo general, esto se logra mediante una serie de pruebas o normas que exigen el cumplimiento de la composición a ser completa.

### Gramáticas

La música también puede ser examinada como una lengua, con una gramática distintiva. Las composiciones se crean primeramente a partir de una construcción gramatical musical, que se utiliza a continuación para crear piezas musicales comprensibles. La gramática a menudo incluyen reglas para componer a nivel macro, por ejemplo armonías y ritmo, en lugar de notas individuales.

### Método evolucionario

La música evolucionaria está basada en algoritmos genéticos. La composición es construida por los medios del proceso de la evolución. A través de mutación y la selección natural, diferentes soluciones evolucionan hacia una pieza musical adecuada. La acción interactiva del algoritmo con el compositor recorta malas soluciones y crea otras nuevos desde los que sobreviven al proceso. Los resultados del proceso son supervisados por la crítica, siendo esta una parte vital del algoritmo ya que actúan como control de la calidad de las composiciones creadas.

### Sistemas de auto-aprendizaje

Los sistemas de auto-aprendizaje son programas a los que no se los ha dotado de conocimiento respecto del género con el que van a trabajar, en su lugar, ellos recolectan el material por ellos mismo a partir de ejemplos dados por el usuario o programador. El material es entonces procesado, dando como resultado una pieza de similares características a los ejemplos ingresados. Este método de composición algorítmica esta fuertemente relacionado al estilo de modelacion algorítmica, improvisación por medio de máquinas como así también con la ciencia cognitiva y el estudio de [redes neuronal]es

### Sistemas híbridos

Los programas basados en un solo modelo de algoritmo, raramente tienen éxito creando una composición estéticamente satisfactoria. Por esa razón, algoritmos de diferentes tipos, son frecuentemente usados juntos, para así combinar sus fortalezas y desechar sus debilidades. El único gran problema con los sistemas híbridos es su creciente complejidad y la necesidad de recursos para combinar y testear estos algoritmos.