Page  89 ï~~A Programmable MIDI Instrument Controller Emulating a Hammer Dulcimer Randy C. Marchany', Dr.Joseph G. Tront2 Virginia Tech Computing Center', Virginia Tech Bradley Dept. of Electrical Engincering2, Blacksburg, VA 24061 ABSTRACT Real-time digital music system design involves the translation of formal music notation or human gestures by some input device to Musical Instrument Digital Interface (MIDI) commands which are then transmitted to an electronic music synthesizer. This paper describes the design and implementation of a microprocessor controlled input device that maps analog signals to MIDI commands and transmits them to a digital synthesizer in real-time. The controller emulates a traditional acoustic folk instrument known as the hammer dulcimer. The hammer dulcimer is the forerunner of the keyboard family of instruments and incorporates features found in percussive and keyboard instruments. As with any acoustic instrument, its tone is a composite of several partial tones. The controller, in emulation mode, calculates these partial tones and outputs them within the just noticeable cifference (.1NI))tolerances described in psychoacoustic research. 'This M IDI controller also provides features such as on-demand re-tuning which allows the musician to play in any tonal pattern without changing hand positions. Standard MII)l features such as pitch bend, program change, and sustain are implemented by the controller. The prototype instrument yields a two octave range from an eight by eight inch sensor grid. Additional grids can be added to increase the range of the instrument. 1. INTRODUCTION The separation of the gestural interface from the sound generating module creates the potential for designing instruments based on families other than the keyboard family. Keyboard controller design has been well documented in literature for the past fifteen years. The design of non-keyboard controller interfaces is a relatively new area of research. Microprocessor evolution allows unique gestural controller interfaces to be designed and tested. This flexibility gives the instrument designer the ability to build an instrument that is limited only "by those imposed by hardware and the dexterity of the human hand" [Aikin, 81. Other researchers have built non-traditional instrument controllers such as the Video 1larp [Rubine, et al., 6] and the IIANDS [Waisvecz, 91, the Rolky [.Johnstone, 41, the I3io-MusejKnapp, et al., 31, the Buchla Thunder [Rich, 7]. These instrument controllers, while outside the mainstream of "traditional" instrument design, were able to interpret what the musician does and transmit this information to the actual sound producing modules of a musical instrument. In some cases, they did not allow the musician to play notes on a real-time basis. Rather, the musician could only play a predefined set of notes. The hammer dulcimer is a member of one of the most ancient families of instruments in the world. It is the forerunner of modern keyboard instruments such as the piano, harpsichord, clavecin, and clavichord. Almost every culture in the world can claim possession of an instrument in this family. It is known by various names such as the cymbalom (I lungary, Romania), hackbrett (Germany), Qang-chi (China), psalterio (Mexico), santuri (Greece) and santur (Persia). Modem instruments are trapezoidal in shape with 40 to 150 strings. The instrument is played by striking the strings with wooden hammers or plucked by the musician's fingers. T~he instrument has a wide dynamic range and the sound can be modified by altering the surface of the hammers. A loud, sharp tone can be gotten from bare wood hammers. Conversely, a light, soft, harp-like tone can be gotten from felt-tipped hammers. It is this wide degree of flexibility that makes the instrument a prime candidate for e mulatio~n. The hammer dulcimer is a classic example of" a "trigger timbre" style of instrument. "'rigger timbre is defined to be an "action where a musician performs a gesture and a machine/vibrating body produces the sound in a fixed pre-ar'ranged manner" IChabot,21. Because the musician can vary factors such as impact speed, size and weight of the hammers, and or bounces, no two sounds on the instrument have the exact same timbre. 89

