sktf-Summer-1991

The Smith-Kettlewell Technical File

A Quarterly Publication of
The Smith-Kettlewell Eye Research Institute’s
Rehabilitation Engineering Research Center

William Gerrey, Editor

Issue: [current-page:title]

Original support provided by:
The Smith-Kettlewell Eye Research Institute
and the National Institute on Disability and Rehabilitation Research

Note: This archive is provided as a historical resource. Details regarding products, suppliers, and other contact information are original and may be outdated.

Questions about this archive can be sent to
sktf@ski.org

TABLE OF CONTENTS

INTRODUCTION TO COMPUTERIZED MUSIC

SYNTHESIZER HISTORY AND FEATURES

INTRODUCING THE MIDI LANGUAGE

SOFTWARE SEQUENCERS AND THEIR FORMATS

SOURCES AND RESOURCES

STANDARD MIDI FILE

INTRODUCTION TO COMPUTERIZED MUSIC--EQUIPMENT AND DEFINITIONS

by Jay Williams

Abstract

The last few years, the manufacturers of electronic music instruments have included computer-addressable features in synthesizers which cost only a few hundred (rather than a few thousand) dollars. If you have a PC-compatible computer with a screen-reading system, you can add software and an interface card which, when coupled with one or more of these instruments, allows you to engage in truly sophisticated music composition and arranging. Now that the cost-versus-reward quotient of this field is comparable to that of ham radio, sound recording, and other audio pursuits into which many of us sink our cash, it's time for articles which contain the essential technical information. I will discuss the history and operation of synthesizers, the MIDI language, the associated interface hardware, and the formats of two sequencer programs for the PC with which I am familiar.

Introduction

[At present, the myriad programs for Macintosh and Atari computers are not generally accessible to us. However, the Trace Center's prototype "Systems 3" shows promise. It combines Berkeley Systems' "Outspoken" screen-reader, the Kurta graphics pad, and a mouse-like puck which contains an Optacon-style array of vibrating reeds. I have witnessed this system in action and it does appear to speak whatever has to be spoken, and allow examination of unknown icons. However, it is expensive, cumbersome and fussy.]

The synthesizer, often abbreviated "synthe," is the modern instrument. Synthesizers allow sounds to be constructed by electronic means. In addition to synthesizers, there are many "processors" which can be controlled by data that occurs along with the "note playing" data in the software. These include the audio mixer, patchbay, digital delay, reverberation unit, sampler, compandor, and other more exotic units. Several of these can be contained in an inch-high rack-mount unit.

And now, a word to the wise. Much of this equipment is "menu driven," so you can no longer step up to your would-be "electrobox" in the store and receive instant gratification by fiddling with the controls; selection of modes, and basic functions, is now done by choosing options which are shown on visual displays. First, become acquainted with a friendly and (hopefully) knowledgeable salesman, and/or bring along a properly oriented sighted friend who can let you in on at least the basic secrets of the machine.

A "sequencer" is a program (or a dedicated device that contains such a program in ROM) which feeds data to the sound-generation circuits of an electronic music instrument. Sequencers contain editing features similar to those in word-processing programs. In a broad sense, the program handles two types of data: One type of data represents the notes on a piano-type keyboard and their attributes--pitch, duration, loudness and start-time. The second type affects the hardware itself; it includes the modification and selection of the instrument's "voices," tuning, overall volume and the operation of external processors and controllers. If your synthesizer has "programmable" patches, you can change their sound parameters and store the data in the sequencer software. Thus, you can load a different "orchestra" with each composition. (Although they exist, I shall not discuss programs which "synthesize" sounds directly.

Hardware Features

In order to connect these machines to your computer, you need a "MIDI interface" card which plugs into a card slot in the computer, and a connector box which plugs into the back of this card. The connector box contains the MIDI-in and MIDI-out jacks which accept the cables from your synthesizer.

In addition to MIDI-in and MIDI-out jacks, many instruments have a "MIDI-thru" jack. It passes data from the MIDI-in jack through to another instrument, but ignores data sent from the synthe's own keyboard.

All but the least expensive interfaces provide jacks which send and receive clocking signals to and from an audio tape. Thus, if your piece includes tape-recorded sounds along with those generated by your synthe, you can record the clock signal on one channel, run the sequencer with that signal and introduce any taped material into the music where appropriate. Naturally, since the clock signal and the recorded portions are on the same tape, synchronicity is assured.

If the recorded portion is in stereo, you will need a tape machine with more than two channels. Four-channel tape machines are common; I use that extra channel to store a duplicate of the clock signal in order to minimize problems caused by drop-out. Until your "ship comes in"--while you can't afford a 4-channel open-reel machine--there are some 4-channel cassette machines on the market which will serve nicely. They contain complete audio mixers, "dbx" noise reduction, as well as two (and sometimes three) speeds.

