The MIDI Tape or lx-midi-001 is inspired by the concept of the Mellotron, an instrument with a piano keyboard where each key was linked to a magnetic tape.

In my version, only one tape is used and the pitch change is made by changing the speed of the cassette tape. Also, no keyboard is present but a MIDI connector can be used to change the pitch or a simple rotary button.

The core of the MIDI Tape is the N2234 Cassette Player/Recorder made by Philips in 1982. With a simple modification, it has been possible to change its speed precisely with the help of custom electronics. Thanks to Radio Museum, I was able to find the schematic of the Cassette Player and isolate the components in charge of the speed of the cassette.

The design has :

  • two 3.5mm jack output for CV out and Gate (0-5V) based on the input MIDI.
  • A cassette frequency selector to choose what is the fundamental frequency recorded on the used cassette. A3 220Hz or A4 440Hz
  • A tape speed rotary knob.
  • A switch to enable or disable the original N2234 speaker
  • A portamento knob.
  • A MIDI input connector

The main buttons from the cassette player can be used to play, pause, stop the cassette and the original audio output of the cassette player is used.

The core of the system is a Raspberry Pi Pico. It listen to MIDI command. Between the MIDI connector and the Raspberry you’ll need an Optocoupler, more info on this can be found here, step 10.

To change the speed of the Cassette player, a voltage from 0 to 12V is applied to its electronic. This voltage is generated by a MCP4725 DAC. The same DAC is used to create a CV output.

I recorded a pure 440 Hz and 220 Hz on two cassettes and made a Fourrier transform of the output signal in function of the voltage applied to the Cassette Player. With this information, I found a linear function that can interpolate frequency vs applied voltage and could then drive the speed of the cassette player precisely.

The source code of this project is open-source and available on my GitHub: MIDI-tape