Prime Constellation k=11 d=36 B={0 2 6 8 12 18 20 26 30 32 36}


Prime Constellation k=11 d=36 B={0 2 6 8 12 18 20 26 30 32 36}
For 2 violin, viola, cello, contrabass, flute, clarinet, and percussion

Full Score


Probabilities – for String Quartet, 2012

Performed by the JACK Quartet
June 3, 2012
National Gallery of Art

Full Score

Dual Level Shifter

Dual Level Shifter for Eurorack Modular Synthesizer

Although I have designed and produced printed circuit boards for various DIY audio applications in the past, the Dual Level Shifter is my first attempt at producing a complete Eurorack modular synthesizer module. I designed the Dual Level Shifter to address my need for a convenient way to attenuate and offset voltages. As I explore analog electronics through Eurorack module design, I have found it very useful to have manual control over the range of incoming voltages. This is especially the case when attempting to integrate devices that utilize +5V or +3.3V logic, such as Arduino or Raspberry Pi.faceplate_pcb

The module is simple, using 1/2 of a TL074 quad op amp per Level Shifter to buffer and sum the input and offset voltages. As both Level Shifters in the module are identical, this document will only detail the operation of the first half. Signals enter op amp IC1A through 100k input resistors R1 and R2. The TL074 is configured as an inverting amplifier, and the 100k feedback resistor R3 results in a maximum gain of -1. This inverted signal is then passed through another 100k input resistor, R4, into a second inverting amplifier, IC2B. The 100k feedback resistor R5 circuit_pcb_croppedagain results in a gain of -1. This re-inverts the signal, producing a non-inverted output. The 1k resistor R6 at the output provides the op amp some protection against short-circuit and accidental mis-patching. 0.1uF decoupling capacitors, C1 and C2, at the op amp power supply pins, filter high frequency noise from entering the integrated circuit. 10uF polarized electrolytic capacitors, C3 and C4, provide general power supply filtering for the module. 1N5817 diodes, D1 and D2, protect the module against accidental reversal of the power supply polarity. The input jacks are normalled to ground, so that when no external signal is connected the offset control can be used to produce steady DC voltages between approximately +/- 10V. Designed mainly as a control voltage source and modifier, the module can manipulate audio signals as well.

The Dual Level Shifter conforms to generally accepted Eurorack standards. The module utilizes a 10-pin header for power supply connection, and operates on +/- 12V DC. Input impedance is 100k and output impedance is 1k. 3.5mm TS jacks provide interfacing with other Eurorack modules. The module’s width is 4HP.

The schematics and PCB designs were created in Eagle. To reduce prototyping cost, the faceplate is produced using the same software and PCB manufacturing techniques as the circuit PCBs. The end result is 3 PCBs: the Circuit PCB, the Panel PCB, and the Faceplate PCB. The Circuit and Panel PCBs are connected via 0.1” headers. These stacked PCBs are attached to the Faceplate PCB and held in place using vertically mounted potentiometers and 3.5mm jacks.

While the intended use of the module is to ease interfacing between devices operating at different logic levels, it has also proven useful as an expressive musical device. It is especially useful in providing manual control over the range and intensity of control voltages, particularly low frequency oscillators.

Prime Constellation k=3 d=6 B={0 4 6}

Side A of double cassette release. (Fake Analog Music, 2016)

Sibling Morph

Sibling Morph – OpenGL rendering (2016)

Mapping RGB color data to XYZ Cartesian Coordinates.
Programmed with Max/MSP/Jitter.
No audio.

Six Regions of the k=3 d=6 B={0 4 6} Prime Constellation

Six Regions of the k=3 d=6 B={0 4 6} Prime Constellation – for saxophone quartet, electronics and interactive video (2016)

Performed by the New Thread Quartet.

Performance Notes

Databent digital images. Series of archival prints.


TREblE bOOST – 22 1/2″ x 18 1/2″, 2015



EcHO1_25 – 22 1/2″ x 18 1/2″, 2015



PHASOR1 – 22 1/2″ x 18 1/2″, 2015



DIST_SqUARED – 22 1/2″ x 18 1/2″, 2015

Spectral Variations on a Theme by Slayer

Spectral Variations on a Theme by Slayer – Installation, 2015

Sinusoidal decomposition and generative resynthesis.
16.2 channel audio installation.
Excerpt, stereo reduction.

Notes – Spectral Variations on a Theme by Slayer – Installation, 2015

Generative intermedia feedback environment.
Real-time HD video compositing.
10.2 channel audio.
3 minute excerpt, stereo reduction.

and even then

and even then – for string quartet, 2014

Performed by the JACK Quartet.
Composed algorithmically using stochastic techniques to articulate formal structure through probabilistic distributions of material. Algorithms programmed in Pure Data.

and even then – Full Score