| ChucK linguaggio di programmazione | |
|---|---|
| Data di origine | 2002 |
| Paradigmi | programmazione multi-paradigma, programmazione concorrente e programmazione orientata agli oggetti |
| Implementazione di riferimento | |
| Sistema operativo | Linux, MacOS X, Microsoft Windows, iOS |
| Licenza | GNU General Public License |
| Sito web | chuck.cs.princeton.edu |
ChucK è un linguaggio di programmazione concorrente, strongly-timed per la sintesi audio in tempo reale, composizione e prestazioni dal vivo, che può essere installato su Linux, MacOS X, Microsoft Windows e iOS.
ChucK Supporta la concorrenza deterministica e control rate multipli, simultanei e dinamici. Offre la possibilità di eseguire codifica dal vivo, aggiungendo, rimuovendo e modificando il codice in tempo reale, durante l'esecuzione del programma. Utilizza un preciso modello di sincronizzazione e concorrenza ed offre a compositori e ricercatori un potente mezzo per la realizzazione di programmi di sintesi audio complessi e controllabili in tempo reale.
ChucK è stato realizzato da Ge Wang sotto la guida di Perry R. Cook.
È distribuito gratuitamente sotto i termini della GNU General Public License (Linux, Microsoft Windows e MacOS X). Su iPhone e iPad, ChiP (ChucK for iPhone) è distribuito sotto una licenza limitata e non open source, e non è disponibile al pubblico.
ChucK è un linguaggio di programmazione orientato agli oggetti simile al linguaggio C, con tipizzazione forte.
ChucK si distingue per le seguenti caratteristiche:
Le librerie standard supportano:
Il seguente è un semplice programma che genera una melodia random, utilizzando un oscillatore sinusoidale:
// our signal graph (patch)
SinOsc f => dac;
// set gain
.3 => f.gain;
// an array of pitch classes (in half steps)
[ 0, 2, 4, 6, 9, 10 ] @=> int hi[];
// infinite loop
while( true )
{
// choose a note, shift registers, convert to frequency
Std.mtof( 65 + Std.rand2(0,1) * 43 +
hi[Std.rand2(0,hi.cap()-1)] ) => f.freq;
// advance time by 120 ms
120::ms => now;
}
ChucK è stato utilizzato dalla Princeton Laptop Orchestra (PLOrk) e per lo sviluppo di alcune applicazioni della compagnia americana Smule, tra cui il simulatore di ocarina Gli organizzatori PLOrk attribuiscono parte dell'unicità delle loro esibizioni alla codifica dal vivo che possono eseguire con ChucK..