If you don't have a computer, you may be tempted to buy a dedicated sequencer, that is, a "box" containing a sequencing program in ROM and enough RAM to store 60,000 notes--enough for a sizable composition. After all, if you're sure that this would be the only use you would make of a computer, why wrestle with all that complexity? A dedicated sequencer certainly feels less cluttered, and its buttons have specific functions like those on a tape machine. Aside from the fact that such a unit costs nearly as much as a computer, the question is, how are you going to read its display? I know from direct experience that no amount of patience would allow me to compose with real finesse with such a device. So, let's just "byte" the bullet and be reconciled to the presence of a computer.

Because a software sequencer manipulates large blocks of data, it transfers some part of the program from RAM to disk and back again every time you enter and exit any major editing screen. This requires that your computer have a hard disk drive, at least 640K of RAM, and DOS version 3.0 or higher. I have run sequencers on a vintage IBM XT machine satisfactorily, but its slow speed causes long waits while it processes all that data. For example, if you want to modify the data in 16 tracks during the final five measures of a ten-minute piece, such a computer can take ten to fifteen minutes to complete the task. The computer will not process the data while it speaks to you, so, if you keep checking the window which shows you the progress of your edit, you will increase the time needed for the job. A braille display has real advantages in such applications. A faster machine shrinks such time intervals drastically.

Compared to a word processor, a sequencer and its files are memory hogs. For example, Voyetra's SP Gold and Cakewalk (from 12-Tone Systems), consume 275K to 300K, depending on the memory-saving options you select. A five-minute piece of music is likely to consume 20K to 80K, depending on its complexity. Since my focus is on "art" music, I tend to compose pieces which last 10 to 20 minutes, and these files can take upwards of 240K beyond the sequencer itself. If you plan on that sort of extravagant use of your software, you must be concerned with the amount of memory your screen access program requires. For instance, although JAWS is laden with more useful features than many other programs, it takes up 85K as compared with the 30 or 40K of many others. If your computer has enough RAM to accommodate "extended memory," you can transfer specific sections of the sequencer to that location and thus reclaim some memory for your music.

If you have had no reason to use different kinds of software, you can be disconcerted by the fact that your screen-access and your application programs may use identical keyboard commands for unrelated functions. Most recent screen-access programs allow for these conflicts. Look in the manual for such features as "pass through" and any methods for modifying these commands. Such customizations can be stored in the program's "config" files and will thus be loaded automatically when you boot up the computer. If you are comfortable with batch file construction, you can incorporate a different config file with each application program so that one simple command loads both.

SYNTHESIZER HISTORY AND FEATURES

By Jay Williams

Often abbreviated as "synthe," the traditional synthesizer of the 1960s and '70s catered to the avant-garde composers of classical music who were interested in electronics as a means of producing "new sounds." It consists of a collection of voltage-controlled oscillators and a white-noise generator whose outputs are mixed and fed into a set of sound processors such as voltage-controlled filters, voltage-controlled amplifiers, reverberation units and the like. They can be connected in any series or parallel configuration by a combination of patch cords and switches. However, on these early instruments, you can play only one note at a time, and the output is monaural. Sometimes an extra filter and amplifier and a stereo spring reverberation unit are added to provide a modicum of stereo imagery.

The growth and decay of a note's amplitude and overtone structure are accomplished by two or more "envelope generators." They are one-shot/integrator combinations with pots which adjust their rate of ascent and descent, the height of the curve, and the length of time the high point is sustained. The more elaborate ones provide controls which allow a note to rise, sustain a level for a time, then fall to a secondary level which is sustained so long as a key is held down. When the key is released, the curve falls to zero at a rate controlled by yet another pot. They can be triggered by the keys or by an external switch.

A typical synthesizer's arsenal contains a low-frequency "modulation" oscillator, ring modulator, an adjustable-gain inverting amplifier, variable hysteresis circuit, function generator, internal clock and an electrically operated SPDT switch. The sampling rate of the function generator is determined either by the internal clock or by a clock signal of your choice; the same goes for the SPDT switch.

For many of us the real attraction of these instruments is the ease with which an outside signal could be fed in and processed. Synthes such as the ARP 2600 feature a preamp whose gain can be adjusted to accept anything from a mike to logic-level signals. This preamp can feed an "envelope follower" whose output voltage will drive the inputs of the voltage-controlled modules. These can be adjusted to respond to amplitude changes of approximately one to one hundred hertz. Thus, if you feed the preamp's audio output into the synthe's mixer and the envelope follower's output into the voltage-controlled filter and amplifier, you can alter the sound by its own amplitude characteristics. The synthesizer's own sound sources can, of course, be fed into this preamp and/or the envelope follower and treated in the same way.

