El campo del software de composición musical algorítmica sufre de un síndrome conocido como «no inventado aquí». Es decir, diferentes grupos y subgrupos de profesores y compositores tienden a utilizar un sistema que han desarrollado o con el que están familiarizados, y más o menos ignoran otros sistemas. Esto tiene el efecto de que los sistemas tienden a ir por detrás del progreso general de la ingeniería del software, y que los algoritmos desarrollados para un sistema pueden no estar disponibles en otros sistemas.
Dicho esto, personalmente estoy familiarizado con los siguientes sistemas:
- OpenMusic, muy bueno pero limitado por el requisito de un sistema comercial de Common Lisp (LispWorks) para obtener todas las características de Common Lisp (no hay soporte de ASDF con la versión gratuita de LispWorks incluida en la versión de libre descarga de OpenMusic). Por lo demás, muy bueno y ampliamente utilizado.
- Common Music, otro sistema de composición de Common Lisp, utilizable con muchas versiones de código abierto de Common Lisp como SBCL. No está mal, pero ya no se mantiene mucho.
- Algunos compositores han basado sus propios sistemas de composición algorítmica en Common Music, por ejemplo, Michael Edwards (sistema Slippery Chicken), Drew Krause (sistema personal), y yo mismo (nudruz, mi extensión del sistema de Drew Krause, mejorado para trabajar con Csound).
- Grace, el descendiente basado en Scheme de Common Music, en una configuración de programa todo en uno que incluye la síntesis así como la composición.
- El sistema blue de Steven Yi está diseñado para la composición tanto manual como algorítmica utilizando Csound.
- Max/MSP, un producto comercial, casi un estándar debido a su uso en la enseñanza de la tecnología musical.
- Pure Data, el hermano de código abierto de Max/MSP.
- SuperCollider, de código abierto, ampliamente utilizado.
- Processing, un lenguaje de código abierto para el arte generativo, bastante utilizado pero no tan potente para la composición musical algorítmica como OpenMusic.
- También p5.js, la versión de JavaScript de Processing.
- Euterpea/Haskell School of Music/Kulitta/Jazzkell, un conjunto de sistemas relacionados para el lenguaje Haskell, en su mayoría mantenidos ahora por Donya Quick.
- Music 21, un sistema de Python para el análisis musical y la composición algorítmica.
- Mencionaré mi propio sistema SIlence, que se encuentra en el repositorio GitHub de csound-extended, para hacer composición algorítmica con Csound en C++, Python, Lua, JavaScript o Common Lisp. Como muchos sistemas desarrollados personalmente, es fuerte en áreas que reflejan los intereses del compositor y débil en otras áreas.
- Muchos otros sistemas solían estar listados en http://www.algorithmic.net/systems. Este sitio web ya no está en Internet, pero ha sido archivado en Wayback Machine y puede verse allí.
- Hay todo un campo de codificación en vivo que incluye muchos elementos de composición algorítmica, pero no entraré en ello aquí.
Instar al OP a que elija el sistema que mejor soporte sus propios proyectos y que, al mismo tiempo, sea ampliamente utilizado y esté basado en un lenguaje de programación comúnmente utilizado y bien soportado como C++, Python, JavaScript o Common Lisp.
Yo miraría primero a OpenMusic, music21 y Euterpea/Kulitta para sistemas de código abierto, y a Max/MSP para sistemas comerciales.