ComputerControlled Note Generator
Computer music can be created in many different ways. One method is to specify all of a note’s parameters—frequency, harmonic structure, amplitude, and attack/sustain/decay times—as well as special effects by means of software. Naturally, this gobbles up a lot of memory, thus making such an approach impossible for the owner of a very small computer. All is not lost, however. By augmenting your system with some inexpensive hardware, the software burden is diminished.
This computercontrolled note generator produces 5 octaves of the equally tempered chromatic scale under the control of one of your computer’s 8bit parallel ports (only 7 bits of which are used). Lines D6 through 04 select the octave, while Lines D3 through DO select one of the twelve notes within that octave.
The lowest octave is selected by a binary 0 on lines D6 through D4. A binary 1 selects the next higher octave, and so on until you reach the highest octave, coded by a binary 4 (100). (Note: D6 is the most significant bit; D4 is the least significant.) Codes higher than 4 yield no output.
The noteselection lines behave similarly, except that 12 codes are used. (Here D3 is the most significant bit, and DO is the least significant.) Binary 0 gives you a C#. 0 is produced by a binary 1, and binary 2 yields D#. This continues on up the scale until you reach binary 11, which gives the twelfth note, C. Codes above binary 11 give no output.
Turning can be accomplished by adjusting Al to produce a 1,000, 120 Hz signal at pin 13 of IC1, or you can tune by ear against some pitch reference. The output at pin 12 of lC5 is a square wave that can be filtered and/or shaped (see the computercontrolled keyer circuit). The software we’ll leave to you. In general, your programming burden has been reduced to the generation of a rhythmic sequence of 7bit binary codes.

Copyright by Bill Bytheway, K7TTY February 2012