音樂和聲音合成語言的歷史可以追溯到1950年代的 N種音樂。您可以從那裡追溯線程到90年代開發的多種語言,包括 CSound, ChucK和 SuperCollider。 CSound可以看作是“傳統”音樂N語言的最後一種,它主要專注於聲音合成,而ChucK和SuperCollider也添加了靈活的合成工具。 (還有各種各樣的圖形點擊語言,例如 Max MSP和 PureData,它們也源自Music N範例,但我只對出於這個問題,基於文本的語言。)
SuperCollider一直是我的首選工具。它提供了各種各樣的操作碼(低級信號處理模塊),並提供了多種方式將它們實時修補在一起,通過算法觸發事件以及對外部信號進行交互響應。技術的發展。第一個版本於1996年發布,第3版於2002年開源。儘管自那時以來有了新功能,語言和綜合系統的核心保持不變,並針對00年代早期的機器進行了優化。特別是,它已明確設置在單處理器範例中,並且儘管已添加了對多個CPU內核的支持,卻無法利用現代GPU提供的並行性。如果現在重新設計,則其體系結構的某些功能可能會重新考慮。 (一個例子是需要將綜合服務器作為獨立於該語言本身的獨立應用程序來運行,這使得採樣精確的計時非常難以實現。)
所以我想知道SuperCollider及其後代的繼任者是否已經存在或即將出現,是否超出了上面列出的工具所能實現的範圍。 GPU並行性的可能性似乎是巨大的,並且自2002年以來編程語言設計也有所進步,這可能會導致更強大,更靈活的工具。特別是,虛擬機現在幾乎可以與裸C代碼一樣高效,這意味著DSP代碼可以及時編譯,從而消除了堅持使用一組預先編程的操作碼的限制。
有人知道這方面的任何發展或研究嗎?在長時間忙於其他事情之後,我開始重新開始音樂創作和DSP編程,擁有一個令人興奮的新工具來學習,其功能超出了我的使用能力,這真是太棒了之前。如上所述,我是在談論用於DSP編程和算法組合的基於文本的語言,而不是基於視覺補丁的系統。使用2000年代初期尚不可用的新技術,專注於最先進的合成技術。 (但是列出其他類型的程序包的答案也很有用。)