So it turns out that the black strip on the back of your New Mexico Driver’s license, in addition to being the thing that Big Brother is using to keep track of your visits to the Gentleman’s Clubs, is a huge resistor that makes for a spiffy ribbon controller:
If you’re going to do this, the following magnetic strips, in my experience, WILL NOT WORK: Starbuck’s gift cards, Tema gift cards (thank you Evan), parking garage cards, credit cards, Flying Star cards, cassette tape tape, VHS tape, the Declaration of Independence, and my bench warrant. The way that it works is that the voltage applied to the strip is bridged by your finger to the silver tape which is, in turn, connected to the input of an ADC clocked by a microcontroller which in turn reads the ADC output and sends it out as MIDI.
If you REALLY want to do this, the code is here. It is sloppily written in PASM for the Ubicom SX microcontroller running at 50Mhz addressing an ADC0808 (datasheet) 8 bit parallel ADC, because it’s the year 1993. The code uses RA to address all 8 channels of the ADC and for EOC, RC for the parallel in, and RB for all the ADC timing and MIDI send. If you want to tighten it up, re-write it to send MIDI while it’s clocking the ADC, as the ADC conversion time takes too long to convert while sending MIDI. The controller it’s sending starts at 31 and increments with the loop count (coarse controllers only). It can convert any analog source (pots, faders, etc.) to MIDI, up to 8 sources; just change the master loop count to the number of sources you’re reading. It also uses the FSR to keep track of the last ADC reading so you don’t send the same MIDI data constantly. If you do anything with it (like tidy up the code) let me know!