Bonanza: An Electronic Bow (played with one hand!)

Bonanza provides a new perspective on bowed instruments.   It is an instrument in itself and can play on anything.   There are buttons and switches on the bow that allow the musician to play different notes, and force sensitive resistors on the "bow hair," in this case, an aluminum bar, that sense the force applied on the two ends which relay position and force back to the microcontroller. That information then goes into a program that outputs sound.

 

 

•  INTRODUCTION

     A bowed instrument must be played with two hands and relies on the integration of the two working together to determine which notes to play and how to play them.   If per chance a musician has a defunct hand they would be at a loss on playing the instrument.   Although much talent and expression goes into the bow hand when playing, Bonanza puts the functionality of the left hand into the right hand as well.   By not having to rely on the friction between the cello strings and horse hair, this instrument can play on any surface because it takes in force readings to determine speed and intensity of the playback of a sound file. All control is in the right hand, or the device could be altered so that the bow sits in the left hand as well. Thus, if two bows were available, one could actually play a duet by him or herself.   The notes all play one wav file at different frequencies, so this bow can play notes in any instrument's tone.  

•  SYSTEM

     Bonanza was designed to be played with one person with one hand, but can be played with other instruments.

                                        Figure 1: Bonanza

•  Overview

     As seen in Figure 2, the right hand grasps the instrument much like a real bow.   On the bow there are four buttons on one side and a four position switch on the other side. The four position switch is used to choose which "string" to play on, and then the buttons then correspond to the finger positions on that string.   Although the sound files can be changed, the instrument is meant to be played using the A, D, G and C strings, and the corresponding 1 2 3 4 finger positions.   I.e. the first finger pressed in the first position switch (A string) would be a B natural.

2.2   Hardware  

      The bow is made with clear 1/4" and 1/2" lasercamed acrylic.   The "bow hair" is an 1/2" aluminum bar that spans from the head to the frog.   It is loosely attached to the main body with two screws, Poron padding, springs, and two FSRs are placed at each end.   The four switches and four buttons send signals through a Procyon AVRmini board equipped with an Atmel Mega128 microprocessor.   The AVRmini board is in turn connected via a serial connection to a host computer.

     The Atmel microprocessor runs a simple C program with an input baud rate of 56700.   Each time the state of a button or switch is changed, the C code sends a different number, which causes a bang in the Pd patch to trigger another loading of the base wav file. The buttons are momentary so one must keep the fingers down while playing the note, and a release will revert back to the open string frequency.   Notes can be played by switching the position switch back and forth (thus playing open string notes.)   Each change of button or position switch causes a bang in the Pd code. The sensor and switch data is sent through the AVRmini using Open Sound Control (OSC) to a Linux machine running Pd.  

• 

Software

     The button and switch data go into a matrix Pd patch that then sends the correct MIDI number out to a frequency converter (a ratio) which then changes the frequency of the loaded wav file.   By changing which file is loaded, many instruments can be "played."   The default was file is a cello A string (frequency 440, MIDI #69). The two FSRs send back signals, which then directly affect the volume and intensity of the sound file playback.  

     A separate patch can instead take the two FSR signals and calculate the position of the bow and then velocity.   This velocity can then also be used to output intensity or volume of the file playback.­

               

Figure 2. Hand Holding the Bow

•  Challenges

     One challenge was determining what to do with the force sensitive resistors output. The first Pd patch used the data to calculate the position of the bow (by using a simple F*d= F*d equation from statics) and then from that, output velocity.   However the mechanics of the bow were not set up properly for an even force distribution, thus resulting in lopsided force readings and unclean bow stroke playback.   This was then substituted for another patch that used the FSRs to determine volume of the playback of the file (F1 + F2)/2000.

    Originally each button/switch combo loaded a new file (thus 20 files of cello bowing were obtained) but then a more streamlined method of converting MIDI to frequency was used.   I didn't realize each note has a specific MIDI number and was very excited to see that it was possible to change any wav file to be able to playback at different pitches.   Unfortunately the patch before of calculating velocity would not work with the new patch and had to be abandoned.   Another challenge was how to incorporate the "String switch" on the side of the bow, and I learned to look up datasheets and figured out a HEX position switch and understand how it sends data.

  

                    Figure 3. Diagram of process

  I learned a lot about C code and basic commands and understand the logic behind it even if I don't know all the syntax just yet. I have learned a lot about electronics and that has given me the confidence to venture outside the realm of basic mechanical devices to now include some more interesting electronic components in my projects.  

Chris Chan and Giulio Soro were amazing partners to work with.   Giulio and Chris both helped with the C code to the AVR and Giulio helped me write up the Pd patches and also helped debug most of it!   Chris helped me decipher the position switch and also helped get the program working on my Mac. They were great, and I hope I get a chance to work with them again!

Thanks to Bill Verplank, Max Matthews, and Carr Wilkerson for their guidance and help in 250a, the musical interface course that inspired the instrument creation.