Page  90 ï~~Thc No Strings Attached I lammer I)ulcimer is a percussive controller interface that emulates a hammer dulcimer. This controller senses the following information: I. Note information based on an x-y grid, 2. louch sensitivity information on the note (how hard it was hit), 3. Sustain information on the note, 4. Control information such as voice switching, pitch bending, and dynamic retuning. [he controller converts this input information to valid MIDI control messages and transmits them to a digital synthesizer in real-time. This project presents a highly ecomomical method of constructing a fairly powerful MIDI instrument controller. The No Strings Attached Dulcimer uses piezo sensors known as Kynar (Cantrell, I1 arranged in a 4 by 4 grid. This single grid of the prototype instrument provides enough information to generate musical notes in a two octave range. Figure 1 shows a typical sensor to note mapping. Additional grids can be added to increase the range of the instrument. Synthesizer control information can be sent by activating additional sensor strips on the controller. 2. HARDWARE SYSTEM DESIGN The hardware system is divided into 3 subsystems: the 8751 microprocessor, the piezo-electric sensor circuitry, and the A/I) circuitry. The No Strings Attached Dulcimer uses an INTEL 8751 microprocessor to drive the MII)l controller circuitry. Musical input is transmitted to the microprocessor via a piezo-electric sensor subsystem that provides sensor coordinate and magnitude information to the 8751. This sensor information is converted to MIDI command messages and sent to the MIDI output port. The Intel 8751 microprocessor was chosen as the driver of the system for its 1) fast execution time - using a 12 Mllz crystal, most 8751 instructions will execute in l fLsec, 2) priority interrupt structure - the 8751 has 2 external interrupt control lines that can be prioritized under software control, 3) system completeness - the 8751 chip has 4K of EPROM memory, 4 bidirectional I/O ports, a serial transmit/receive port and 2 internal timers, and low cost. The sensor subsystem consists of a 4 by 4 grid of piezo-electric strips made out of a polyvinylidene flouride (PVDF) semicrystalline resin called Kynar. The film sensor is approximately 22 x 165 mm in size and resembles a piece of tape. The sensor is a thin sheet with a film of metal on each side to act as the electrical connection. When the strip is pushed in one direction, it generates a positive or negative DC voltage spike which corresponds to the magnitude of the movement of the strip. It generates a voltage when moved and moves when a voltage is applied to it. Voltage in one polarity generates movement in the opposite. The more the strip is moved in one direction, the greater the voltage spike. This allows for measuring how hard a strip was hit. However, this voltage spike is generated only by the change in position and does not give a static level. Once the material stops moving, the spike returns to zero. The output of the sensor strips is filtered by a resistor-capacitor circuit and amplified by a noninverting operational amplifier circuit. 3. SOFTWARE SYSTEM DESIGN 3.1 Design Goals The No Strings Attached Dulcimer software was designed to accomplish the following goals: 1) derive note and intensity information from the Kynar sensor circuitry. 2) send proper control signals to the Analog-to-Digital (A/I)) converter chips and read the AI) data. 3) interpret control information such as pitch bends, modulation and sustain. 4) translate this information to MIDI data and output it thru the M IDI interface. 3.,2 General Software Description The No Strings MII)I dulcimer software is an INTIEL 8751 assembler program that is divided into 5 sections. They are: I) Initialization - this section initializes the timer, interrupt vector as 90

