Projects
Replacement control system for CNC Lathe
Shown here is a project I worked on at Henry Enterprises. The dysfunctional
Fujitsu-Fanuc control system (left) provides the power supply and intact Velocity Control Units (VCUs) which power
and control the motors of the lathe (right).
The computer of the original control system is replaced by a 1.3 GHz PC running Debian GNU/Linux. The
Arduino microcontroller (an ATMega8 board) communicates with the computer via USB and interfaces with a series of
digital and analog circuits. A digital to analog converter (DAC) supplies voltages proportional to the
velocity command to the VCUs from commands from the PC. Rotary encorders on the motors send a series of
pulses to rotary decoder ICs and frequency to voltage (F/V) converters. The F/V converters output a voltage
proportional to the motor velocity with a sign determined by the rotary decoder ICs--the F/V circuit is absolutely
critical as it provides negative feedback to the VCUs. The Arduino MCU board reads the instantaneous
position of the rotary decoder ICs and relays this information to the computer.
The system is put together on prototyping boards and put back into the original cabinet as shown here.
subband adaptive filtering for loudspeaker/microphone transfer functions
This project was developed to achieve carefully measured control stability in
closed loops involving a loudspeaker and microphone. The interface and algorithm has been successfully developed
using Pd, involving C and C++ code for externals. The wave++ library is used to perform the wavelet
transform on an incoming signal, and causal filtering is performed on the subbands of the wavelet
transform. The intention is to match the signal received by a microphone to the reference signal
by updating the filters, using a block frequency domain algorithm. This project has been abandoned
in favor of research into new adaptive filters.
Shown here is an example of the interface and graphical output showing the result of a few adaptations
of the filter on the lowest frequency subband.

Two Piano Etudes--composed in 2003-2004
My first publicly performed compositions, appeared at the KU
Composers' Guild Fresh Ink Concert, April 22, 2006. The first, entitled Quiet Madness, is
a grave, composed primarily with chromatic and octatonic themes. Its slow pace and simple
melodic themes achieve an economy of musical effect, which is very open to interpretation. The
second, Perturbation, is based on an uncommon scale, the inversion of harmonic minor, in 3
key modulations. The title has a mathematical meaning in the context of chaotic
and dynamic systems, in which small perturbations of initial conditions produce large differences
over time. The intended effect is to create transient impressions of stability and
instability that trade back and forth.
MP3's:
Quiet Madness Perturbation
Freq Sweep Suite--composed in Spring 2001
The Freq Sweep Suite is a collection of experiments using Shepard
Tones as instruments. Shepard tones have an unique property of dissociating pitch
chroma from pitch height. By slowly changing pitch chroma, while leaving pitch height
constant, we can create the illusion that pitch continues to increase steadily, while in fact,
it loops back onto itself. This effect is presented in FreqSweep1, and is the source
of each of the subsequent files. Each of the files is presented as wav files, but this is
necessary to avoid artifacts of mp3 encoding.
FreqSweep 1
FreqSweep 2
FreqSweep 3
FreqSweep 4
FreqSweep 5
19 fret per octave guitar--experimental instrument
This is a 19 tone equal tempered scale guitar that I built in 1999. It
has been a great challenge to learn to play; in fact, it is like playing a completely new instrument. Over
time, I have become proficient at playing this guitar. I can play on this guitar nearly anything that I
could also play on an ordinary guitar. The additional flexibility of having 19 tones per octave
also lends itself to unusual tunings based exclusively on the odd harmonic series.