Two or three groups of parallel-connected jacks permit several voltage sources to assault any one input at once. We practitioners of these machines invented complicated arrays of patches of this sort in order to create an illusion of "predictable" sequences.

Each oscillator delivers four wave forms: sine, sawtooth, triangle, and a square wave with a variable duty cycle. These outputs can be treated either as audio signals or as signals to operate on the inputs of any of the voltage-controlled processors.

The result is a device on which you experiment with all those controls and, by trial and error, "synthesize" an instrument which exhibits enough dynamic properties so as to be sonically and/or musically interesting. Indeed, this is the major task for a composer using this medium. Even the most advanced instruments of today cannot replicate the subtlety of the algorithms which occur naturally in their acoustical counterparts. In order to create viable music with these monophonic synthesizers composers usually combine them with highly processed recorded sounds as well as with more traditional instruments. In any case, since the synthesizer could issue only one sound at a time and would respond to only one key at a time, a composer must spend a period approaching eternity editing tape if the composition is to be accurately preserved. Keep that in mind the next time you hear those classic productions from Wendy Carlos such as "Switched on Bach," the music from "A Clockwork Orange," or "Sonic Seasonings." Although the Moog brand is nearly synonymous with the word "synthesizer," the ARP 2600 is the quintessential performance instrument of that era. If you find one for sale, grab it.

A few (very few) synthesizers employed a punched paper tape which would change sound parameters and play the music. The RCA Corporation built such a behemoth in 1954 with a 16-channel tape, each of whose channels could execute 30 commands per second. The purpose of the project was to "synthesize" acoustical instruments. Following the production of one rather engaging record which amply demonstrated these pyrotechnics, the machine was installed at the Columbia-Princeton electronic music center where it was used for many important compositions by Carlos, Milton Babbitt, Boulant Arel, and others. So far as I know, it is still in existence.

The more usual "sequencer" of that vintage is a device which steps through a finite series of programmable stages, each of which also generates a triggering pulse for activating the envelope generators. The series can be made to repeat or stop after one cycle. Any grouping of stages can be switched in or out of the series at any time. In order to accommodate all those voltage-controlled units, each stage on the sequencer consists of many pots and switches. Although some of these machines could perform elaborate patterns, the amount of knob-twiddling necessary to prevent the music from sounding hopelessly "mechanical" is stultifying. The synthes built by Don Buchla were renowned for their sequencing capabilities. If you want to hear their gymnastics, obtain any of the works by Morton Subotnik from that era: "Silver Apples of the Moon," "The Wild Bull," and "Touch." These have been reissued on compact disk.

As the synthesizer found its way into the musical mainstream, manufacturers shifted their emphasis. With digital trickery, the keyboard became polyphonic, and many of the tonal characteristics were hard-wired into a choice of "presets." The performer could still adjust the envelope and filtering, but the instruments were designed to generate sounds which seem to fill the gap between acoustical instruments and the extant electronic organs. In an attempt to broaden the soundscape, manufacturers added connections which allowed synthes to be ganged together. However, the relationship between a voltage change and pitch was not consistent. This and the problems of synchronizing sequences to signals on an audio tape soon mandated the adoption of an industry-wide control system--thus, MIDI.

The modern synthesizer combines the equivalent of many old-style machines in one unit, rather like a pipe organ. One synthesizer can contain up to 128 voices (also called presets, patches, or programs). Instead of containing one set of envelope generators and voltage-controlled modules which must be adjusted for each voice, the newer instruments provide independent settings for each voice. To supply 128 sets of these controls would clutter a control panel into unmanageability, so these instruments are "menu driven." Thus, a relatively small number of controls serve many different functions, and the resulting activity is displayed on a small screen. Yes, this lack of access is a problem, but if you write good braille "cheat sheets"--or make the audio equivalent on tape or computer disk--you will reap all the benefits these instruments offer.

For an additional $350, you can ease the burden considerably by purchasing a MIDI mixer such as the Kawai MM-16. This unit contains sliders and switches which restore the "analog" feel to the process of changing many aspects of a patch in real time without having to constantly dive in and out of so many menus. The Roland Company makes a "programmer" module for its D-50 synthe which does the same thing for even more functions, but only for that instrument and its immediate relatives. Although it remains difficult to access the data which these controls transmit, this mixer can sharply reduce the "patience quotient" in that you needn't rely so heavily on the menus.

In an effort to render electronically produced sounds, more "musical" synthe makers have employed various schemes other than the mixing of simple wave forms. Some examples are: FM synthesis, additive synthesis, pulse code modulation synthesis, and sampling.

