Awesome
Live Coding Toolkit for Pure Data
A suite of Pure Data abstractions (predefined functions) for musical live coding
Download and add the folder to your Paths in Pure Data's preferences.
Abstractions include:
- tempo : send bangs regularly at a particular BPM
- cycle : phrase looper
- periodic : stepped simple harmonic motion
- euclid : euclidean rhythm generator
- randchord : generate and store a randomised chord
- randseq : generate and store a randomised number sequence
- defer : schedule an event into the future by a number of beats
- stairs : stepped transition between two values
- ramp : smooth transition to the next value
- rand : linear, gaussian and random walk
- modrand : make a random selection at each modulo cycle
- direct : pass input values to a specified outlet
- quant : pitch class quanitze
- trans : transpose a number or list of numbers
- midi : MIDI note output and MIDI note and control change input
- map : scales data from one range to another
- gate : probabilistically let data through or not
- synth~ : simple mono subtractive synth
- polysynth~ : 8 voice version of synth~
- fm~ : simple 2-operator frequency modulation synth
- polyfm~ : 8 voice version of fm~
- drums~ : simple synthesized drum kit
- sample~ : load and playback a mono or stereo audio file
- polysample~ : 8 voice version of sample~
- echo~ : stereo audio feedback delay
- gate~ : probabilistically let audio through or not
- gain~ : stereo audio gain control with mute
- panner~ : stereo audio panner
- out~ : stereo audio output with level control and reverb
A User Guide, Help files, Examples, and test Audio Samples are included.
A series of tutorial videos for the Live Coding Toolkit is available.
The names of some abstractions may conflict with other Pd libraries, such as cyclone or ELSE. To avoid this put all the Live Coding Toolkit files into a folder, e.g. called lct, inside one included as a Pd Path in preferences. Then access LCT abstractions with a prefix e.g. [lct/cycle]. This will break the examples, but the prefix can be added to them as needed.
Functions are based on live coding techniques outlined in: Sorensen, Andrew & Brown, Andrew R. (2007) aa-cell in practice: An approach to musical live coding. In: Proceedings of the International Computer Music Conference. pp. 292–299. ICMA, Copenhagen.
An overview of the LCT and its use of live coding design patterns has been published in: Brown, Andrew R. (2023) Live Coding Patterns and a Toolkit for Pure Data. Organised Sound 28(2), 264–275.