Currawong Music Labs
Currawong Music Labs
CURRAWONG MUSIC LABS
Currawong Music Labs is the technical wing of Currawong Project. We develop the hardware and software to support the musical goals of The Project. The lab members are involved in a wide range of topics related to sound and music technology - from the nuts and bolts of concurrent real-time systems and embedded electronics development through digital signal processing, sound analysis and machine learning.
CML maintains a growing archive of GNU GPL open source software, schematics, and associated documentation through which we invite participation and collaboration.
The primary mission of CML is to develop and refine technologies to aid in realizing the electronic part for the musical works produced by the Currawong Project. Our focus is on three major technologies:
Score processing
Performance analysis
Real-time sound transformation
Our technology uses score processing both during pre-production and during the actual performance. Our pre-production tools parse and augment the information contained in the score to include additional data needed to derive the electronic part. During the performance, we have developed algorithms to align the performance and the score - even in the presence of mistakes by the player.
We use techniques from performance analysis to assess performance metrics and derive models of how a player may traverse the piece. These models are developed during pre-production based on measuring the performance of multiple players, playing multiple takes, from specific sections of the score. During the performance, the models are then used to evaluate both how the player is deviating from the literal score as well as how they are playing relative to other players’ performances.
Since the Currawong Project focuses on music derived from acoustic instruments, sound transformation is our first approach to forming the material used in the electronic part. Our goal here is to augment and exploit the naturally interesting and familiar sounds of traditional instruments. All of our sound transformations are developed line by line from our own signal processing infrastructure.
video art by Huei Lin
SOFTWARE
Below is a catalog of the open-source programs and software developed and released by Currawong Music Labs.
All of the software developed at Currawong Music Labs is made available under the GPL license.
-
CAW is an audio processing environment and language for real-time and non-real-time audio processing.
Features include:
Support for low-latency, interactive, real-time as well as non real-time programs.
Easily described distributed, parallel processing.
Clear and easily interpreted network execution semantics.
Automatic user interface generation.
Large collection of data flow unit processors.
-
LIBCW is an application framework for developming real-time interactive applications on Linux.
Some LIBCW features:
Real-time, low-latency, synchronous and asynchronous interfaces to many common IO devices including:
Audio
MIDI
Serial
Sockets
Websockets
Built-in dataflow framework for describing real-time audio and DSP programs.
A GUI development API and collection of predefined widgets for creating websocket based user interfaces.
Most elements of the framework are configurable based on configuration files which use an extended JSON syntax.
Minimal dependencies. The only external dependencies are libasound, libwebsockets and libfftw.
A large collection of pre-built audio signal processing algorithms.