M.S. Computer Science, Yale University
Ph.D. Music Composition, University of Pennsylvania
M.A. Eastman School of Music
B.A. Princeton University
Programming, Research, and Tools
Phase-matched looping with musical applications
This research project explored a technique to generate loops from soundfile
segments with arbitrary end points. Traditional time domain approaches
to looping constrain the choice of end points to zero-crossings that
enclose an integer multiple of the wave's period. Under certain
conditions, by performing the loop with STFT manipulations in the frequency domain,
it is possible not only to choose arbitrary end points, but also to shape the sonic
character of the loop. The key to the technique
is choosing an appropriate binding point that preserves the phase coherence
of the sound's component sinusoids. This approach is
applied both to synthesized and recorded acoustic sounds with good results
that generally preserve key waveform characteristics. Musical motivations
and applications are discussed, as well as areas of potential exploration
in the future.
This project was conducted as part of my master's degree and was advised by
computer music researcher Donya Quick.
MODE: Marenzio Online Digital Edition
MODE is an online critical edition of madrigals by Luca Marenzio, a composer
from the late Renaissance. The ongoing project involves not only the preparation of
the historical materials, but also the creation of the digital infrastructure
to streamline the creation of such editions. I contributed to the design
and other modifications to the music encoding.
Source code here: https://github.com/marenzio/editor.
The music is encoded using MEI and the
project makes significant use of
Verovio, which generates the notation from MEI.
Dissertation Essay: Harmonic Geometry in Ligeti's
Cordes à vide
Abstract: This article describes harmonic motion in Ligeti's etude using geometric
models, which illustrate the relationships among three different
transformations and their implied voice leadings. By selecting various 2-D
surfaces from a 4-D pitch-space, we arrive at a rigorous understanding of
the harmonic structure, which relies primarily on stacked fifths, ultimately
reconciling conceptual differences between transformations and voice
leading. Furthermore, the étude gradually extrapolates a basic set of
harmonic principles to chords with increasingly higher cardinality, which is
equivalent to embedding similar voice leading patterns in increasingly
higher-dimensional chord spaces. Geometric models thus clarify the process
behind the étude's development. At the same time, changes in structure
require that we adopt a flexible analytical approach that goes beyond
A Framework for Midi Analysis The tarball contains skeleton
C code suitable for statistical and numerical studies using midi data. In its current state,
the program only prints out the contents of its structs, but can be easily
modified to perform other computations. The program uses
MIDICSV to generate
a more user-friendly format for processing, and so it must appear in the
src/ directory (included).
Physical Modeling with Pure Data The tarball contains introductory
physical models based on the Synthesis Toolkit
I put together for teaching demonstrations in intermediate PD programming,
physical modeling, and intro signal processing (especially filters).
The folder includes a plucked string, clarinet, and vibraphone. There is
also a demo for a comb filter in conjuction with the plucked string.
A related resource is: Cook, Perry. Real Sound Synthesis for Interactive
Applications. Natick, MA: A K Peters, 2002.
My brother and I built a
10-inch Dobsonian telescope. We modified these
making the tube assembly more accessible and the base significantly
lighter. Photos available here.
QFH Antenna and Software Radio
I built a Quadrifilar Helix antenna based on instructions
here, though there are other designs available online. The antenna is
designed to pick up APT transmissions from NOAA satellites that broadcast a
right-hand circular polarized signal at 137MHz. I used an rtl-sdr dongle
(an inexpensive DVB-T tuner repurposed for amateur radio) as a receiver,
stored the signal as a .wav file and decoded the image with
WxtoImg. Photo of the antenna and
satellite image available here. Here is an
excerpt of the recorded signal:
Teaching and Lab Work
Teaching Fellow, CPSC 079: Digital Photorealism (Yale) - Spring 2016
Teaching Assistant, CS 260: Data Structures (Drexel) - Summer 2014
Instructor, MUSC 70: Making Sense of Music (UPenn) - Spring 2014, Fall
2013, Spring 2013
Teaching Assistant, MUSC 400: Advanced Theory (UPenn) - Fall 2012