previous | contents | next

5. The output feeds into a conventional audio amplifier and speaker.

Musical Requirements

1. Only one musical part (note) need be played at a time (no harmony).

2. (Forced by technical restriction 3) "Tempo" must be determined by the incoming character rate. Each character corresponds directly to one note -- nominally a 16th, 24th (triplet 16th) or 32nd note. The last character. (note) received .is played until a new note is received and overwrites it. Thus all notes are "legato, that is, continuous-sounding. "Staccato" notes and other phrasing (breaks) are sounded with rests.

3. At least one character must produce a "rest" or null-note (no sound produced). Carriage-return (octal 15) and line-feed (octal 12) should also evoke rests, due to computer output-buffer line-length limitations.

4. Intonation (pitch accuracy) need not be perfect, but should be close enough on all 12 tones of the chromatic scale (includes sharps and flats) that it will not offend a musical ear (the lack of harmony gives extra leeway). Absolute pitch is not important (this can be adjusted from the clock), but the tones should be in tune with one another (relative pitch). A 1.0% error or less is desired, where error is defined as follows: If the desired frequency for perfect relative pitch for a tone is d, and the actual frequency is a, then percentage error = |1-d/a|*100. This error measure is derived from the fact that in music ratios of frequencies, rather than frequency differences, determine tone intervals.

5. Pitch range should be at least three or four chromatic octaves.

6. It is acceptable to generate tones with a square wave, hence tone quality (timbre) is quite simple.

SOLUTION

One method to generate a variety of frequencies (pitches) is to use a clock running at a constant frequency, F, much higher than desired, and divide F by various integer numbers. To divide the clock by N means that on every Nth pulse from the clock, the divider outputs one pulse. Thus output frequency varies inversely with N.

F must be an integral multiple of each output frequency desired. However, the 12 tones of the chromatic scale are not all in integral ratios with one another, making exact pitches impossible by the divider method, so some approximation must be used.

Figure Tel-1 shows a tolerable approximation for one octave, based on 60- that is, the lowest note, C, is F/60. To get four octaves, one can encode the 6 bits of a character as shown in the format in Figure Tel-2. Here, we shall use the word Note to denote the combination of a tone (one of the 12 in the chromatic scale) and the octave in which it is to be played. Thus bits 5 to 2, of Note <5:0> give the value of N for the note (Tone <3:0>), and bits 1 to 0 give the desired octave (Octave <1:0>): In Figure Tel-1, N ranges from 32 to 60. The problem is to fit this into the 4 bits of Tone <3:0>. This can be done by dividing N by 2, giving a range of 16 to 30. Then, subtracting 15 gives a range of 1-15 which just fits into 4 bits. If Note <5:0> is treated as an integer, then the range 1-15 of Tone <3:0> becomes the range 4-60 in Note <5:0>. Adding the codes for the 4 possible octaves gives Note a range of 4-63.

Recalling technical restriction 2, the 64 character subset, octal 040 through 137, is used in transmitting notes to Teletrola. Thus, if we add decimal 32 to the decimal 4-63 range for Note, we get decimal 36-95 (octal 044-137), which encodes into the desired character set.

247

previous | contents | next