Tag Archives: javascript

Sufi Plugins

A suite of free audio software that I designed and developed with DJ/Rupture and Rosten Woo dedicated to exploring non-western & poetic notions of sound in interaction with alternative interfaces. This video shows them in action. For more info and free download, is.gd/sufiplugins  We are working on porting these devices to the VST plugin format and will be setting to work on a piece of Sufi Hardware in the near future.

Analog Console Automation Software

A screenshot of the mute and fader automation software I developed for James Murphy’s Oram console (with a master section by Purple Audio) at DFA’s Plantain Recording House.  This stand-alone Automation sequencer gets it’s sample-accurate sync information from Logic, Pro Tools, or any supported audio sequencer via ReWire.  The sample count provided by ReWire is downsampled (according to the sample rate of the session) to 30 frames per second and a serial count of these integers provides the timeline on which events are recorded.  This sequencer features both a static mode for simple snapshot recall and a dynamic mix mode with read, write, touch, and latch modes for fully automated analog mixing.  Recent additions include graphical ‘pencil’ editing and a subgroup/master fader automation trimming.

Drum Machine Software


Batucada is a pattern-based percussion sequencer built in MaxMSP and designed for live performance using a PowerBook.  Controlled mostly by the ‘qwerty’ keyboard, Batucada allows the performer to improvise with patterns and ‘grow’ new ones live.  It features variable-division repeats with the right hand, while the left hand selects the instruments to which the repeats will be applied.  Mute and Solo, like repeat are applied with the right hand to instruments selected with the left.  Signal-based timeline warping (‘swing’) and offset can be handled either globally or locally, allowing different instruments to have their own swing and/or offset settings.  Batucada can run as either a master sync device or can be slaved to incoming MIDI time code, MIDI beat clock, ReWire, or a traditional audio click track.  In addition to MIDI note commands, Batucada can send 7 and 14-bit MIDI LFO information as well as 2 +/-5V control voltages for interfacing with analog synthesizers and processors.  Within the software, I’ve implemented ‘VeLFOs’ (7-bit scalable triangle/sine/square wave LFOs) synced to each track (with individual offsets) for governing velocity, but this data can be mapped to anything from filter cutoff to event execution probability.  Timing is coupled to the sample rate by the scaling of signals and is only subjected to Max’s scheduler when turned into MIDI note messages at the output.

Development of the above pictured MSP version is frozen and I am currently working on a new build of Batucada in Pd utilizing  Pd’s < sample-accurate event scheduling and driven by a clock which will also implement Euclidean GCD/LCM-based counters for creating rhythmically compelling math-beats.  Most all performance functionality that inspired development of Batucada has been eclipsed in recent versions of Live.