Yamaha's now famous DX7 employs FM synthesis. Each of its voices is a unique "algorithm" involving six "operators" or modulators. The operators can modulate each other or the fundamental frequency, and each operator can have its own envelopes of frequency and amplitude.

Kawai's K5 uses "additive" synthesis, which is the easiest system to understand intuitively. Each of its two generators produce a fundamental note with 63 overtones. To construct a voice you make adjustments to the intensity and envelopes of all those overtones, either singly or in groups. The K5's editing system thankfully provides a number of clever ways to "manage" all that.

Casio and Roland use a mixture of Pulse Code Modulation and digital sampling to construct their voices. All of these methods are versatile, but each has at least one class of sounds which are easier to fashion than others.

Some synthes contain algorithms for many tunings other than the equally tempered one we all know. In addition to Mean Tone, Just, and Pythagorean tunings, they sport myriad tuning schemes from other cultures, some of which are delightfully interesting but questionable as to authenticity.

Most synthes are polyphonic. Depending upon the unit, you can play a minimum of 8 or a maximum of 32 notes simultaneously before "prioritizing" takes place. More and more synthes are "polytimbral," that is, they can play more than one voice simultaneously. If your synthesizer is monotimbral, it will play one voice at a time.

INTRODUCING THE MIDI LANGUAGE

By Jay Williams

MIDI stands for Music Instrument Digital Interface. It is used by the makers of electronic music instruments as the common code for transmitting data between the keyboard and any associated instruments, processors, and computers. As you might imagine, music requires that a lot of data be transmitted over a short time. Although a parallel port was the obvious solution, the industry decided that a high-speed serial transmission would reduce the number of wires in the transmission cables and minimize r.f.i., both important factors when considering the rigors of performance.

MIDI cables employ 5-pin DIN plugs and jacks as connectors. Pin 2 is ground, pin 4 is MIDI-send and pin 5 is MIDI-receive. Pins 1 and 3 are not used pending an agreement on their application.

Each data byte begins with a start bit and ends with a stop bit. The resulting rate of 31250 bytes per second seems fast, but if you record a rapid succession of big chords you may hear a slight delay when comparing the timing of the music with the system's metronome. (By the way, a chord is really not a chord, but an arpeggio which is executed so quickly as to create an illusion of simultaneity. In the edit mode of some sequencers such as Voyetra Technologies' SP Gold, you can step through the notes of a chord and observe the order in which they are executed.)

The data are sent at 31.25 kilobaud. A MIDI message always begins with a "status" byte which defines its function and channel-specific information, if any. One or two "data" bytes follow the status byte and contain numerical data.

The sequencer increases the efficiency of transmission by invoking "running status." In this mode the program sends status bytes to an instrument only when they change. For example, if you hold a key down and move the pitch-bend wheel back and forth a few times, each increment introduced by the wheel records one status and two data bytes. When the music is played back, the program ignores all those consecutive identical status bytes and sends just the pairs of data bytes. When the key is released, another key depressed, or any other channel message than "pitch-bend" appears, a new status byte is sent to the instrument.

The value of the most significant bit differentiates a status byte from a data byte--a one for "status" and a zero for "data." Therefore, each data byte can have a value from 0 to 127.

A status byte conveys several types of information. After the bit which defines the byte as a status byte, the next three bits present eight messages, seven which apply to a specific channel and one which defines messages for the whole MIDI system. The last four bits either designate the channel or elaborate on a system-wide message. I will present more details on these messages after defining MIDI parlance.

Time for Terms

In sequencer jargon, your piece of music is a "sequence" or, more commonly, a "song." A "channel" is similar to a channel on an audio tape machine. A MIDI system contains 16 channels. You can assign as many of the synthe's voices to a channel, or as many channels to a voice, as you wish. More and more sequencers accommodate MIDI interfaces with more than one MIDI-out port. Each extra port provides a set of 16 channels so that you can make full use of more than one instrument without the data from one colliding with data from another. In the program, the channel numbers stay the same, but the tracks are assigned to a desired port. If your synthe has two or more audio outputs and is polytimbral, you can "thicken" the sound of an ensemble by clever assignments of voice, channel, and output.

The equivalent of "tracks on a tape head" is supplied only by the sequencer and is therefore a much more fluid parameter. The program has many tracks--64 or 256 are common. Each track can be modified in ways familiar to tape recordists. It can be muted, "soloed," looped, and be brought in or out of synchrony. You can also "punch in" and "punch out"--that is, re-record a portion of the track without disturbing surrounding material.

MIDI messages are categorized as "channel voice," "channel mode," or "system messages." Channel voice messages are the ones you will deal with most often. There are seven channel-voice messages: note-on, note-off, channel pressure, (often called "after-touch"), key pressure (called "key after-touch"), program change, control messages (associated with the various "controllers" discussed later), and pitch-bend.

