Home -> Magazines -> Issues -> Articles in this issue -> View
Spotlight | |
Early Experiments with Computer MusicArticle from Polyphony, February 1978 | |
Robert Libbey has been experimenting with electronic music for quite a while. Starting early in his career with radio broadcasting and sound recording, his interest in electronic storage, processing, and generation of audio signals has continually grown into new technologies. It was inevitable, then, that Bob would end up interfacing one of today's electronic music synthesizers with one of tomorrows magic machines — the RCA COSMAC microprocessor. Since the early seventies, Bob's job at RCA has been concentrating on video work, so his audio/music interests have become more of his avocation than they were previously. But, nevertheless, he never set aside his concept of a "better" home organ — a family instrument that could generate a wide variety of voices, plus teach his children about the intricacies of music performance and composition, and provide a method of "recording" and composing a major musical work without the bulky tape recorders commonly required.
The high speed processing required for the video work Bob was doing increased his awareness and understanding of digital circuitry and the many applications it implied. Availability of microprocessors in the mid-seventies evoked some major breakthroughs in most every area of product development. Bob's job was no exception. And now, he had the tools necessary to start making his personal goals come to life. The work described in the following article was done in the latter part of 1975. When Bob showed the results to some of his colleagues at RCA, they published the results in the August/September 1976 RCA ENGINEER, an in-house magazine which keeps all the RCA employees up on what's happening. All of us here at Polyphony are very thankful to RCA for letting us reprint Bob's article so our readers can learn from his experience.
Since the Gnome/COSMAC interface, Bob has been working with the KIM system in an attempt to derive the most efficient programs for outputting monophonic and polyphonic signals. His goals during this period may have been somewhat different from those of others who have done similar work with the KIM or other microprocessors. He said that although he is not a professional musician, there are certain qualities he demands of the music he creates or listens to; one of those qualities is correct pitch, or tuning. Thus he did an in-depth study of various pitch systems, and how to create them with a microprocessor. Most literature seems to forget other tuning systems, especially physical which is used by many choral groups, in favor of the more popular equally tempered tunings. These experiments stretched through 1976 and led to his current hardware experiments. Bob has spent the recent months conjuring up an eight note, eight voice microprocessor controlled polyphonic synthesizer. Bob feels it has been an excellent exercise, and was amazed at the parallels between his experimental system and the recently announced Paia system.
Bob is beginning to get some ideas about how to tie his video knowledge in with his digital music systems. He would like to work with designing a microprocessor based system which would play a note selected by a musical keyboard, and simultaneously write the note in a musical staff on a video display. The 'processor' would remember the notes while more were added to build up a musical theme, or melody. During playback, the notes would be displayed, and upon command could be transposed to new keys or perhaps altered to play retrograde or inversion or other musical "tricks". All the while, the 'processor' would be producing a video display which would show the NEW, TRANSFIGURED themes as they are played. This would be a highly valuable teaching aid for music theory or keyboard technique classes.
And, as if all this weren't enough, Bob is also teaching a course on microprocessors two nights a week. Polyphony congratulates Bob on a great deal of contribution to the world of digital music, and thanks him and RCA for taking the time to tell us about his work. Paia is proud to be a part of it.

Along with the reprint of the original Gnome/COSMAC article, Bob sent the schematic of the interface circuitry he used. This may be of interest to those of you who wish to try similar experiments.
R.L. Libbey
A hobby is pursued for the fun it provides, but having fun does not exclude the educational benefits and intellectual stimulation that a hobby can offer. In this paper, a hobbyist describes the marriage of a music-making machine and its controller — the RCA COSMAC Microtutor.
Robert L. Libbey, Broadcast Synchronizer and Time Base Corrector Group, Commercial Communications Systems Division, Camden, N.J., received the BSEE in 1950 and the MA in Dramatic Arts in 1952 from the University of Wyoming. Before joining RCA in 1952, Mr. Libbey had a diversified background in radio broadcasting and sound recording. Also, he has taught at Drexel University and the University of Wyoming. At RCA, he first did advanced development work in acoustics and magnetic recording in the Home Instruments Division. From 1958 to 1969, he was with the RCA Electron Microscope group. There, he specialized in high-voltage regulation, and was project engineer for the design and installation of the first one-million-volt electron microscope in the western hemisphere (developed for the U.S. Steel Corporation Laboratories in Monroeville, Pennsylvania). After joining the Television Terminal Group in 1969, he designed video switching and effects systems and is now involved in the design of digital television products. Mr. Libbey's hobbies include music, multi-channel sound recording, and now microprocessors.

