CR68 MIDI Input
Recently I bought an old Roland CR-68 drum machine and thought it would be cool to add MIDI to it. After having it sit around my shop for a few weeks due to other more urgent projects, I finally took and look and figured out how to control the internal voices. The CR-68 contains 11 voices, some of which are passive circuits and don't use any active amplifiers or oscillators at all. This is much different than the TR-808 which uses a lot of op-amps and other active components in the actual voice circuits. The CR-68 is controlled by a really old microcontroller which has a number of built-in patterns available from the front panel radio buttons. Similar to previous generations of drum machines using diode matrixes to create the patterns, the CR-68 allows up to two different buttons to be pressed in at once. They simulate the adding of two patterns on top of each other in software, which I think is a nice touch. The manual explains the priority order if more than two buttons are pressed.
Although I couldn't find a schematic for the CR-68, the CR-78 is
quite similar. It uses a different voice board, and I'm not entirely
sure why. The voices themselves appear to be nearly the same, except
for the board layout. The voices are triggered by D latches which are
latched for each note cycle. There are 12 latch channels, the 12th
being used for the accent part. Triggering the voices was simple, and
uses passive mixing with a resistor onto each trigger transistor. Thus
the internal voices still play. The accent part was a bit different
because of the polarity of the signal. But I found it easiest to use
an AND gate and run the existing accent signal through my add-on board
and then control the second AND input myself. So either the existing
controller or my MIDI input controller could assert the accent
The MIDI input board that I made consists of a PIC16F690, a 6N138 opto-coupler, and a 74LS11 AND gate. The board is stuck to the existing control board with some adhesive cable tie pads. The circuit of course steals power from the internal 5V logic supply. The unique operation of the board concerns the setup and mapping of the MIDI channel and notes. No extra controls are added to the unit. Instead the circuit watches the START/STOP switch on the existing front panel. If it is held down when the power is turned on, the PIC goes into programming mode where it will accept notes on any MIDI channel. Once the first note is played the MIDI receive channel is set. All 11 voices are set in sequence, and then the PIC stores the MIDI channel and note settings to its internal EEPROM so that the settings will be restored when the power is cycled. The snare drum sound is used to indicate the PIC entering or leaving programming mode.
Schematics / Code
If you want to build your own variation of my circuit, the basic idea is that you're triggering transistors attached to each voice with short pulses. By mixing your signal with the existing signal passively with some resistors, you can make both the internal sequencer and your MIDI interface circuit work at the same time. This is basically an OR sort of arragement. The only difficulty is the accent control which doesn't really work the same way as the note triggers. I found the easiest way to merge the existing and new accent signals was with an AND gate. The accent line is normally high and goes low to make a louder accent signal. So keep your own output high too, and if either signal drops to low (internal or MIDI interface) the part will be accented. Note that this is a global control that operates a VCA on the output, so any notes that are playing will be accented, not just the one that you played louder.
Questions / Things I Learned
© Copyright 2011 - Andrew Kilpatrick