ChucK
ChucK 是一个并发和强调时间的音频编程语言,主要用于实时声音合成、作曲和表演,[1] 可运行于OS X、Linux、Microsoft Windows和 iOS。相比性能等其他因素的考虑,它的设计更注重程序的可读性与编程灵活性。它原生支持确定性并发和同时多重动态控制率。另外一个关键的功能其对现场编程的支持, 可以在程序不停止或重启的情况下,现场增加、删除和修改程序。它有着非常精确的定时/并发模型,允许任意准确的控制。它为作曲家与研究人员而开发的编程工具兼具强大性能与灵活性,包括对复杂声音合成进行开发和调试,以及实时的交互控制。[2]
多重编程范式 | |
設計者 | 王戈 |
2003 | |
型態系統 | 强类型 |
作業系統 | 跨平台- OS X, Linux, Windows |
許可證 | GNU通用公共许可证 iOS: 闭源软件 |
網站 | http://chuck.cs.princeton.edu/ |
代码例子
下面是生成声音和音乐一个简单的ChucK程序:
// 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; }
参考资料
- Ge Wang. . Collins, Nicholas; Rincón, Julio d'Escrivan (编). . Cambridge University Press. 2007: 69 [2013-11-22]. ISBN 0-521-86861-0. (原始内容存档于2014-01-03).
- . [2013-09-06]. (原始内容存档于2011-04-10).
...offers composers, researchers, and performers a powerful programming tool for building and experimenting with complex audio synthesis/analysis programs, and real-time interactive music.
外部链接
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.