An instrument I created as part of a course called Digital Luthier at Northwestern University, Spring 2018. The professor was Dr. Bryan Pardo. The teaching assistant was Ethan Manilow. University of Michigan computer music professor Michael Gurevich gave a two-day workshop on physical computing.
Going into Digital Luthier, I wanted to make a percussion instrument that would generate harmonically complex washes of sound.
An immediate inspiration was ex-Chicago drummer Frank Rosaly. Rosaly triggers a synth with piezo sensors taped to his drum heads. I thought it might be fun and easy to rig up a drum set with contact mics.
Or So I Thought
The course material, rooted in human computer interaction, soon forced me to think about instrument design as an engineering process in addition to an art project. What trade-offs were inherent to my design? How low was the threshold to playing music on the instrument? Did the instrument have the expressive potential to be played by a virtuoso?
By the weekend workshop with Michael Gurevich, the course's intellectual framework motivated me to change the concept. (That, and Pardo telling me that my idea was lame.)
Instead of just sticking contact mics to drums, I would create an instrument where the drumstick was the sensor. This would be more portable. Also, the user's gestures would be more expressive and wide-ranging than those of a conventional drummer. I planned on building a synth in Max and triggering the synth sound with the stick's impact. I'd advance through the chords with a button, and thus have a sort of enhanced Boomwhacker.
This is basically what I ended up creating, though the final version has a few flaws.
The accelerometer sends Y axis acceleration data through Arduino to Max, where acceleration values above 95 (on a 0 to 127 scale) are separated into three ranges, each of which generates an envelope of a different velocity.
The user can advance forward through chords stored in database object [coll] by pressing the X key and backwards with the Z key.
The pitch and velocity branches of the patch meet up at the ocillators, which generate sound based on the information received. Finally, the signal passes through audio effects to make the sound of square and sawtooth oscillators more pleasant.
The Chord Stick could be used by a variety of musicians. Novice users might enjoy playing rudimentary percussion patterns while gaining access to a varied harmonic vocabulary, an aspect of music typically inaccessible to inexperienced musicians. Singers might use the instrument as an accompaniment tool, like a chordal tambourine. Multiple Chord Sticks could be wired up to foster group improv.
The current iteration of the Chord Stick is pretty laggy, so it feels a bit more like an musical magic wand than a drumstick.
This gets at the most important lesson I learned during the design process, which is also a terrible cliché: it's the journey, not the destination. I really wanted to make a percussion instrument. What I have is not precise enough to work in a traditional percussion context, but it is a fun-to-play synth controller. A novice user could enjoy playing with its unpredictability, and an experimental musician might appreciate its glitchiness.
During the process of developing this instrument, I also learned what felt like a mountain of information about programming, electricity, and interface design. All three of these fields were black boxes to me before this class. I also now feel competent enough to continue trying to build stuff with solder, Arduino, and Max.
Some concrete next steps: I'd like to continue working with the accelerometer. Goals include reducing latency, using X and Z values, and mapping the magnetometer and gyroscope data to musical variables like timbre and pitch. One of Digital Luthier's lessons is that data can be used in many musical ways. I'd like to spend time this summer seeing what instruments I can build with the components of the Chord Stick.