Processing <- -> ChucK Demo Copyright 2007 Arthur Clemens, http://visiblearea.com License: MIT License, http://www.opensource.org/licenses/mit-license.php INTRODUCTION This demo shows how to let a Processing sketch interact with ChucK. Communication is done using the OpenSound Control (OSC), the defacto communication protocol for computers and synthesizers. I have used the OSCp5 library for Processing (see links below). 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. THE DEMO The demo loads 5 audio files. Volume and panning values are calculated by Processing and sent to ChucK. ChucK analyses the sound spectrum and sends back analysis data. This is a non-interactive sketch, but interactivity would be trivial to add (see also http://visiblearea.com/blog/bin/view/VisibleArea/ProcessingandChucKHelloWorlddemo). HOW TO RUN THE DEMO * Install ChucK * Run the demo HOW TO FURTHER DEVELOP WITH PROCESSING * Install ChucK * Install Processing * Add OSCp5 to the Processing libraries REMARKS Unfortunately ChucK does not play MP3s, but it understands WAV, AIFF, SND (AU), MAT-file (Matlab), and STK RAW files. CLASSES * Class 'ChuckController' manages the ChucK VM, starting of OSC and dispatching of OSC messages. * Class 'ChuckAttendant' lets ChucK know Processing is alive. Receiving ChucK application 'monitor.ck' will stop ChucK as soon as it no longer receives any input. * Base class 'Chuck' frames the basic functionality for subclasses. * Chuck subclass 'DemoFilePlayerChuck' is used for example purpose only. LINKS Processing http://processing.org ChucK http://chuck.cs.princeton.edu/ OSCp5 http://www.sojamo.de/iv/index.php?n=11 More info: ChucK RollOff analysis http://chuck.cs.princeton.edu/doc/program/uana_full.html#RollOff OSC http://www.cnmat.berkeley.edu/OpenSoundControl/