Embedded Wireless MIDI Control Over IEEE 802.11 Using RTP MIDI
Oral Defence Date:
Wednesday, November 19, 2008 - 12:00
Professors Bill Hsu and Ilmi Yoon
This project implements an embedded transmitter system that can send MIDI note commands over IEEE 802.11 to a wireless enabled Macintosh computer using the RTP MIDI protocol. The RTP MIDI stream is used to control a software synthesizer running locally on the Macintosh. Because wireless communication exposes the stream to data loss, this implementation includes RTP MIDI's Recovery Journal system. To conserve bandwidth, it employs a highly compressed feed forward mechanism instead of packet retransmission to protect the MIDI stream from artifacts in the case of lost packets. The development hardware consists of a Macintosh computer running a Tiger based OS with a wireless card, an AirPort Express Base Station, and a USB MIDI controller keyboard. The MIDI controller connects to the AirPort Base Station via a USB cable and the AirPort sends MIDI data to the Macintosh over radio frequency using 802.11 transmitter hardware. This embedded solution demonstrates that an RTP MIDI transmitter could feasibly be integrated into a MIDI controller device, eliminating the need for an external transmitter device altogether. The success of this wireless RTP MIDI transmitter prototyped on an embedded platform shows that it is possible to implement at least the sender portion of RTP MIDI on a system with very limited system resources. Even with very little optimization to minimize wasted CPU cycles, the performance of this implementation is worthy of comparison with existing implementations on more full featured hardware. A real world application might take the form of a battery operated MIDI controller surface that has the 802.11 hardware integrated inside the device. The user of this device could move about freely and untethered, controlling a computer software instrument from anywhere within range of the wireless network.
RTP MIDI, IEEE 802.11, computer music, Mac OS X Tiger, Apple Macintosh, embedded system