Il campo dei software di composizione musicale algoritmica soffre di una sindrome conosciuta come "non inventata qui". Vale a dire, diversi gruppi e sottogruppi di insegnanti e compositori tendono ad usare un sistema che hanno sviluppato o con cui hanno familiarità, e più o meno ignorano altri sistemi. Questo ha l'effetto che i sistemi tendono a rimanere indietro rispetto al progresso generale dell'ingegneria del software, e che gli algoritmi sviluppati per un sistema possono non essere disponibili in altri sistemi.
Detto questo, personalmente conosco i seguenti sistemi:
- OpenMusic, molto buono ma limitato dalla necessità di un sistema Common Lisp commerciale (LispWorks) per ottenere tutte le caratteristiche di Common Lisp (non c'è supporto ASDF con la versione gratuita di LispWorks inclusa nella versione liberamente scaricabile di OpenMusic). Altrimenti, molto buono e ampiamente usato.
- Common Music, un altro sistema di composizione Common Lisp, utilizzabile con molte versioni open source di Common Lisp come SBCL. Non male, ma non più molto mantenuto.
- Alcuni compositori hanno basato i loro sistemi di composizione algoritmica su Common Music, per esempio Michael Edwards (sistema Slippery Chicken), Drew Krause (sistema personale), e io stesso (nudruz, la mia estensione del sistema di Drew Krause, migliorato per lavorare con Csound).
- Grace, il discendente di Common Music basato su Scheme, in una configurazione di programma all-in-one che include sia la sintesi che la composizione.
- Il sistema blue di Steven Yi è progettato per la composizione sia manuale che algoritmica usando Csound.
- Max/MSP, un prodotto commerciale, quasi uno standard per il suo uso nell'insegnamento della tecnologia musicale.
- Pure Data, il fratello open source di Max/MSP.
- SuperCollider, open source, ampiamente usato.
- Processing, un linguaggio open source per l'arte generativa, abbastanza usato ma non così potente per la composizione musicale algoritmica come OpenMusic.
- Anche p5.js, la versione JavaScript di Processing.
- Euterpea/Haskell School of Music/Kulitta/Jazzkell, un insieme di sistemi correlati per il linguaggio Haskell, per lo più ora mantenuto da Donya Quick.
- Music 21, un sistema Python sia per l'analisi musicale che per la composizione algoritmica.
- Cito il mio sistema SIlence, che si trova nel repository GitHub csound-extended, per fare composizione algoritmica con Csound in C++, Python, Lua, JavaScript, o Common Lisp. Come molti sistemi sviluppati personalmente, è forte in aree che riflettono gli interessi del compositore e debole in altre aree.
- Molti altri sistemi erano elencati su http://www.algorithmic.net/systems. Questo sito web non è più su Internet, ma è stato archiviato sulla Wayback Machine e può essere visto lì.
- C'è tutto un altro campo di live coding che include molti elementi di composizione algoritmica, ma non ne parlerò qui.
Sollecito l'OP a scegliere il sistema che meglio supporta i propri progetti e che, allo stesso tempo, sia ampiamente usato e basato su un linguaggio di programmazione comunemente usato e ben supportato come C++, Python, JavaScript o Common Lisp.
Io guarderei prima a OpenMusic, music21 e Euterpea/Kulitta per i sistemi open source, e a Max/MSP per i sistemi commerciali.