Page  91 ï~~ZI6lI 8 41 LI 1147 3 LiI 10i6 _ 13 11] Position Note 1 Middle C 2 D 3 E 4 F 5 G 6 A 7 B 8 C-5 9 D 10 E 11 F# 12 G 13 A 14 B 15 C-6 16 D Figurc!. Kynar Sensor Grid Musical Notc Mapping signments, registers and data areas for the driver code. 2) Main - this section checks for non-zero data values and calls thc MII)I transmitter if a strip is hit. This section stays in an infinite loop. 3) Vertical Strip Interrupt Service Roulinc - this Interrupt Service Routine (ISR) reads a valuc from the latch to determine which vertical strip was hitand stores the id value in the data area examined by the main section. It also pulses the A1)804 RD line to start A/I) conversions of the horizontal strips. 4) Horizontal Strip Interrupt Service Routinc - this ISR processes the A/D conversion complete interrupt. It reads all of the A/I) values and stores the maximum value in the data area examined by the main section. It also delays for 3.8 mscc to allow time for signals to proprogate throughout the MI)I circuit 5) MII)i Transmitter- this section uses the data value from the the Vertical Strip ISR as an index into a musical note table. It uses the data value from the Hlorizontal Strip ISR as the MIDI key velocity byte. The routine inserts this data value into the MIDI note message that is to be transmitted. The routine pauses for 3.8 msec and then sends a MIDI "Note Off" command. 3.3 Ovcrall Systcm Flow The controller software was designed to perform all of the necessary functions such as A/I) conversions, table look-ups, MI1I) note transmission, and reset functions within 5 mscc. This is within the time range that two notes played at clifferent onset times arc still perceived to occur simultaneously. The software remains in an "IDLE" state until a hit is detected on a vertical Kynar strip. The software then moves to the "START CONVERSION" state. The four A/I) converters are activated to read the values of the horizontal Kynar strips. When the conversions arc complete, the driver moves to the "PROCESS DATA" state. The maximum A/T) data value is used to indicate which horizontal strip was hit. We assume that although all four strips will generate positive values, but only the one that was actually struck will generate the maximum value. This maximum value is used as an index into a lookup table for the correct MIDI note. Once the flags are set for MIDI note transmission, the driver moves to the "DISC!IARGE" state. The driver sends a I)ISCIIARGE signal to the peak detector circuits in order to prepare to read the next data values. Once this is done, the driver returns to the "IDLE" state. 3.4 MIDI TRANSMITTER ROUTINE The MIDI transmitter uses the information collected by the two ISRs to determine which musical note to send to the synthesizer. The vertical strip ISR provides the x coordinate and the horizontal strip ISR provides the y coordinate information used in the table lookup. The routine then inserts the MIDI note value, and the key velocity value into a preformatted MIDI voice channel "note on" message and sends it out the serial port to a synthesizer. The soft 91

Page  92 ï~~ware delays 3.8 msec and sends out a MII)I "note off" message. After resetting the RAM data values, the routine returns to the main loop. 4.0 FUTURE ENHANCEMENTS The No Strings Attached Dulcimer presents acoustic hammer dulcimer builders with a wide variety of options to include in their acoustic models. The author is currently working with his hammer dulcimer builder on a sensor arrangement that can be fitted to an acoustic dulcimer. This arrangement allows the performer to use the acoustic and MIDI features separately or in combination during a performance. The sensor subsystem is not restricted to the Kynar style sensors. The overall hardware system was designed in a modular fashion in order to provide the experimenter with a flexible tool for investigating different sensor technologies. 5.0 ACKNOWLEDGEMENTS The authors would like to thank Mr. Ross Willis for his valuable advice and help in the construction of the Kynar sensor pad. We would like to thank Mr. Sam Rizzetta, master hammer dulcimer luthier, for his continuing contributions to this project. REFERENCES Cantrell T., Kynar to the Rescue, The Computer Applications Journal, 8/91, pp.88-94 2 Francois J., Chabot X., Sibler.1., MIDI Synthesizers in Performance. Realtime Dynamic Timbre Production, Proceeding of the 1987 International Computer Music Conference, Computer Music Association, pp. 238-240 Knapp B., Lusted, II., A Bioelectric Controller for Computer Music Applications, Computer Music Journal 14(1), 1990, pp. 42-47.Johnstone E., The Rolky: A Poly-touch Controller for Electronic Music, Proceedings of the 1985 International Computer Music Conference, Computer Music Association, pp.291-295 Mathews M., Abbott C., The Sequential Drum, Computer Music.lournal 4(4), 1980, pp. 45-59 6 Rubine I)., McAvinney P., Programmable Finger Tracking Instrument Controllers, Computer Music Journal 14(1), 1990, pp. 26-41 Rich R., Buchla Thunder, Electronic Musician, 8/90, pp. 94-101 Aikin.1., The Light Touch, Keyboard Magazine, 6/90, pp.40-46 Waiscivz M., TIE HANDS, a set of remote MIDI-controllers, Proceedings of the 1985 International Computer Music Conference, Computer Music Association, pp. 313-318 92