Ed. Note: Last fall, Bob Libbey of Commercial Communications Systems Division in Camden took the CEE course, "Microprocessors for Logic Design — C55." After the formal learning period, Bob considered ways of increasing his understanding of the RCA Microtutor used in the course. Because of his background and interest in music, Bob decided that mating a microprocessor and a music synthesizer would be a logical step for furthering his understanding of the Microtutor and its programming. Although Bob says it was "a first, crude attempt at programming," the system worked and delighted Bob and his music-loving family. Bob's next project is to build and program a system to play complete chords.
The programming portion of this paper, of necessity, assumes some familiarity with the RCA COSMAC Microtutor and its software techniques. References are also made to the COSMAC User's Manual and COSMAC Microtutor Manual, which are produced by the Solid State Division and are included in the course material of "Microprocessors for Logic Design."
If you are interested and want more detail on Bob's project, write to him at (Contact Details).

The COMBINATION of a microprocessor and a music synthesizer creates an instrument with outstanding artistic and educational potential. By using a microprocessor to control a sophisticated synthesizer, sounds, tempos, modulations, etc., can be produced that could only be dreamed a few years ago. Even a modest synthesizer makes an exemplary output device for learning programming and multiple input/output techniques. If the synthesizer used is somewhere between the simplest and the most complicated, rudimentary software and hardware skills can be expanded to include analog-to-digital-to-analog (we still listen for analog signals) techniques and, as one advances further, the Combo can be used to produce more complex musical sounds and harmonies, using (and learning about) digital filters.1
Our first-attempt Combo consisted of the RCA COSMAC Microtutor and a PAIA Electronics "Gnome" micro-synthesizer.2 It was decided that even this first attempt at processor-controlled music should have the ability to control the character of the tone (note), as well as its pitch and duration.3 The Gnome synthesizer had previously been adapted to a surplus organ keyboard and could be tuned to play music using the familiar western world even-tempered scale.4 A switch made it possible to control the synthesizer with either the keyboard or the microprocessor. Fig. 1 shows the system block diagram. The Microtutor and its interface create coded signals that choose notes in a manner similar to striking a key on the keyboard. In addition, the output codes can control the characteristic sound and loudness of each note. The loudness attenuator is a resistor-diode network (a simple digital-to-analog converter) that changes its attenuation when different parts of the network are grounded with a logic "LO". The amplifier and loudspeaker were part of a home hi-fi system.

The program software had a goal of performing five major functions. First, it should select the proper pitch and duration of the note (including "no note" — a rest). Similarly, it should change the character of the note by triggering the voltage-controlled amplifier and voltage-controlled filters in the synthesizer. Also, there should be a provision to select one of four loudness values. Finally, it would be desirable to change the key in which the music is played. This "key change" feature would be especially useful to the music student using the microprocessor-synthesizer Combo in composition studies.
The program included memory tables for pitch and duration. The duration tables included a time: T1, T2, T4, T8 and T16 for one-sixteenth, one-eighth, etc., through whole notes; and T1.5, T3, - T24 for "dotted" notes.5 The duration value for each note depends upon the type of note, the tempo of the work being played, the programming technique, and the clock and instruction speed of the microprocessor. The Microtutor Manual and the COSMAC User's Manual describe the time calculations. The Microtutor has an adjustment on its clock frequency which provides for a convenient way to change the tempo.
The pitch code can be any system of binary outputs that will translate into the desired musical note. As an example, middle-C might be code "0 0001", C-sharp "0 0010", and D would be "0 0011", etc. Moreover, appropriate codes can be used for loudness values, key signatures, and for triggering the synthesizer.
Using the music sheet, each note could be given a separate code for pitch, duration, loudness, key and character (waveshape — attack and delay).
The interface hardware for this first-attempt combo proved extremely interesting. The first paper design required seventeen interface chips as compared with thirteen chips for the complete Microtutor. The final design required ten CMOS interface ICs. Fig. 2 shows the interface hardware. This first-attempt system used a simplistic hardware design. Integrated circuit U2 inverted the sense of the output data to make it compatible with the decode/latch IC's U3 and U4. U3 will decode only the lower four data bits DB0 through DB3. A "1" on DB4 will inhibit U3 but, with the help of U1B, will enable U4. If all data bit lines are "0," all outputs of U3 will be "0" (high) and likewise U1A will cause all data output lines of U4 to be "0" (high).
The control lines SCO, TPB, and NO, acting with U5, will cause data to be latched in U3 and U4, and only in U3 and U4, when a "60" output instruction is executed. In a similar manner, the data on lines DB5 and DB6 only is latched in U8 and decoded in U9 when control lines SCO, TPB, and N1 enable U6 with a "61" instruction. Likewise, U7 and U10 use DB7, SCO, TPB, N2, and the "62" Microtutor instruction.