The note-on and note-off messages are just what they appear to be. If a status byte contains a note-on or a note-off message, it is followed by two data bytes; the first sets the velocity (the speed at which the key moves), and the second, the pitch.

A note-on message sends a value for the "attack" velocity and a note-off message, the "release" velocity. Velocity ranges from 0 to 127. Since a note with a velocity of 0 will not play, the sequencer won't let you assign it. It is employed, however, as part of the algorithm of "panic button" routines where they accompany the "all notes off" command to release the occasional "stuck" note. If the synthe doesn't transmit velocity data, the program assigns a velocity of 64 to all notes.

The pitch is also numbered from 0 to 127, encompassing just over ten and one half octaves. Pitch #60 is middle C.

Don't confuse velocity with the "volume controller." Although most players use velocity primarily as a loudness control, it can be programmed in the synthesizer to govern pitch, filtering, changes in attack and decay or any other parameter which can be addressed by MIDI commands. An increase in velocity can either increase or decrease the value of its assigned parameter. Some synthes will respond to both the attack velocity and the release velocity of a key. This feature provides more variety in the way notes decay.

Now for some confusion. The term "program" refers to a preset in the synthesizer itself. The program number can be 0 through 127; a change in the program number can be introduced at any point in a track. This has the effect of changing "stops" on the pipe organ. These changes can occur simultaneously on as many channels as you wish. The sequencer software allows you to edit the changes so they don't occur in the middle of a note.

Aftertouch and Key-Aftertouch

Piano tuners beware! This is not some little physical bump in the key's downward motion. Rather, when the key has hit bottom, you can apply extra pressure whose travel distance is very short, but the effect can be quite marked. The difference between after-touch and "key" after-touch is that after-touch affects the whole channel, and key after-touch, only the note played by that key. After-touch is often called "channel pressure."

As with velocity, after-touch and key after-touch can affect any synthesizer parameter in either direction; the synthesizer can be programmed to "scale" these effects. For instance, an aftertouch or velocity change from 0 to 127 could change the pitch by a semitone or, say, two octaves. Program, after-touch and key after-touch messages each consist of a status byte and one data byte.

Controllers

These form a group of 121 "switches" and "pots" whose parameters only affect the channel on which they occur. Controllers 1 through 63 are labeled "continuous" (like pots), each having a range of 0 through 127. Controllers 64 through 95 are switches; for these, a number of 0 through 63 means "off," and 64 through 127 means "on."

Controllers 95 through 101 are termed "data entry"--continuous controllers whose increments range from 0 through 16,383. Finally, controllers 102 through 121 are left to the manufacturer's discretion.

In practice, manufacturers may introduce any type of controller into any undefined slot. The Channel Mode messages occupy controller slots 122-127; they are invoked by a status byte which contains a "control" message. A controller message comprises a status byte and one or two data bytes depending on its type and range of increments.

Controller No. 7, volume, changes the volume on one or more channels, whereas velocity, when used to control loudness, dictates the relative loudness of one note to another. This musical example shows the use of each:

Suppose you have a "piano" on channel 1 and a "trumpet" on channel 2. Since the "piano" preset has a built-in fade, the only use for controlling the channel volume would be to create the illusion of a loud piano from far away. However, the trumpet preset on channel 2 sustains whatever loudness the key velocity dictates. Therefore, if a musical section ends with a long trumpet note which fades, the volume controller must perform that function. If you have many trumpet notes and only one is to fade, then you would assign the trumpet preset to more than one channel and place volume data on only the desired one.

Access to the volume controller is gained by an edit screen in the sequencer and a pedal which plugs into a jack on the synthesizer.

Although the "pitch-bend" wheel is technically considered a controller, it is assigned a separate category in sequencer programs. It has its own status byte and two data bytes to cover a range of 0 to 16,383. The center has a detent to which the wheel's spring returns it. In the software, this range is denoted as -8192 to +8191 with the center as 0.

Channel-Mode Messages

These are switches which govern the way the synthe plays music. They are: All Notes Off, Local On and Off, Omni On-Off, Poly On-Off, and Mono On-Off. The "All Notes Off" message turns all notes off on all channels. You rarely use it, but if you know the command for it, you will avoid the rising anxiety produced by a note that won't quit. "Local" mode disables the synthesizer's keyboard when it is set to "off." The keyboard data is still present on the MIDI-out port, so it can run some other instrument while the synthe to which it is normally dedicated can be run by some other source of data.

When Omni is on, the synthe responds to incoming data without regard to the settings of the "send" and "receive" channels. When Omni is off, the synthe only responds to data occurring on the "receive" channel to which it is set. If Poly (polyphonic) is on, more than one note will play at once; when Mono is on, the synthe will play only one note at a time. Their combinations and effects are as follows:

