Semester: Spring 2011
Course: ME94 Undergraduate Research in Mechanical Engineering
This was completed as a joint project for my internship at Kurzweil Music Systems and as the capstone project for my Musical Instrument Engineering minor in the Tufts Mechanical Engineering Department. I designed a MIDI controller intended for use on a Kurzweil Professional synthesizer. The purpose of this project was to create an ergonomic alternative controller to give a user simultaneous control over many parameters without lifting their hand from the front panel.
For the hardware design on this project, I was mentored by members of the Kurzweil hardware department. I was responsible for designing schematics, breadboarding circuit prototypes, and wiring the sensors to the inputs on an Arduino Uno board. This was done using the technique of wire wrapping to allow for future changes to the circuit design. A particular challenge that I overcame during this task was to reduce noisy controller data created by my sensors. This was accomplished by attaching 100k resistors across each analog input from my linear pots and a 10k resistor in parallel with the three FSR inputs. I was then required to design an enclosure to allow presentation of the device as a standalone controller. Using the program Solid Works, I created a compact design using three layers of clear acrylic. The Arduino Uno and breadboard circuit were mounted to the bottom layer, the sensors were mounted to the middle layer, and the top layer served to protect the sensors and keep them in place. The Solid Works files were then used to cut the three pieces using Tufts’ laser lathe.
Writing the software presented an entirely new set of challenges. I wrote a patch in Arduino C to multiplex between each linear pot and FSR in order to receive both positional and pressure data through the Arduino serial interface. I also used Max to turn this raw CV data into scaled MIDI data. The MIDI controllers assigned to each physical controller were saved as a series of presets within the Max patch that the user could cycle through and overwrite as needed.
The final step was to take my controller and apply it to control sound in a variety of contexts. To control parameters of sounds I created for the Kurzweil PC3K, the controller was run into a Macbook Pro via USB and used with the standalone Max patch to send MIDI to the synthesizer. The Max patch was also adapted as a MaxForLive MIDI effect and used to control sound and arrangements within in Ableton Live 8. Due to space constraints, the project was used to control Ableton for the Tufts Mechanical Engineering poster presentation.