Quels sont les meilleurs logiciels de composition musicale algorithmique ?


Le domaine des logiciels de composition musicale algorithmique souffre d'un syndrome connu sous le nom de "pas inventé ici". C'est-à-dire que différents groupes et sous-groupes d'enseignants et de compositeurs ont tendance à utiliser un système qu'ils ont développé ou avec lequel ils sont familiers, et ignorent plus ou moins les autres systèmes. Cela a pour effet que les systèmes ont tendance à prendre du retard sur les progrès généraux du génie logiciel, et que les algorithmes développés pour un système peuvent ne pas être disponibles dans d'autres systèmes.


Cela dit, je suis personnellement familier avec les systèmes suivants:

  1. OpenMusic, très bon mais limité par la nécessité d'un système commercial Common Lisp (LispWorks) pour obtenir toutes les fonctionnalités de Common Lisp (il n'y a pas de support ASDF avec la version gratuite de LispWorks incluse dans la version librement téléchargeable d'OpenMusic). Sinon, très bon et largement utilisé.
  2. Common Music, un autre système de composition Common Lisp, utilisable avec de nombreuses versions open source de Common Lisp comme SBCL. Pas mal, mais plus très maintenu.
  3. Certains compositeurs ont basé leurs propres systèmes de composition algorithmique sur Common Music, par exemple Michael Edwards (système Slippery Chicken), Drew Krause (système personnel), et moi-même (nudruz, mon extension du système de Drew Krause, amélioré pour fonctionner avec Csound).
  4. Grace, le descendant de Common Music basé sur Scheme, dans une configuration de programme tout-en-un qui inclut la synthèse ainsi que la composition.
  5. Le système blue de Steven Yi est conçu pour la composition manuelle et algorithmique à l'aide de Csound.
  6. Max/MSP, un produit commercial, presque un standard en raison de son utilisation dans l'enseignement de la technologie musicale.
  7. Pure Data, le jumeau open source de Max/MSP.
  8. SuperCollider, open source, largement utilisé.
  9. Processing, un langage open source pour l'art génératif, assez largement utilisé mais pas aussi puissant pour la composition musicale algorithmique qu'OpenMusic.
  10. Aussi p5.js, la version JavaScript de Processing.
  11. Euterpea/Haskell School of Music/Kulitta/Jazzkell, un ensemble connexe de systèmes pour le langage Haskell, principalement maintenant maintenu par Donya Quick.
  12. Music 21, un système Python à la fois pour l'analyse musicale et la composition algorithmique.
  13. Je mentionnerai mon propre système SIlence, trouvé dans le dépôt GitHub csound-extended, pour faire de la composition algorithmique avec Csound en C++, Python, Lua, JavaScript ou Common Lisp. Comme beaucoup de systèmes développés personnellement, il est fort dans les domaines qui reflètent les intérêts du compositeur et faible dans d'autres domaines.
  14. De nombreux autres systèmes étaient autrefois répertoriés sur http://www.algorithmic.net/systems. Ce site Web n'est plus sur Internet, mais il a été archivé sur la Wayback Machine et peut y être consulté.
  15. Il existe un tout autre domaine de codage en direct qui comprend de nombreux éléments de composition algorithmique, mais je n'en parlerai pas ici.

J'exhorte le PO à choisir le système qui soutient le mieux ses propres projets tout en étant, en même temps, largement utilisé et basé sur un langage de programmation couramment utilisé et bien supporté comme C++, Python, JavaScript ou Common Lisp.

Je regarderais d'abord OpenMusic, music21 et Euterpea/Kulitta pour les systèmes open source, et Max/MSP pour les systèmes commerciaux.