"Omni on/poly" causes all incoming data to act upon all channels at once. "Omni off/poly" means that data affect only the channels to which they are assigned.

"Poly" (polyphonic) allows more than one note to be played simultaneously.

Modes 3 and 4, "Omni on/Mono" and "Omni off/Mono," are like the first two, but the synthe will play only one note per voice at a time when Omni is on. In Omni off/Mono, you have the equivalent of many monophonic synthes which can play together. For instance, if you selected 4 voices and assigned them to channels 5, 6, 7 and 8, respectively, then played a four-note chord, each note would be assigned a different channel. Depending on the synthe's design, the channel assignments would be governed by either the timing of the notes or by their pitch. Although used less often, these last two modes can aid in making a synthe with limited polytimbral capacity sound more flexible.

If you use a "Mapper," a device which translates one kind of data to another, the pitch data may now indicate controller or program changes. The monophonic mode would eliminate the horrendous conflicts which would happen if a lot of numbers occurred at once in these categories.

System Messages

These messages occur throughout the whole MIDI system and are therefore not channel specific. There are three types of these messages: system real-time, system common, and system exclusive. System real-time messages are those which must occur at a precise time regardless of other activity. The MIDI clock and "active sensing" messages are the most prevalent. MIDI defines a quarter note as 24 clock pulses.

"Active sensing" is a test signal continuously emitted by a synthe in the form of pulses every 300 milliseconds. If misfortune befalls an instrument so that it stops sending this string of pulses, all other instruments in the system capable of responding to "active sensing" will initiate an "all notes off" message. This is handy during a performance where cables may be accidentally unplugged, a switch turned, or a fuse blown. Remember that this sort of mishap does not generate a "note off" message, so the synthe will sustain any notes which happen to be playing when the problem occurs. You don't need that added aggravation while troubleshooting the system.

In addition to "real time" messages, "system common" messages include "start," "stop," and "continue" messages. These are as you would expect them to be. They instruct a sequencer "to play or not to play" the music or to "continue playing" from a desired point.

Other system-common messages include: "tune request," which instructs all instruments to agree on a common tuning pitch; "system reset," which tells all instruments to return to their respective default settings; "song select," which tells a sequencer to load a composition and all system-oriented data pertaining to it; and "song position pointer," which defines a point from 0 to 16,383 16th notes from which you can continue to record or play.

System-exclusive messages contain information specific to a particular synthesizer or processor. They are used to alter parameters of a "voice" such as the curves of the envelope, filtering, vibrato or reverberation. If the patches on your synthe or processor are not programmable, these messages will be ignored.

System-exclusive messages reside in the "patch librarian" section of a sequencer program. Its structure is not limited to a specific number of data bytes, since it can transmit a "dump" containing the data for all of a synthe's patches. It is terminated by an EOX (end of exclusive) message.

Since several methods of sound generation are in use, the data specific to one instrument will have unpredictable results when fed to another instrument. This lack of standardization simply indicates that the electronic music field is in a state of youthful flux similar to that of keyboard technology of the 16th century. A lot will depend on how much data can be stored within the instrument and associated software and still remain "user-friendly."

SOFTWARE SEQUENCERS AND THEIR FORMATS

by Jay Williams

The two most popular sequencers used by blind musicians are "Cakewalk" from 12-Tone Systems, Inc. and the "Sequencer Plus" series from Voyetra Technologies, Inc. All the information you need in order to execute their functions is text-based. Your screen reader will sometimes inform you of graphic symbols, but these symbols conceal nothing useful from a blind user. Thanks to user input, Voyetra supplies the manual for SP Gold on computer disk.

Although I use the Voyetra software most of the time, I have worked with Cakewalk enough to make some instructive comparisons between these two versatile programs. I would like written reviews from any of you who have experience with sequencers. It would be nice if we had a computers-and-music equivalent of the Beginner's Guide to Computers series from National Braille Press.

When either of these sequencers is first loaded, it presents a screen whose work area is full of tracks, one above the other. Above and below the work area is a list of available parameters and menus which are accessible from this main screen. The right- and left-arrow keys select a playback parameter for alteration such as transposition or channel. You can move from track to track with the up- and down-arrow keys; the home, end, page-up and page-down keys shift the work area by much larger groupings of tracks.

In addition to the right and left arrow keys, three pairs of keys are used to step through parameters, change the start-time and length of a note, or change the pitch of a note. Their functions depend on which screen you are working in. Each pair represents a different degree of resolution. The plus and minus keys turn a feature on or off or change a numerical value by 1; the comma and period change timing values by very small increments which are defined by the software.

