For my ME 193 independent study at Tufts I developed a self-contained NXT to MIDI audio interface board. Using the NXT MIDI library and the MIDIO interface board, students can build portable musical instruments.
The video is a demonstration of the board and shows one possible design using NXT sensors. The NXT motors are used as rotation encoders to select the MIDI note velocity (volume) and the octave. The touch sensors trigger the note selection. The middle octave starts at MIDI note 60. The NXT software allows selection of a scale above and below the scale starting at note 60. The MIDI Channel (instrument sound) is set with the left and right front panel buttons on the NXT. All 128 MIDI instruments in the GM1 bank can be selected. NXT Port A is set as a motor port to provide power to the board. I2C MIDI commands generated by the NXT on Port 4 are input to the MIDIO. The Teensy translates the I2C output to MIDI which is sent to the VS1103 MIDI synthesizer on the Sparkfun breakout board. The on-board amplifier powers a pair of speakers attached to the NXT.
The project builds on the work of many, including LEGO Engineering at Tufts.