I am a seventh-year student in the CMU Computer Science program, with the Computer Music group.

My thesis work is in the area of languages for music and audio programming. Existing high-level music languages (Music-N family, Nyquist, Supercollider) are restrictive; a new algorithm generally can't be written natively, but only as a "unit generator", a black box whose internals are written in a low-level language such as C. I am aiming to do away with unit generators.

I see a common weakness in these HLLs: their type system. So I propose temporal type constructors. These are a way of building data types with time structure, and also a way of taking them apart to manipulate. For an introduction to the idea and an implementation, read the ICMC 2000 and 2001 papers. In a few examples, code with temporal type constructors is roughly a factor of five shorter than its low-level equivalent. More importantly, it's clearer and a better reflection of the algorithm.

Eventually, I'd like to see temporal type constructors in a solid non-research implementation. It may or may not ever rival C in performance, but even a slower system would blow Matlab out of the water for design and prototyping.

Resume in ASCII, PDF, or PostScript.

Published papers:

Refereed Conferences


(go to my front-door page)
22 Apr 2004