AIRDUINO: AN INEXPENSIVE DIY MIDI WIND CONTROLLER
Skip other details (including permanent urls, DOI, citation information)This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License. Please contact : [email protected] to use this work in a way not covered by the license.
For more information, read Michigan Publishing's access and usage policy.
Page 420 ï~~ NON-COCHLEAR SOUND ___ LJUBLJANA 9.-14. SEPTEMBER AlRduino: An Inexpensive DIY MIDI Wind Controller Timothy Anderson University of Montana 32 Campus Drive Missoula, MT 59812 [email protected] ABSTRACT The AlRduino is a hardware MIDI controller featuring a bidirectional breath pressure sensor that has the ability to control different parameters by inhaling and exhaling through the sensor. The controller also features four videogamecontroller thumbsticks for addition expression, along with eight trimpots for extra versatility. Through these two unique types of sensors, the AlRduino allows the performer a versatile and unique method of controlling his or her music. This MIDI controller is easy to assemble from inexpensive parts, and is open source in both code and circuitry schematics. Keywords Arduino, MIDI, Electronic Instrument, DIY, Breath Pressure Sensor, Thumbsticks 1. INTRODUCTION As both a musician and an avid computer programmer, I often see other musicians express confusion about their electronic instruments. While they can easily accomplish tasks with their instruments, they seldom understand how their hardware works. My goal through this project is to use the Arduino microcontroller, some simple, cheap, and easy to use sensors, and one unconventional breath pressure sensor to enable musicians to easily build their own MIDI controllers, and learn about the controller's structure in the process. 2. AIRDUINO: ABOUT THE CONTROLLER 2.1 Arduino at the Heart of the System As the name AlRduino implies, the MIDI controller is built around the Arduino Uno Microcontroller board. Because of the relatively small price of the board, ease of hardware implementation, and wealth of online resources, the Arduino infrastructure was an obvious choice. At a price of thirty USD at time of writing1, the board is an affordable microcontroller. Additionally, Arduino is easy to use in development, as no soldering is required. Instead, the Arduino is equipped with pin slots that wires can be inserted into. Because knowledge of complex circuitry isn't a prerequisite to working with the Arduino, it becomes much more accessible to musicians interested in building a MIDI controller. The tutorials and examples on Arduino.cc work to further bridge the gap of technical understanding required to construct a MIDI instrument. By having access to a plethora of tutorials on the hardware and software involved, even those with little circuitry experience can easily find answers to any problem they might have while constructing their own AlRduino. 2.2 Bi-Directional Breath Pressure Sensor When I started working on this project, I was determined to create an interface that was simple and utilitarian, yet had some unique function that couldn't be found elsewhere in MIDI controllers. However, since my main instrument is Saxophone, the first few ideas for this project looked similar to the Electronic Wind Instrument (EWI) by AKAI2. In order to distinguish the AlRduino from this well-established counterpart, the AlRduino was equipped with a specialized breath pressure sensor that is able to read both positive and negative pressures. What this means to performers is that the pressure sensor sends one MIDI continuous controller for blowing through the device, and a different one for inhaling. By using two MIDI continuous controllers, new possibilities open up for the electronic musician. By linking inhaling and exhaling to the volume of two synthesizers in a Digital Audio Workstation (DAW), it is easy to add dynamics to an otherwise static line of music. Additionally, by changing the 1 http://www.sparkfun.com/products/10356 2 http://www.akaipro.com/ewiusb Figure 1. A top-down view of the AlRduino. The four thumbsticks each send MIDI data based on their current X and Y positions, and return to the center when not being manipulated. CKV
Page 421 ï~~ ILMLI2 012NON-COCHLEAR SOUND __ LJUBLJANA _9.-14. SEPTEMBER pressure the sensor is seeing, it is easy to switch from one synthesizer to another. 2.4 The Advantages of the MIDI Port The AlRduino connects to the computer through a standard MIDI connector. While sending MIDI information out the USB port on the Arduino board seems to be popular with other projects3, it has inherent downsides. In many cases, special drivers have to be written to read the sent data.4 In other situations, multiple pieces of software are needed to convert to usable MIDI data.5 However, by implementing a MIDI port, the AlRduino requires no drivers or software. Instead, the AlRduino may be connected through an audio interface's MIDI port, or into a USB port from a MIDI to USB converter cable.6 This change allows the AlRduino to be plug-and-play compatible with any Windows or Mac system. 3. SUMMARY At around ninety USD for all parts and materials, the AlRduino MIDI Controller is an affordable tool for any performer wanting distinctive, versatile instrument. By using the Arduino infrastructure and simple, inexpensive parts, it is my honest wish as its creator that the AlRduino allow performers easy access to new methods of expression. 4. ACKNOWLEDGEMENTS I would like to acknowledge my professor, Charles Nichols, for supporting me on this project. I would also like to thank the people at Arduino Software for their excellent microcontroller. All photography for this article was taken by Louis Habeck. I would also like to thank Nathaniel Shiftmore at Shiftmore.Blogspot.Com for the idea to use the MIDI to USB cable. And finally, I would like to thank my father, for all the support he has given me, and for the idea of the bidirectional pressure gauge. 8. REFERENCES [1] Anderson, Alan, "Biomed Projects", cbet Biomed Projects, Retrieved January, 2012, http://cbet biomedprojects.blogspot.com/2011/03/strain-gauges are-used-in-all-sorts-of.html [2] Arduino Software, "Arduino - Midi", Retrieved January, 2012, http://arduino.cc/en/Tutorial/Midi [3] Hinton Instruments,"MIDI Protocol Guide",hinton instruments.co.uk, Retrieved January, 2012, http://hinton instruments.co uk/reference/midi/protocol/index.htm Figure 2. The AiRduino in use. In the current setup, the left hand can alter the trimpots and thumbsticks, while the right hand acts as a valve to open or close the air column, articulating notes as a result. 2.3 Why Thumbsticks? As the creator, I was concerned that the AlRduino MIDI controller be an expressive, versatile instrument. However, this couldn't counteract the need to keep the individual components as inexpensive as possible. After the eight trimpots were implemented, the instrument still seemed lacking. It was then that the thumbsticks were added. Since they have the unique feature of resetting to their centered position when not being manipulated, they added a unique performance option to the MIDI controller. As an additional layer of control, a switch on the back of the AlRduino allows the performer to switch between two preset controls. When the switch is up, the thumbstick reads its X and Y position and sends out the two states as individual MIDI Continuous Controllers. However, if the switch is flipped, the data are broken into four individual controllers, corresponding to up, down, left, and right. In this way, the thumbsticks can provide more nuanced control over a MIDI instrument, and reset all 3 http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl? the controls to zero when not being manipulated. num=1161023163/0, for a long discussion on the subject. 4 http://www.arduino.cc/cgi-bin/yabb2/YaBB.plnum=1222793835 5 http://spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html 6 http://www.amazon.com/Input-Output-Cable-Converter Notebook/dp/BOO1HPL8B2/ref=sr_1_3? ie=UTF8&s=miscellaneous&qid=1259723275&sr-8-3 421
Page 422 ï~~ NON-COCHLEAR SOUND LJUBLJANA 9.-14. SEPTEMBER [4] Shiftmore, Nathaniel, "Quick and Dirty Arduino over USB", Shiftmore, Retrieved January, 2012, http://shiftmore.blogspot.com/2010/01/quick-and dirty-arduino-midi-over-usb.html