Friday, 22 June 2012

MIDI sax

It's late and it's Thursday, which can only mean it's BuildBrighton night again.
We've been busy working on our MIDI saxophone, trying to get it ready for next Saturday's MIDI workshop. Sadly, despite a promising start, it looks like we're going to miss the deadline. Here's why:

The original idea was to use copper tape on the insides of each pad and run a wire to a microcontroller. By detecting which pads were open and closed (copper tape touching the grounded body of the sax where the pad was closed would pull an input pin low, whereas an input pin linked to an open pad would be pulled high by a pull-up resistor) we could work out which note was being fingered, and play the appropriate note.


Sometimes it was necessary to add a little extra tape to the back of the pads, to stop the weight of the wire pulling the copper tape free. The copper tape is very sticky, but despite this, sometimes would start to peel away from the end where the wire met the centre of the pad.



With the first few pads, everything worked according to plan (with the exception that we had to file a little bit of lacquer away from the very rims of the sound holes, so that the copper tape could touch something metallic/conductive to make the circuit)


After completing the first few pads, we stopped and thought about where these inputs were going to. So far, we'd wired the entire instrument from the pads to the top of the instrument neck. This was a very small opening into which we needed to fit our microcontroller.


It was only when someone pointed out that we'd also have to use very small batteries that we realised our mistake! Instead of taking the wires to the top of the neck of the instrument, we'd have a lot more room (and could make accessing the battery compartment much easier) if we put the microcontroller onto a board and used it to "plug" or cover the opening of the larger bell part of the sax. D'oh.

It took just three minutes to undo about three days wiring work. But less than an hour to wire the first few pads up "properly".


As each wire went in, we closed the pad it was connected to, and tested for continuity between the end of the wire and the body of the instrument. This proved that the pad opening and closing could be used on an input pin of our microcontroller. All went well for the first six pads......

The seventh pad (on the left, below) was a bit more problematic.


This particular pad was not pressed directly by the player pressing a button, but was closed by a linkage from one of the other pads. As a result, it didn't quite have the same pressure upon it.
This was compounded by the face that this particular pad had a slight leak - it didn't sit exactly flush over the opening. When played as an acoustic instrument, this leak would cause the instrument to sound out-of-tune.


A more immediate problem for us is that because of where the tape sits inside the pad (sometimes fitting the copper tape to the underside of the pad is a tight squeeze and we can't always put it where we'd like) when this pad is pulled closed by the linkage, we're not getting the input signal going low.

It seems that, although relatively easy to implement, our copper tape idea needs a bit of a rethink......