ChucK and Audicle are two new pieces of audio software that sounds interesting. I haven’t had the time to check out ChucK yet and Audicle is not released yet.
ChucK is a new audio programming language for real-time synthesis composition and performance which runs on MacOS X Windows and Linux. ChucK presents a new time-based concurrent programming model which supports a more precise and fundamental level of expressiveness as well as multiple simultaneous dynamic control rates a precise and straightforward concurrent programming model and the ability to add remove and modify code on-the-fly while the program is running without stopping or restarting. It offers composers researchers and performers a powerful and flexible programming tool for building and experimenting with complex audio synthesis programs and real-time interactive control.
Many software environments have been developed for computer music. Programming environments typically provide constructs to implement synthesis or musical algorithms whereas runtime environments allow performers to exert parametric control over their programs onstage in real-time. Audicle present a new type of audio programming environment that integrates the programmability of the development environment with elements of the runtime environment. The result called the Audicle is a novel integration of a concurrent smart editor compiler virtual machine and debugger all running in the same address space sharing data and working together at runtime. We believe this augmentation has the potential to fundamentally enhance the way we write and visualize audio programs both offline and on-the-fly.
Our model of the Audicle is integrated with the ChucK programming language and inherits many of its fundamental properties including: decoupling of data-flow and time concurrency and modularity for on-the-fly programming. The Audicle not only provides a useful class of programming tools for real-time composition and performances but also motivates a new type of on-the-fly programming aesthetic one of visualizing the audio programming process.