The smallest degree of resolution in these programs is 1/192nd of a quarter note. This means that with a tempo setting of 60, one quarter note per second, you can change the length of a note or the start of an event by 5.2 milliseconds.

The right- and left-bracket keys change numerical values by 10's, pitches by octaves, and timing factors by quarter-notes, depending on the appropriate division for that parameter. While in the main screen, you can record music into the program by playing on the synthesizer's keyboard.

The screen used for editing individual musical notes resembles a musical staff. Each line shows the name of a note and its octave. The up- and down-arrow keys change pitches, the left- and right-arrow keys move back and forth through time. Notes which require a "sharp" or a "flat" are designated with a number sign until you specify the accidentals. Not only can you change the note's start-time, length and velocity, but you can use commands on the computer keyboard to "step edit," that is, insert and delete notes anywhere in the time frame defined in the work area. Your ability to edit accurately will improve as you become accustomed to doing arithmetic functions using a base of 192 or 96, the subdivisions of a quarter note you are likely to encounter.

The real power of a sequencer is its "global" editing functions. The area of impact can be as small as part of a measure on one track, or all measures in all tracks of the piece. Functions include: retrograde (playing backward), inversion (turning the intervals upside down), offset (shifting a block of measures and tracks through time), quantization (synchronizing notes to occur on specific beats), compression or expansion of a musical passage to fit a specific block of time, pitch transposition, and various "fills" which create smooth changes in volume, tempo and pitch-bending.

Files and Buffers

Sequencers provide several formats for preserving your hard-won music. Some buffers are saved and loaded along with a piece, and some exist as separate files and thus can be merged with whichever piece you happen to be working on. All of these files and buffers can be retrieved and repeated as needed. Remember that any fragments you have stored in the buffers which are loaded along with your piece consume memory.

Standard MIDI Files

If you wish to explore a new or off-brand sequencer, you should make sure it can run "Standard MIDI" files. Standard MIDI is to a sequencer as ASCII is to a word processor. It stores data in a form which is not sequencer-specific. This is how someone in your entourage with a Macintosh could give you music which you could work with on your PC.

The Patch Librarian

This branch of the sequencer is used when you want to reconstitute the voices in your synthe and the settings in external "MIDIable" processors, such as a mixer or a digital delay. It also contains a routine for analyzing all types of MIDI messages for the purpose of troubleshooting. These are stored in a buffer so they can be retrieved and examined at one's leisure.

Caution!

Heed the warning in your software manual which advises you to be prudent with your experiments. There is an "erase" command which can affect one patch or a bank full of patches. If you know that the data for your synthe's patches can be retrieved from your computer, it is instructive to erase a patch and discover how much work it takes to create a voice purely from scratch.

The patch librarian supports a large number of synthesizers and processors. It also contains files for manipulating data for programmable units which it doesn't support.

Caution Again

The sequencer manual will inform you that data, including that produced by the motion of controls on your instrument's panel, can be examined and manipulated. This is true only if your synthe dumps such information in a readable form. Even if it does, you still won't have the instantaneous display we all want so much.

A Tale of Two Sequencers

Cakewalk and SP Gold are typical full-fledged sequencers. They both provide all the algorithms for manipulating data which are described in the previous paragraphs. There are two obvious differences between these two programs.

First, Cakewalk has a more involved command structure than SP Gold. SP Gold employs single keystroke commands for virtually all of the editing commands, whereas Cakewalk employs "chords" most of the time. Second, Cakewalk contains many more "bookkeeping" functions. These include:

  1. the ability to rapidly compare several versions of a passage before making your final choice;
  2. the freedom to change the channel assignment of an event independently of the track in which it occurs;
  3. an "autosave" feature which can be set to automatically save your work to disk at regular intervals;
  4. the ability to leave the program, run another application program and return to Cakewalk and your composition as you left it; and
  5. the provision of up to ten "regions" of tracks and measures which can be invoked with one command. This last feature is the one I would most like to have with SP Gold, where each time you want to perform a global edit, you must redefine the region.

In Cakewalk, one buffer is loaded along with your composition, which can hold any number of tracks and measures. SP Gold loads 11 buffers along with the work, and each buffer stores one track only. Both programs have files into which tracks can be stored independently of the composition you are working on. These can be incorporated into the piece at any time. Cakewalk's buffer can be reloaded either in its original format of tracks or with all its data merged onto a single track.

Cakewalk provides an interesting option for recording in real time. It acts like a "sound-on-sound" recorder, in that you can re-record on the same track as many times as you wish and not erase anything. To my mind this, and the option of storing multi-channel data on a single track, should be used sparingly. They are holdovers from earlier sequencers which contained only 16 tracks, making them suitable for computers with much less memory.

