The Fairlight Explained (Part 6)
After a two-month absence, Jim Grant returns to the fold with some notes on CMI waveforms, lightpens and interpolation.
Waveforms, lightpens and interpolation all come under examination in this instalment of our Fairlight CMI Grand Tour.
Just when you thought it was safe to open up a copy of E&MM without reading anything about the world's most influential computer musical instrument, your intrepid reporter returns from a New Year hangover with another action-packed episode. This month we look at the information presented by Page 5 in a slightly different light. You'll remember that Page 5 held the values for 32 harmonic faders and computed the resultant waveform for the current segment. You should recall also that the only way to create a complete sound of 32 segments was to define the fader levels for each segment and compute over the whole waveform; or define a few segments and Fill the harmonic data to the rest of the segments before computing. It's not hard to see that this method of creating sounds may be very precise but can also be extremely tedious. In a lot of cases, all we need is a way of tailoring the harmonics as the sound progresses: harmonic envelopes, in other words. Enter Page 4.
Figure 1 is a typical Page 4 display, and shows that it's one of the two Fairlight display Pages to be almost exclusively lightpen-driven. The large dark area is in fact a reverse video image, and pointing the lightpen in this region results in an arrow cursor appearing on the screen at the current lightpen position. For those unfamiliar with the term, the lightpen is now a fairly common computer add-on, mainly because of its simplicity of operation. Contained within every lightpen is a fast photoelectric diode or transistor which produces a voltage pulse as the TV line passes beneath it. Usually, the pulse is squared up and passed to the video controller chip, which stores the TV line number and position along the line in a couple of registers. This information can then be used by the programmer to initiate predefined events such as plotting a point or executing a command.
The Fairlight system is no different, except that the video controller is constructed from discrete logic chips and resides on a single eight-inch board within the CPU. In addition to latching the TV co-ordinates when the lightpen is used, it generates an interrupt to the processors to execute the selected task.
At first glance, the graph area in Figure 1 looks a bit confusing but it's really quite straightforward: the vertical axis represents amplitude while the horizontal shows time and hence the segment number. Along the bottom of the display are the harmonic numbers 1 to 32. A small triangle under the number indicates that the time profile of that harmonic is being displayed on the graph, while a cross shows that the profile has a non-zero value.
So what does all this mean? Have a look at Figure 2. Two profiles are shown, one of which is the First harmonic (left to right downwards) and the other the Third (left to right upwards). On receipt of a Compute command, the CMI will fill the waveform segments with sound which initially at least, has a strong fundamental but degenerates into dominant third harmonic.
You don't believe it? Look at Figure 3. This is great, because with 32 harmonics at our disposal, we can create sounds with interesting harmonic structures quickly and easily by selecting harmonics and waving the lightpen in the general direction of the profile area. Another bonus is that the profile data is mirrored segment by segment on the Page 5 faders, allowing detailed harmonic microsurgery of the sound. Remember, though, that not every sound is created from harmonic data so that if, for instance, you're working on a sampled sound, calling up Page 4 will result in a completely blank profile graph.
One of the previously mentioned features of a Mode 1 voice is the way in which the first 32 segments are looped several times to maintain the net event time of the sound across the keyboard. In fact, we have some control over how long a segment lasts before everything moves on to the next one, and this is accomplished via the profile. Figure 4 shows a harmonic profile graph with the duration profile indicated by a double line: the default value is approximately 50mS per segment and increases as the profile is drawn higher up the graph. This is particularly useful for creating sounds with a short click at the beginning of each note, such as that of a Hammond organ. A very short duration value can be drawn for the first one or two segments, and then a longer profile for the remainder of the sound. If the duration profile is made zero, the sound degenerates to a Mode 4 condition, except that it only lasts for 32 segments.
Another interesting aspect of Mode 1 sounds is their ENG profile. This is an artificial envelope that's superimposed on the waveform in much the same way as the more usual ADSR principle. But this one's a lot more flexible. When the Compute command is given, the CMI calculates the waveform segment by segment and scales the amplitude so that it fits exactly into the dynamic range of eight bits. The ENG profile is also generated (and its shape implied) by the harmonic data, but can be altered by the lightpen to control the amplitude of the sound on playback.
Along the very bottom of the display Page are a number of useful commands. Clear deletes all the displayed profiles from the graph, but they remain active and can be brought back to life simply by the programmer selecting the harmonic numbers with the lightpen. Delete, on the other hand, merely removes the currently-selected profile. The same sort of structure applies to Reset and Zero. Invoking Reset causes a confirmation message to be printed and also results in Page 4 being restored to a complete default condition. Zero isn't quite so drastic, and results only in the current profile being set to zero. Every time you give a Compute command, a new energy profile is generated. Scale is the opposite: it redraws the harmonic profiles from a modified energy profile. This is not without its dangers, however, as it can result in some harmonic profiles being scaled beyond their maximum amplitude, which leads to clipping. The Fairlight will inform you of the situation when it occurs (by displaying 'Overflow') but is powerless to prevent it happening if the Scale command is issued. The only way to recover the sound then is to reload the voice.
Time now to introduce another concept with which some of you may not be overly familiar. Interpolation is the skill of guessing an unknown value that lies between two known ones, and is commonly used to predict values of points on graphs that aren't the actual ones originally plotted. When the Interp switch is On, each waveform segment is computed from a mix between the harmonic profiles of that segment and those of the next one. The difference between the two is subtle, and is only really noticeable when the profiles contain rapid changes throughout the duration of the sound.
Incidentally, becoming proficient at using the lightpen for drawing can take a lot of practice, so the CMI helps out by providing a Join Plot selector: when Join is active, any two points struck on the graph are immediately connected by a straight line, while fine detail can be drawn by selecting Plot. I imagine that most of you will be familiar with the Fairlight's Loop function by now, so I won't go through it all again. Suffice to say then that Page 4 offers a quick way of drawing the loop start and length. Mode 1 sounds are always calculated so that the waveform fits perfectly into a segment: the first harmonic does one cycle, the second harmonic two cycles, and so on. Gone are the Bad Old Days of trying to sample a sound to make it fit segments evenly. All you have to do now is use any old loop to span the sections of a waveform that are of interest, and Bob Moog's your uncle.
Next month (yes, there's still more to B come), we'll take a look at Page 6 which, among many other weird and wonderful things, allows you to splice a sound down to no more than 16,384th of its length. And you thought a razor blade was powerful...
Gear in this article:
Feature by Jim Grant
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!