This project presents an audio synthesizer but not only that, it gives some ideas on how to interface other synths to a keyboard. The keyboard decoder uses the 74HC154 IC and the PIC18F1220. The 4 bits binary input of the 74HC154 is connected to the PIC which will cycle from 0 to 11, representing the twelve semitones. This in turn will cycle the outputs but with low logic level.
The octave is determined directly by the PIC. When a key is pressed it will make the corresponding octave line connect with the corresponding semitone output of the 74HC154 and thus turning the octave line from high to low level. When this is sensed by the PIC, it will check at which semitone the cycle was and output the musical note and the envelope trigger.
After that the PIC oscillators output are sent into separate wave shapers where you can select three types of waveforms. The waveforms are then summed and go into the VCF which can be controlled manually, by the envelope generator or modulated by oscillator 1. After VCF comes the VCA formed with a differential pair, with the control voltage modifying the emitter current.
Newer software has features like arpeggiator or portamento. With this way of interfacing the keyboard there will be some limitations to its usage. For example only the high note will be played if two notes are pressed the same time. All the instructions needed to build this are given however the code for the microcontroller is not but there is enough information to write it yourself.