ChucK is a strongly timed music programming language with deterministic multithreading.
ChucK can be used to compose, analyse or modify music. It is based on two central ingredients:
- The heavily overloaded ChucK operator
=>
- Timed execution of commands, precise to the sample (typically 1/48000 second)
The ChucK operator allows for fast, intuitive development, for great flexibility and for loads of fun while programming: you just "chuck" your program together.
The precise timing allows for deterministic, safe "multishredding" (threads in ChucK are called "shreds") where no race conditions, aliasing problems or deadlocks arise.
ChucK is free and open-source software and is hosted on GitHub. The Mini Audicle IDE is a ChucK-ready IDE.
The main documentation is found at http://chuck.cs.princeton.edu/doc/, and the community-driven wiki is found at http://wiki.cs.princeton.edu/index.php/ChucK.