Below are some quick notes about my talk for the TWIGS wiki page.
Pure Data
-
demo: playing a 'noise~' through 'dac~'
demo: controlling the pitch of an 'osc~' with a number box and 'mtof'
demo: recording input from 'adc~' to an array, then playing it out with a 'metro' and bang and toggle buttons
note: DSP chain is visible (thick wires), similar representation to control chain
note: difficult to work with recursive data structures, easy to work with event streams
Impromptu
-
demo: setting up midi synthesizer and 'play-note'ing some sound
demo: understanding '(now)' and evaluation of whole definitions and their sub-expressions
demo: simple temporal recursion playing random notes, live editing of loop guts and callback delay, loop termination
demo: complex generative music example with text-to-speech, a main temporal recursion, and stateless part functions
note: temporal recursion is a nifty design pattern, rich concurrency in a single thread
note: you should schedule yourself to be called back Before you want your sound to play so there is time to compute what to play!
note: DSP chain is not 'visible'
note: Impromptu is a general livecoding performance tool, not particularly oriented towards music
note: expressions can be evaluated on remote virtual machine so collaborators can type locally but act centrally (same applies to ChucK)
ChucK
-
demo: playing a 'Noise' through 'dac', chucking into 'now', overloading of '⇒'
demo: controlling the frequency of a 'SinOsc' in an infinite while loop, compared function-call and chucking syntax for pitch generation
demo: complex generative music example with multiple shreds, loading sounds from disk, volume ramps, killing shreds interactively
demo: reading from accelerometer in rockband guitar controller, mapped to speed of audio playback and corrective pitch shifting
demo: analysing noise level with integrated mic to make an expressive, breath-controlled synthesizer from a laptop
note: main instrument for the laptop orchestra at Princeton and Stanford
Processing
-
demo: visual synthesis demo, OSC events flow from Impromptu program to Processing
note: OSC can connect (via internet protocol) many different tools in many different locations live! (not well supported outside of open-source scene)
note: really just Java behind the scenes
note: not really livecoding unless the particular program is part of a bigger work