The extensive use of such features makes future editing very cumbersome. For instance, if the melody and accompaniment are to be played by the same instrument, yet share the same track, it will be well-nigh impossible to change the characteristics of one or the other with one of the global editing features. Instead, you will have to sift through the track and change the desired notes one at a time.

The note-editing screen in SP Gold provides more audible feedback and is easier to use than that in Cakewalk. The tab and shift-tab commands step forward and backward through the notes which have been recorded on a track. The synthesizer articulates each note as it appears, and the computer's cursor will move to a corresponding position on the screen's musical staff. Even if many measures separate two notes, the computer will "zoom" from one note to another with no apparent delay. In this screen, you add and subtract notes with the insert and delete keys on the computer; the music synthe will articulate notes as they are inserted.

Cakewalk's note-editing screen looks at an adjustable "slice" of time which can be moved back and forth. Existing notes are highlighted on the screen so your speech synthe will pick them up but your music synthe will not articulate them.

Cakewalk does have a "step-edit" screen where notes can be entered from the synthe's keyboard. The MIDI clock does not run, so neither the length nor the spacing you apply to the notes is recorded. There is a window where you choose two values: the length which the program will assign the note when you play it, and the amount of time the program "steps" when you release the key. Unless you keep changing the values in the window, all the notes you play will have the same length and spacing. This is a handy tool for developing accompaniment patterns or for yet another Variation on Themes of Philip Glass.

SOURCES AND RESOURCES

by Jay Williams

I had the good fortune to be at a large university when it became feasible and fashionable to establish an electronic music studio. I'm eternally grateful to the faculty and fellow students at the time who were such helpful good friends. One of my best sources of that era, Mike Babcock, still helps me wade through the information web and insures that my information is accurate. Ira Stein, a performer/composer for Wyndham Hill and Narada Records, has read many manuals and has let me experiment with much more equipment than I could afford to buy. At Smith-Kettlewell, Al Alden and Manfred Mackeben have also read manuals and articles for me.

Most of the technical information in this article is culled from "Music through MIDI," by Michael Boom, and MIDI for Musicians by Craig Anderton. Finally, thank you, Bill Gerrey and the Fowles, Tom and Susan, for their friendship, technical advice, and especially, for their wonderful reactions to my music.

Books

  • "Electronic Projects for Musicians," Revised Edition, 1980, by Craig Anderton, published by Guitar Solo Publications, 1411 Clement Street, San Francisco, CA 94118, tel. (415) 386-0395. (Explores the technical aspects of audio effects devices and contains build-it-yourself projects.)
  • "MIDI for Musicians," by Craig Anderton, 1986, published by Amsco Publications; Orders: Music Sales Distribution Center, P.O. Box 572, Chester, NY 10918; 800-431-7187.
  • "Music through MIDI," by Michael Boom, published by Microsoft Press, 1987 (available from Computerized Books for the Blind and Recordings for the Blind).
  • "Foundations of Computer Music," edited by Curtis Roads and John Strawn, 1985, published by MIT Press, 55 Hayward Street, Cambridge MA 02142; 800-356-0343 (a collection of 36 articles on that subject).
  • "Musical Applications of Microprocessors," by Hal Chamberlin, published by Hayden Books, 1983; Orders: Macmillan Computer Publishing, 8219 Northwest Blvd., Suite 400, Indianapolis IN 46278, 800-257-5755 (has technical information on digital sound synthesis).
  • "Studio Recording for Musicians," by Fred Miller, 1981, published by Amsco Publications, Orders: Music Sales Distribution Center, P.O. Box 572, Chester, NY 10918; 800-431-7187.

Magazines

  • "Electronic Musician," published by Act III Publications, Ltd., 6400 Hollis Street, Suite 12, Emeryville, CA 94608, 800-233-9604 (they answer as "Mixed Bookshelf"); or order directly from their Nashville headquarters: 800-888-5139.
  • "Keyboard," published by Hal Leonard Publishing Corp., P.O. Box 13819, Milwaukee, WI 54213, 800-637-2852 (oriented to the keyboard player, it covers acoustical and electronic keyboards).

Associations and Their Addresses

  • The International MIDI Association, 11857 Hartsook Street, North Hollywood, Ca. 91607; phone: (818) 505-8964
  • MIDI Manufacturers' Association, c/o J. L. Cooper, 1931 Pontius Avenue, West Los Angeles, Ca. 90025. Caters to "heavyweight" professionals with an appropriately hefty membership fee.

STANDARD MIDI FILE

Here is a short arrangement of an old Harry Belafonte number called "Coconut Woman." Since this file is not intended for a specific synthe, you may have to fuss with the transposition of some of the tracks. Also, the effect of velocity may or may not be of the right proportions for your particular setup. Try it with a boring "piano" stop first; I invented a sort of "steel band" stop which works wonderfully. Have fun.