ChucK: audio programming language
http://chuck.cs.princeton.edu/
I recently downloaded ChucK, which runs on Windows, Linux, and Mac. ChucK is a programming language centered around audio synthesis, playback, manipulation. "Ugens" are your basic building blocks in the language: they include oscillators, filters, and effects, can do different kinds of synthesis, and you can modulate and sequence them in all kinds of ways. You can also manipulate ChucK with external controllers and events, although I haven't tried that yet.
It's kind of a fun experience, building things up from very raw elements and thinking of a sequence in abstract, mathematical terms rather than as keys on a keyboard or squares in a sequencer. ChucK is used alongside the other languages CSound and SuperCollider in universities for crazy sound experimentation, but since I just got it the other day I am still taking baby steps obviously. So far I've found it quite a bit easier to get into than CS or SC, the syntax is much easier to me and it was simple to get some basic sounds going and write them to a WAV file. It also has a ton of example files that are very helpful. And just like the other languages, it is free, no payment or registration needed whatsoever.
Here are a couple Tetris-ish sounds I have gotten so far. You can copy and paste this text into your own files and play them or edit as you like. :-)
PHP:
http://jbj.raceriv.com/sounds/ChucK/exponent.mp3
^ Pulse wave that descends from 440 Hz (A4) by semitones, then climbs back up in pitch and volume. The rate of descent speeds up twice (those two "ifs"). Width of the pulse is randomized by "Math.rand2f".
PHP:
http://jbj.raceriv.com/sounds/ChucK/fm.mp3
^ Basic FM synthesis, randomized modulating frequency and modulation intensity. Speed builds up gradually then suddenly slows and starts speeding up again, in a loop.
Here are some more links that might be helpful:
http://wiki.cs.princeton.edu/index....Install_and_Run (Windows installation)
http://chuck.cs.princeton.edu/doc/build/ (Mac + Linux instructions)
http://chuck.cs.princeton.edu/doc/learn/tutorial.html (bare basic tutorial)
http://chuck.cs.princeton.edu/doc/language/ (all about the language)
http://chuck.cs.princeton.edu/doc/program/ugen.html (guide to Ugens)
For editing code ".ck" files, it's useful to get a decent text editor like TextPad, which will ensure they display properly. Also you can display line numbers, very useful for when ChucK spits out an error message and a line number back at you because you messed up the syntax or something. :-)
Last edited by MrJiveBoJingles on Oct-28-2009 at 04:31
|