L'histoire de la musique et des langages de synthèse sonore remonte aux langages Music N à partir des années 1950. Vous pouvez retracer les fils à partir de là vers une variété de langues qui ont été développées dans les années 90, notamment CSound, ChucK et SuperCollider. CSound pourrait être considéré comme le dernier des langages «traditionnels» de Music N, qui se concentrent principalement sur la synthèse sonore, tandis que ChucK et SuperCollider ajoutent également des outils flexibles pour la composition. (Il existe également une variété de langages graphiques pointer-cliquer tels que Max MSP et PureData qui descendent également du paradigme Music N, mais je ne suis intéressé que par pour le bien de cette question.)
SuperCollider a toujours été mon outil de choix. Il fournit une grande variété d'opcodes (modules de traitement de signal de bas niveau) et de nombreuses façons de les assembler à la volée, de déclencher des événements de manière algorithmique et de répondre de manière interactive aux signaux externes.
Cependant, SuperCollider est maintenant gentil de l'ancienne technologie. La première version est sortie en 1996 et la version 3 a été open-source en 2002. Bien qu'il y ait de nouvelles fonctionnalités depuis lors, le cœur du système de langage et de synthèse est inchangé et reste optimisé pour une machine du début des années 2000. En particulier, il est clairement défini dans un paradigme à processeur unique et ne peut pas tirer parti du parallélisme fourni par les GPU modernes, bien que la prise en charge de plusieurs cœurs de processeur ait été ajoutée. Il y a aussi certaines caractéristiques de son architecture qui seraient probablement repensées si elle était repensée maintenant. (Un exemple est la nécessité d'exécuter le serveur de synthèse en tant qu'application distincte du langage lui-même, ce qui rend la synchronisation d'échantillons très difficile à réaliser, entre autres.)
Je me demande donc s'il existe des successeurs de SuperCollider et de ses cousins de cette époque, déjà existants ou à l'horizon, qui vont au-delà de ce qui peut être réalisé avec les outils listés ci-dessus. Les possibilités de parallélisme GPU semblent immenses, et il y a également eu des progrès dans la conception de langage de programmation depuis 2002 qui pourraient aboutir à un outil encore plus impressionnant et flexible. En particulier, les machines virtuelles peuvent maintenant être presque aussi efficaces que le code C nu, ce qui signifie que le code DSP pourrait être compilé juste à temps, supprimant la limitation de s'en tenir à un ensemble préprogrammé d'opcodes.
Quelqu'un at-il connaissance de développements ou de recherches dans ce sens? Je commence à me remettre à la composition musicale et à la programmation DSP après une longue période de travail avec d'autres choses, et ce serait vraiment génial d'avoir un nouvel outil passionnant à apprendre, avec des fonctionnalités qui vont au-delà de ce que j'ai utilisé avant. Comme mentionné ci-dessus, je parle de langages textuels pour la programmation DSP et la composition algorithmique, plutôt que de systèmes basés sur des correctifs visuels.
Pour résumer, mon principal intérêt est de savoir s'il existe des projets qui se concentrer sur des techniques de synthèse de pointe, en utilisant une nouvelle technologie qui n'était pas disponible au début des années 2000. (Mais les réponses qui énumèrent d'autres types de paquets sont également utiles.)