Find more on Github

Sine Delay v1 for Pd

[sinedelay~] v1. is a waveform generator and variable delay line external written in C for Pure Data (Pd). The external allows crossfading between waveforms and provides 4-point interpolation between tap-delay times in ms. It also has build-in amplitude modulation. v1. applies a tanh-based, soft digital distortion to the delayed output (right-most outlet).

Please send feature requests / report bugs to ricky at rickygraham dot net


Fibo v1 for Pd

[fibo] v1 (2017) generates a fibonacci sequence through recursion for a list of n numbers. Useful for driving metronomes to create rhythms.


Factorial v1 for Pd


Ambisonics Externals for Pd and Max/MSP

General Updates: Max/MSP support (port from Pd).

[grambipan~] updates: 7th order (2d) FuMa support

[grambiman~] updates: rotate-tilt-tumble support (3 axes support for b-format rotations using 3d controller, such as the HTC Vive) ordering must be rotation, tilt, and tumble.

[grambidec~] updates: hexadecagonal decoder (16 channel ring)


Forthcoming: v1.3 will have one binary for all and a decagonal decoder for Berklee’s EPD program.

Ambisonic Patches for Pd and Max/MSP

What’s in the .zip?

– Encoders for 1st, 2nd, and 3rd order ambisonic panning
– Based on Furse-Malham (“FuMa”) coefficients
– Decoders for stereo, quad, 5, 6, and 8-channel loudspeaker arrays
– Soundfield manipulations: tilt, rotate, tumble, rotilt

Additional Reading:

Find an Error / Bug?
ricky at rickygraham dot net

Lerdahl v1 for Pd

[lerdahl] is an external for Pd written in C. It is largely based on ideas presented in Fred Lerdahl’s book, “Tonal Pitch Space” (2001), on the construction of melodies.

Version 1 takes any MIDI input and outputs values for pitch class, basic space, closure, tension, ratios of asymmetrical attraction, ratios of asymmetrical attraction * pitch class distance, and pitch class distance. 

The user may change the configuration of the basic space to accommodate any of the 7 modes of the major scale.

The user may also offset pitch class zero if they want zero to be something other than Middle C (C3 /4, etc.).

Mac only, for the moment. Version 2 will be cross-platform, have list outputs, and more useful construction arguments.

Download [lerdahl] for Mac OSX (32-bit) – 64 bit available on Github

Pd2Live v1 for Pd

Pd2Live is a digital music performance system, built in Pure Data (extended 0.42.5), designed specifically to function with a multichannel audio output (audio per string) of an augmented electric guitar provided by bespoke audio break-out hardware. The system was designed in support of my doctoral thesis (available shortly), providing a digital performance environment from which an instrumentalist may interrogate instrumental percepts in relation to the creation of sophisticated timbral and spatial digital audio signal processes. On a fundamental level, the user may design and implement unique real-time signal processes per string of the guitar, permitting the creation of dense polyphonic instrumental musical structures. The (spectromorphological) design of each string may correspond to real-time instrumental figuration executed by the performer.

Click here to download / Installation Instructions

Max for Live

CamMap and WiiMap: Parametric control using camera and WiiRemote for Max for Live (32-bit only; depreciated).

Misc Code – Processing Sketches, Pd Abstractions and Externals

Blocks – A visualization patch for gestural data obtained by Pd2Live

[mill~] for macOS – compilation of Olli Keskinen’s Granular synthesis audio object for Pd on macOS.

[pitch] – A message-rate abstraction that organizes MIDI pitch data in musical structures

Processing / Java
MIDI-Board – Simulate key presses using MIDI events (this proof-of-concept maps CC67/soft pedal to the ‘END’ key for use in Sibelius 7) – Processing / ProMIDI required.

Leave a Reply

Your email address will not be published.