Here’s the schematic:
The box in the middle is an Arduino Uno, which has everything we’ll need for this project.
Breath Controller:
The Gordophone blog has some great information on building a breath controller. I used the Freescale MPVZ4006GW7U, which is a through-hole part. I wanted to put the part on a prototype shield and I didn’t want solder a surface mount part; however after putting everything together I’m not sure this was a good decision, the arduino plus the shield plus the port on top of the sensor makes for a rather bulky assembly, especially when you attach a tube to the sensor. I also added a low pass filter per Freescale’s application note. I’m not entirely convinced yet that the low pass filter is a good idea either, but I’ll do some testing before I make any decisions.
Embouchure Control (for lack of a better word):
This is just a linear taper potentiometer. I used a 10K.slider with 20 mm travel.
Valves:
I used normally closed pushbuttons so that they read 1 when depressed.
MIDI Output:
Here’s the MIDI electrical spec. It’s actually not a spec, just a circuit diagram. I chose to omit the butters since it seems kind of silly to add a $2 part to protect a $3 part and the MCU can supply plenty of current.