1972 Digital Polyphonic Keyboard Restoration
by Michael J. Bauer
In early 1972, I was part way through building a modular analog synthesizer, a blend of published circuit designs and my own, when I hit on the idea of a digital polyphonic instrument having a bank of eight (or more) identical "voice modules", each capable of generating a tone at any pitch over a range of several octaves. The voice modules would comprise some kind of digital oscillator with programmable frequency, followed by wave-shaping, filtering and keying circuits to provide a variety of instrument sounds. Compared to popular electronic organs of the era, my instrument would eliminate a huge amount of redundancy in the tone-generation and keying circuits. Those old organs had at least one tone generator and keying circuit for each note on the keyboard, resulting in a very complex and cumbersome build. My decision to use digital oscillators, as opposed to analog (voltage-controlled) oscillators, was influenced by the well-known deficiencies of typical VCO circuit designs prevalent at the time; notably the poor stabilty of oscillator frequency and low precision of the exponential transfer function of the control input. Micro-processor devices were not readily available in 1972, so my challenge was to develop a control system using TTL logic devices (9300-series and 7400-series IC's). The function of the control logic would be to scan the keyboard contact matrix to detect key presses and releases. Each active (pressed) key would be assigned to one of the 8 voice modules. The logic would need to set the oscillator pitch according to the assigned note and assert a "gate" signal to control an envelope generator in the respective voice channel. The logic would also need to determine when each active note was terminated (released) and negate the respective "gate" signal accordingly. The prototype logic board (pictured below) used 72 TTL devices. The keyboard logic could also output binary key-codes corresponing to the notes in progress in each voice/channel. When converted to an analog voltage (using an exponential DAC), the key-code would be able to control sound parameters in the audio post-processing circuitry following the digital oscillator. For example, the key control voltage could be used to make the resonant frequency of a voltage-controlled filter (VCF) track the pitch of the oscillator. A hybrid polyphonic instrument incorporating the best advantages of both the digital and analog worlds was realised. No doubt, there would have been commercial companies attempting to develop a polyphonic keyboard synthesizer at around the same time. Of course, their ideas would be kept a closely guarded secret. The first commercial polyphonic synth, Sequential Circuits' Prophet-5 (5-voice hybrid synth) was developed in 1977 and released in 1978. Unfortunately, my instrument was not destined to be a commercial success. Apart from my lack of entrepreneurial skills, there were other factors leading to its swift obsolescence. The keyboard logic was implemented entirely from small-medium scale TTL devices. It was based on a kind of state-machine architecture. A little invention called the "micro-processor" made my TTL design obsolete. My "prototype" instrument did not incorporate a controlled resonant filter in the voice modules. The post-oscillator audio processing circuits were rather primitive. Having achieved "proof of concept" in the keyboard control logic and programmable digital oscillator designs, I moved on to other projects. In 1976, two years after I completed my "digital polyphonic keyboard" project, Motorola introduced the M6800 'D1' evaluation kit. I acquired one of these, and so began my career in embedded electronics. The Restoration More than 50 years later, I got the old keyboard out of storage in the attic. It seemed a shame to throw it in the trash. I am hopeful that a collector or enthusiast of vintage electronic music equipment will want to take possession of it and continue with its preservation. Of course, nobody would want it unless it was in fully operational condition. When I powered it up for the first time in over 30 years, it failed to function... not surprisingly, given its age. Preliminary testing revealed a fault in the power supply. Repairing or replacing the power supply shouldn't be too difficult. Likewise, it should not be too difficult to fix a fault in a voice module (PDO or envelope shaper). But what if there's a fault in the control logic board? The original "as-built" schematics and documentation are very sketchy and probably not updated. Schematics in the published articles (1976) are revised, simplified versions of the originals, based on hindsight, and never tested. Even if the original schematics were accurate, it would be very challenging for me or indeed anyone else to diagnose and fix a fault. Hence, to avoid the scenario of anyone having to fix a fault in the control logic, I made the decision to bypass it with a microcontroller-based functional equivalent. The original logic board will remain in place, disconnected, to preserve the original character of the instrument. A discretly hidden MCU-based replacement will connect to the keyboard contacts (already wired in an 8 x 8 matrix). The MCU board will interface directly to the bank of programmable digital oscillators (PDOs) via existing data busses, and it will output "gate" signals to be connected to the 8 envelope generators. Below is a block diagram of the original instrument. The "keyboard control logic" and "read-only memory" (ROM) are to be replaced with a micro-controller board. The ROM converts a key-code (note number) into semitone data which feeds into a bus. The semitone and octave data are latched into one of the PDO's whenever a new note is initiated. This is the function of the 'LATCH' lines output from the control logic. Following is a (simplified) schematic of the Programmable Digital Oscillator. The complete PDO board included some digital wave-shaping circuitry which generated audio pulse signals of various frequencies (relative to the fundamental) which could be combined to produce a selectioin of sound timbres. The desired wave-form is selected by switches on the front panel. To generate a tone at the desired frequency, first the keyboard control logic must latch the required semitone and octave data into the three 4-bit latches (7475). The 3 octave bits simply select one of 6 "reference clock" signals via the multiplexer (74151). The clock lines are sourced from a binary counter on the "master clock" board so that each clock line is exactly half the frequency of the next higher line. The heart of the oscillator is an 8-bit parallel-load binary counter (2 x 74193) which counts up from the programmed data input (latch outputs) until it reaches the "terminal count" (binary 1111 1111). The TC output is fed back into the "parallel load" input (PL) via a delay line (4 inverters). The delay ensures a minimum pulse width (around 40ns) to re-load the counters reliably. Thus, the number of clock pulses in a counter cycle can be varied over the range 1 to 256 clocks. In practice, bit 7 of the semitone data is always low, so that the usable count range is 128 to 256 clocks, i.e. one octave, yielding a resolution of 1/256th of an octave for the period of the output audio signal. Perhaps surprisingly, the worst-case error in pitch is only about 3 cents (0.03 of a semitone) which, for all but the most demanding musical purposes, is acceptable. Pitch accuracy could be improved by extending the number of bits used in the semitone data bus, of course. But then the master clock frequency would need to be higher. The existing instrument uses a master clock frequency of about 4.3 MHz to produce an audio frequency (fo) about 8 kHz for the highest note (C7). Doubling the master clock frequency to 8.6 MHz would be pushing the limit of the TTL counters. In hindsight, it would be possible to devise an audio wave-shaping scheme that produces a selection of usable wave-forms, e.g. square, sawtooth, triangle, at the fundamental pitch (fo), directly from the raw pulse output of the PDO counter. Thus, the semitone data bus could be extended to 10 bits, while keeping the same master clock frequency (4.3 MHz) to deliver the desired maximum audio frequency, 8 kHz. However, I do not want to make any modification to the PDO or wave-shaping circuits. The plan is to preserve the original character of the instrument; only to replace the keyboard logic with a micro-controller. Key contact scan logic The 64 keyboard contacts are wired into a matrix of 8 x 8 crosspoints. The original scan logic used a 3:8 line decoder with active-low outputs to drive the 8 columns in the matrix, and an 8-input multiplexer to sense key closures on the 8 rows. The 8 "drive lines" were activated (low) one at a time in sequence while the other 7 lines remained in the high state. The "sense lines" were held in the high state by pull-up resistors. A single key closure would result in a sense line being pulled low by the active drive line. To scan a keyboard in polyphonic mode requires multiple simultaneous key closures to be recognized. That's where things get a little complicated. I discovered (the hard way) that wiring the key contacts in a 2D matrix gives rise to a problem that I call the "phantom key effect". Fortunately, I came up with a solution which was to put a diode in series with every contact, as shown here in the original 1972 schematic: The "Phantom Key Effect" So what is this puzzling "phantom key effect" and how is it solved by the diodes? Consider the diagram below, assuming there are no diodes. Key contacts at three crosspoints, A, B and C, are closed. When the drive line D2 is activated (low), sense lines S2 and S5 will be pulled low. The sense register will correctly identify that keys A and B are pressed. But when drive line D5 is activated (low), sense line S2 will again be pulled low, indicating wrongly that key D is also pressed. The false reading occurs because key C pulls sense line S5 low, key B (on the same sense line) pulls drive line D2 low, and so key A pulls sense line S2 low. The diodes prevent all sense lines from being able to pull any drive line low, thereby eliminating the problem. The diodes also prevent the active drive line being short-circuited to another drive line, when multiple keys are pressed, which could potentially damage the decoder chip. In standard TTL devices, if two outputs are shorted together, one in the high state and the other in the low state, the low state will dominate, because the low-state output current sink capability greatly exceeds the high-state current source capabillity. Alternative ways to scan a keyboard There are other methods to scan a keyboard which avoid the "phantom key" problem. Not only that but the contacts may have a common pole, i.e. when a key is pressed, its contact closes onto a wire rail spanning the entire keyboard. This sort of contact cannot be wired into a 2D matrix. For example... (1) Use a 64-input multiplexer, which would be implemented typically using four 16-input multiplexers. If the contacts are simple SPST types, then a pull-up resistor would be required on all 64 inputs. To interface the MUX to a micro-controller requires 8 I/O pins: 4-bit address (output) plus 4-bit data (input to the MCU). (2) Use a 64-bit parallel-in serial-out (PISO) shift-register. My recommended implementation would be to use eight 8-bit PISO registers, e.g. 74HC165A, wired in series. As in case (1), a pull-up resistor may be required on all 64 inputs. An advantage of this method is that the register can be interfaced to a micro-controller via a synchronous serial port (SPI bus), requiring only 3 I/O pins (SCK, MISO, SH/LD). Keyboard Interface for the Replacement Logic (MCU) Since the key contacts are already wired in a 2D 8 x 8 matrix, with "anti-phantom" diodes, it seemed like a wise decision to leave it that way. It's simple enough to connect the contact matrix to a micro-controller via a pair of shift-registers, one serial-in parallel-out (74HC595A) and the other a parallel-in serial-out register (75HC165A), both of which can be interfaced to the MCU via an SPI port. These components can be mounted on a separate "sub-board" to be located near the keyboard. The sub-board needs only 6 wires to be routed to the main MCU board, including VCC and GND. Here's the schematic: The micro-controller can read the sense lines and write the drive lines (for the next reading) in the same 8-bit data transfer. Annoyingly, the PISO register SHIFT/LOAD signal (pin1) has opposite polarity to the SIPO register's latch enable (LE) signal, requiring an inverter on the SPI "slave select" line. I could have used two separate MCU I/O pins for this purpose, but I think the inverter results in a more elegant solution. Control Logic Replacement
Here's a schematic of the main MCU board: Test and Setup Mode A highly desirable feature to include is some kind of user-interface to allow setup and testing of the voice modules (PDO and envelope shapers) individually, i.e. one at a time, in monophonic mode. This was realised by one push-button (TEST) and a single 7-segment LED digit driven by a SIPO register. The idea is that the firmware will enter a monophonic "setup mode" if the TEST button is held pressed for longer than (say) 5 seconds. The voice/channel to be tested/calibrated is indicated on the 7-segment LED. A momentary press of the TEST button will advance to the next voice/channel to be tested. In normal operational mode, the 7-segment LED digit indicates the MIDI channel number (1 to 9) which is selected by a trim-pot feeding into an ADC input (A0). If channel 0 is selected, then MIDI "Omni On" mode is activated, i.e. the instrument will respond to messages addressed to any MIDI channel. MIDI Support The above schematic doesn't show a MIDI IN receiver circuit. It would not fit all on one page, so I drew the MIDI IN circuit on another page (see below). Provision of MIDI control was an after-thought, but so simple to add that I could not possibly leave it out. ... ... to be continued ... The next instalment will reveal the practical implementation of the replacement logic circuits. This may take a while because I have to source parts from AliExpress and assemble the boards. For historical interest, the original design of the Digital Polyphonic Keyboard is posted here... Electronics Australia magazine article (April, 1976): [Page1] - [Page2] - [Page3] ___ <!> Attention: collectors of vintage electronic music apparatus... I would be grateful to hear from anyone, preferably resident in Australia, who may be keen to take possession of the prototype instrument with a view to preserving it for posterity. Page last updated: August 2025 |