ChucK on Windows
After 2 months or so of heads down work on the album I have decided to take a small break from Supercollider to explore some other programs. One that I have always been interested in and dabbled in slightly is ChucK.
ChucK is a new (and developing) audio programming language for real-time synthesis, composition, performance, and now, analysis – fully supported on MacOS X, Windows, and Linux. ChucK presents a new time-based, concurrent programming model that’s highly precise and expressive (we call this strongly-timed), as well as dynamic control rates, and the ability to add and modify code on-the-fly. In addition, ChucK supports MIDI, OSC, HID device, and multi-channel audio. It’s fun and easy to learn, and offers composers, researchers, and performers a powerful programming tool for building and experimenting with complex audio synthesis/analysis programs, and real-time interactive control.
The last time I used ChucK I used the miniAudicle with very mixed results. This time I decided to set it up using dual console windows as described in the FLOSS Manual.
This is how I set it up on Windows 7:
- Download ChucK.
- Unzip it to a convenient location on your hard drive (You do not need to put it into your program files directory as you normally would when installing an application.
- Navigate to the Bin folder, copy Chuck.exe and paste it into C:WindowsSystem32 (If you are using a 64-bit installation of windows you should paste it into C:WindowsSysWOW64 instead )
- Download Console. It is much better then the stock windows console.
- Unzip Console to your Program Files directory. Program Files (x86) if you are using a 64-bit version of windows.
- Right-click Console.exe and pin it to your start menu (and possibly your taskbar as well.)
- Open Console and pick Edit -> Settings
- Click Tabs
- Add a tab Title: Console
- Add a tab Title: ChucK Output ,Shell: chuck –loop
- Add a tab Title: ChucK Input ,Startup Dir: Directory where you keep your ChucK code.
- Order the tabs in the same order you created them. This way when you first start Console it will default to regular console window and not ChucK.
In order to test your setup:
- Create a new file named test.ck in the location you have chosen for your ChucK files and insert the following code:
SinOsc s => dac; SinOsc lfo => blackhole; 5=>lfo.freq; while(130::ms=>now) { (lfo.last()*100)+44=>s.freq; }
- Open two instances of Console. In one pick File -> New Tab -> ChucK Output and the other pick File -> New Tab -> ChucK Output
- In the input console type chuck + example
- You should now hear a bass loop
- Type chuck –status
- The output window should show the currently executing shred and it’s ID number:
[chuck](VM): status (now == 0h44m49s, 118614016.0 samps) ... [shred id]: 1 [source]: example [spork time]: 46.14s ago
- Type Chuck – 1
- The shred will be removed and sound will stop.
Now that you have a good working environment for ChucK I would suggest you read the FLOSS Manual to get up to speed on how ChucK works.