The program was patterned after the "Table Driven Sequence" in the Microtutor Manual. Fig. 3 shows the software program flow chart. The COSMAC (Microtutor) microprocessor contains sixteen very powerful and convenient registers that, in this program, are used to count and point — in consecutive order — to different blocks of memory. The block (table) containing the addresses for the 32 note codes starts in memory location 223 and is pointed to by the register termed note pointer or "NP." The table for the loudness values starts at memory location 190 and uses pointer register "LP," etc. The counter register used in several parts of the program is "CR"; and "PC" is the program counter. The steps in the first column of the flowchart are preparatory steps — they input data, set up the tables, etc.; the steps in the second column make up the working program — they play the music.
Thus, for each note a pitch value was chosen, outputted, and latched. If loudness and triggering information was required, it was immediately chosen and sent out. The program would then go through an appropriate delay loop to hold the selected note the proper time. At the end of the delay, the next note and loudness and trigger values are selected. Because of memory limitations, the key-change feature was not implemented in this first-attempt combo.

In keeping with the Bicentennial, my son — who was taking a high school course in fundamentals of music — transcribed the Revolutionary War marching song "Chester" for our microprocessor-synthesizer experiment. The program and sixteen measures of the music took all 256 bytes of memory.

1. Alles, H.G. (Bell Telephone Laboratories): "A Hardware Digital Music Synthesizer" Proc. EASCON "75." pp. 217-A to 217-F.
2. Simonton. J.S. Jr.; "Build a Portable Synthesizer", Radio-Electronics (Nov 1975) pp. 37-101.
3. L. Bazin and D. Schneider of Broadcast Camera Engineering used the Microtutor to control a "Music Maker" with programmed pitch and rhythm generators, based upon "A Rhythm Section You Can Build." Electronics Illustrated (Nov 1968) pp. 57-66.
4. This was accomplished even though the Gnome manufacturer states that this can not be done. If the scale was not so tuned, programming the pitch would be much more difficult. In fact, tuning and keeping them in tune is a problem in many music synthesizers. Also, see Carl Helmer's "Add a Kluge Harp to Your Computer." BYTE (Oct 1975) pp. 14-18.
5 A dotted note is held 1.5 times as long as the note would be held without the dot.
Hobbyists... share your hobby interests with RCA Engineer readers! The "on-the-job/off-the-job" column offers you the opportunity to report on your experiences. The information should be related to technology and be of general interest to engineers. If you wish to contribute, contact Frank Strobl, (Contact Details).
Guitar Routing Box (Part 1) |
On the Level |
Amdek DMK-200 Delay Machine Kit |
Interfacing External Signals with the Gnome Micro-Synthesizer - Guitar/Gnome Interface |
Build a Modular Vocoder |
An Ultra VCO From The 4720 |
A Digitally Addressed Transposer - for Your Analog Keyboard or Sequencer |
ElectroMix 842 (Part 1) |
Short Circuit |
Understanding Electronics - How To Make Music Projects |
4780 Sequencer Modification |
The Matinee Organ (Part 1) |
Browse by Topic:
Feature by Marvin Jones, R.L Libbey
Previous article in this issue:
Next article in this issue:
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!
New issues that have been donated or scanned for us this month.
All donations and support are gratefully appreciated - thank you.
Do you have any of these magazine issues?
If so, and you can donate, lend or scan them to help complete our archive, please get in touch via the Contribute page - thanks!