News / Blog

My performance of Larry Polansky's Piano Study No. 5

A piece for just-intonation Fender Rhodes, performed at CCRMA in Stanford, November 17, 2015.

Implementing a SuperCollider external in Rust

Earlier this year, I developed some tools in Rust to work with voice analysis. Here's how I integrated them into a SuperCollider external.


In time (2015)

bass clarinet + alto saxophone

In the sense of transparence (2015)

solo cello

all description all delay (2013)

trombone quartet + string quartet

Topology (phases of this difference) (2012-2013)

violin duo

Topology (A/∀) (2011)

viola + 4 electric guitars

more music

Writing & Code

One of my usual tools is a Ruby library I wrote (with deep debts to Beau Sievers) to work with Larry Polansky's morphological metrics. They let you define a "space" in which to search for a new melody or other morph, and then find new melodies relative to that space. If that sounds confusing just wait til you see the code.

I've also been using the linguistics software Praat quite a bit, and wrote a library to parse Praat analysis files and generate Ruby objects. Just gem install praatrb or clone from GitHub.


I am a composer and keyboardist living in Santa Cruz, California. I write algorithmic music that is mostly in just intonation. I'm one of the organizers of Indexical, along with David Kant and Beau Sievers, a experimental music record label and concert producer now based in Santa Cruz.

Currently I'm a graduate student at UC Santa Cruz. In the past I have worked for the Seattle Symphony, the S.E.M. Ensemble and ISSUE Project Room.