Classic Computer Magazine Archive START VOL. 1 NO. 4 / SPRING 1987

THE INS, OUTS, AND THRUS OF MIDI

By Tom Jeffries

The ST is rapidly becoming the premier music computer, thanks to its low cost and built-in MIDI ports. Don't quite know what MIDI can do for you? Then let professional musician and programmer Tom Jeffries introduce you to the arcane mysteries of MIDI. He also includes an easy MIDI cable modification for true MIDI thru!

A surprising thing happened in 1982. Several of the leading manufacturers of electronic musical instruments, normally fierce competitors, decided to sit down together and develop a means whereby their instruments could communicate with each other. They wanted to set things up so that a synthesizer from company A could drive a drum machine from company B or even a synthesizer from company C.

Why? Well, for several reasons. It was, and is, very useful to have more than one synth playing the same part. You can often get considerably more interesting sounds using two different instruments than you could with any one instrument, a fact well known to classical composers. However, it's difficult for a single player to play several instruments at the same rime, and rock bands generally don't carry more than one keyboard player.

Hardware devices called sequencers (actually dedicated computers; see later in this article for a discussion of software sequencers) were coming into use. The problem was that a sequencer put out by one company would not work with a synth or drum machine put our by another company. Sound familiar?

Synchronization was also an issue. Drum machines were becoming popular, and many people wanted an easy way to synchronize their keyboards to their drum machines and vice-versa.

So, in a move that should be an example to the computer industry, these brave souls carved out a hardware and software standard that defines exactly how electronic musical instruments should communicate. They named their invention Musical Instrument Digital Interface, or MIDI.

Communication between musical instruments and personal computers was not the primary concern of the MIDI developers, but since in reality almost all digital synths, drum machines, and sequencers are dedicated computers, it was natural that rhe MIDI standard turned out to work so well with computers.

FIGURE 1

HOW MIDI WORKS

Let's take a look at how MIDI actually works. Suppose you have a MIDI-equipped synth and have attached a MIDI cable from the MIDI-out port of your synth to the MIDI-in port of your ST (see Figure 1). Every rime you press down a key on your synth it will send a message over the MIDI cable to the ST telling it a key was pressed down ("note on event" in MIDI jargon), which key it was, and how hard you pressed the key. (The latter is particularly useful with "velocity sensitive" keyboards, such as the Yamaha DX-7.)

A different signal is sent when you release that key. This signal will be a "note off event" (logical enough), and will also specify which key was involved and, on some synthesizers, will tell how quickly the key was released.

You can see that if your computer is keeping track of these signals, and the amount of time between them, it now has a record of which notes you have played and how long they were. The software doing this is called a sequencer; I'll discuss it in some detail in the section on software.

Now, if you have a MIDI cable running from the MIDI-out port of your ST to the MIDI-in port of your synth, and the proper software, your computer can make your synth play back the notes you played on the synth in the first place. All the software has to do is send those same "note on" and "note off" signals it saved, making sure it waits the appropriate amounts of time between notes.

Since MIDI sequencers function, in many ways, like tape recorders, there are some persistent misconceptions. MIDI sequencers do not "record" music like a tape recorder. They record a series, or sequence, of events: Note on events, note off events, pitch-bend events, and so on, that are produced by an electronic musical instrument equipped with the appropriate MIDI hardware and internal software. A MIDI sequencer cannot record your voice, at least unless you can find a way to equip your vocal chords with a MIDI-out port.

The wonders of MIDI come from the fact that the list of events you store in your computer can be treated as data and manipulated in many ways, just as a word processor allows you to manipulate your words much more easily than you can on a typewriter.

The MIDI standard provides for 16 channels of communication. This means your ST could send a different set of notes (in the form of note on and note off events) to sixteen different synthesizers, or even to sixteen different sets of synths, with all of the synths in each group set to the same channel. In reality, such a system is rare, mostly because of the expense, and MIDI does run into some trouble when it is pushed that hard, but the capability is there.

NON-PROFESSIONAL USES OF MIDI

MIDI was designed for professional electronic musicians, and has become extraordinarily popular with them. MIDI is such a useful tool, however, that it was only a matter of rime before it came into general use. With synthesizers dropping in price to the point that you can buy a very useful instrument for $300 or so, a lot of people who do not make their living by music are buying instruments and MIDI software.

An example of non-professional MIDI software is Activision's popular Music Studio. With the mouse, you enter a series of notes on a staff and can play them back either through the ST's sound chip or through any MIDI-equipped synth. The program is too limited for professional use but is highly entertaining and educational. However, it has quite a strong following from music hobbyists, resulting in hundreds of song files available from user's groups and bulletin board systems such as Compuserve and Genie. It doesn't really fit into any category-it's not a sequencer since it doesn't record notes in real-time from the synth, but it's fun!

Another clever use of MIDI comes from QRS, the people who sell mechanical piano rolls. They have converted many of their piano rolls to MIDI data and sell a program called MIDI Magic that plays them back while displaying a moving piano roll on the screen. I'm biased about this program, since I wrote the Atari ST version, but I enjoy listening to George Gershwin playing my Casio CZ-l01 while I watch his piano technique on my computer screen.

There is a huge potential for MIDI as an educational tool, but it's still largely undeveloped. (Are you listening, software companies?) MIDI also takes away some of the need for years of intensive training in the physical act of playing, considered "paying your dues" by performing musicians. The transition from amateur to professional may well become easier because of MIDI. The jury is still out on whether or not this is a good thing, but technology evolves whether we like it or not, and music is no exception.

MIDI SOFTWARE

The most important kind of MIDI software is the sequencer. In its simplest form, a sequencer stores the sequence of events (or notes) coming in over MIDI so they can be played back either through the same synth or through any other MIDI equipped synthesizer.

Note that last bit. Once you've stored the sequence, you can play it back over any instrument or instruments you want, as long as the receiving instrument is properly equipped. This means you can prepare a piece of music at home on a relatively inexpensive keyboard, then go into the recording studio with the best equipment you can rent or borrow for the actual session.

Even more significant is the manipulation you can do on the music once it's stored. The best sequencers allow you to edit each note of your music much like a document in a word processor. Missed a note? Take it out and put in the right one!

In addition, with a good sequencer, you can transpose the notes, "quantize" them (take out certain kinds of rhythmic imperfections), add dynamic changes (changes in the loudness), set up repeating patterns, and overdub. You could also record one line, or track, at a time. Many sequencers actually allow you to exceed your synth's capabilities several times over.

Although sequencers were developed for professional musicians, they can be just as useful to amateurs. A good professional sequencer, however, can cost several hundred dollars. Several companies are selling "consumer" sequencers for under $100; but as with all software purchases, make sure what you're getting. Some of the inexpensive packages offer little or no editing. Those of us who are not expert keyboard players need more editing facilities than, say, Jan Hammer or Stevie Wonder. Unless your fingers never miss when they tickle the ivories, look for a sequencer that allows you to edit individual notes. (Editor's note: The first issue of START included a simple sequencer written by none other than Mr. Jeffiies.)

There are some other, very useful, kinds of MIDI software, such as patch editors and librarians. The sounds produced by a synthesizer are determined by the "patch" the synth is set to (the term is a holdover from the 1960's when synthesizers consisted of modules connected with patch wires; you set the sound by plugging and unplugging wires). Most synths will hold only a limited number of patches, and patch storage with plug-in cartridges gets expensive very quickly when the cartridges for some leading synths cost $75 or so apiece.

Floppy disks, however, are pretty cheap, and it didn't take long for people to start writing programs to get the patches from the synth and store them on disk. Programs that do this are called patch librarians.

Originally, patch librarians just worked with a single kind of synthesizer, so, if you had 4 different synths you had to buy 4 different patch librarians. That got old quickly, especially since the synthesizer manufacturers kept coming out with new machines. So, somebody got the bright idea of writing universal patch librarians that could handle patch information from a variety of synths. This gets difficult also, since every synth has a different way of storing its patch data and the software companies have to keep updating their software to match new instruments, but from the user's point of view it's a vast improvement.

Patch editors are often confused with patch librarians, but, although there is some overlap they really serve quite different functions. Most synths are very complex machines, and the process of setting up a really interesting sound on them can be extremely difficult and time consuming, since they only provide buttons (and maybe a slider or two) for input and a tiny LED display to let you know what's going on.

A computer, with its full screen display, keyboard, and, in the case of the ST, a mouse, is a much better environment for editing the sounds or patches to be used by the synth. A program allowing you to edit patches is called, reasonably enough, a patch editor. Some patch editors even employ artificial intelligence principles, facilitating the creation of new sounds.

Patch editors normally include patch librarian functions. They only function with a single synthesizer, however because the inner workings of each synth are so different it is not really possible to build an editor that will deal with all of them. Some companies are working on patch editors that can be co-resident in memory and work in conjunction with a sequencer, letting you have your cake and eat it too. This is only possible with computers like the ST, providing large amounts of memory at reasonable prices.


MIDI
also takes away
some of the need
for years of
intensive training
in the physical act
of playing.


There are several other types of MIDI software. There are filters that change the data coming from one synthesizer on its way to another. There are composition programs that generate pieces of a composition according to rules you set out. There are score printing programs that, while not MIDI-based, can read a file from a MIDI sequencer and turn it into printed music.

I suspect we've only seen the tip of the iceberg so far MIDI has so much to offer; over the next few years I expect to see software which will allow us to do things we simply couldn't have done
without it.

MIDI AND THE ST

The MIDI interface was designed to be inexpensive and easy to implement; still, it was a pleasant surprise when Atari announced they were going to include it in the ST. With other computers you had to spend between $50 and $450 to add a MIDI interface.

Atari did a reasonably good job of it, too. They provide the standard 5-pin DIN connectors for MIDI-in and MIDI-out, attached to the internal circuitry of your ST through devices called optoisolators which prevent certain kinds of noise which occurrs because of connections between your computer and your synth.

MIDI CABLES

Unfortunately, Atari decided to get fancy and included a feature called MIDI-thru without spending the money to add another 5-pin DIN plug for it. A MIDI-thru port simply copies exactly what is coming in the MIDI-in port, and sends it through unaltered. So, if you are playing on a MIDI controller keyboard that doesn't produce any sound you can hook up a synth which will produce a sound to the MIDI-thru and hear what you are playing into the sequencer.

According to the MIDI standard, only three of the five pins of the MIDI-out port should be used. Atari connected the two signal lines (the third line is used for shield/ground) from the MIDI-in port to the two unused lines on the MIDI out port. The idea was to provide MIDI-thru, although such a nonstandard implementation should have been called something else to avoid confusion in the first place.

Atari's version of MIDI-thru isn't much use without some kind of adaptor that will split the signal into a proper MIDI-out and MIDI-thru, so I have provided directions to build this extremely simple adaptor. Limited usefulness, however is not the biggest problem with the "MIDI-thru" on your ST.

Not long ago I wrote a commercially-available patch editor for the Casio CZ101, 1000, 3000, and 5000. It was quite popular, but customers called us, saying it caused their synthesizers to lock up or exhibit other bizarre behavior. Long discussions with Casio, many experiments, and considerable hair-tearing were to no avail. The worst thing was that we could not recreate the problems on our equipment.

Finally, one of the customers having this difficulty took a look at the cable he was using. Much to his (and our) surprise, it had the two pins which should be unused wired to the two signal pins. Since the unused pins on the Atari MIDI-out were sending a copy of the MIDI-in signal, the handshaking required to exchange patches with the synths was impossible. In fact, the effect was so confusing to the CZ it locked up.

Both Atari and the company making the cables had deviated from the standard, although with non-malevolent intentions. Both, however assumed that no one else would deviate from the standard. Unfortunately, they were incorrect in that assumption.

There are two solutions to this problem. One is to cut the wires connected to pins 1 and 3 (the two outermost pins) on the cable you connect to the MIDI-out port on your ST. The second is to run down to your local electronic parts house, pick up a few inexpensive parts, and put together an adaptor that will upgrade your ST to the proper MIDI standard.

FIGURE 2

THE ADAPTOR

MIDI-thru provides a way to play one synth from another without disconnecting your ST. Let's say you have a synth with a keyboard and also one without-maybe one of the popular Yamaha TX7 modules, or the new FB01. You've laid down some hot rhythm section parts using your favorite sequencer software and your keyboard connected, via MIDI cables, to your ST.


MIDI
sequencers do not
"record" music like
a tape recorder.
They record a
series, or sequence,
of events.


You want to try out some lead lines, but you think they'll sound better on your synth with no keyboard. With MIDI-thru, all you have to do is connect a MIDI cable from the MIDI-thru port on your ST to your keyboard-less synth, set the sequencer to playback, and play your lead lines on your CZ. The signal will go straight from the keyboard to the keyboard-less synth while your rhythm parts are being played back on your keyboard.

Of course you can accomplish the same things with the right combinations of cables and splitter boxes, but MIDI-thru is a convenient and inexpensive way to handle quite a number of situations. With this adaptor, you can add something new to your MIDI bag of tricks.

This is a very simple project, but if you have no experience with hardware you will need more instructions than I have space to provide here. There are a number of books and magazines covering the basics of putting together circuits; if you want one of these adaptors and don't want to go to the trouble to make it yourself, I'm sure you can find a TV, stereo, or musical instrument service center to make it for you at a reasonable cost.

You'll need very few parts to make this adaptor: one male 5-pin DIN connector, two female 5-pin DIN connectors, and some short connecting wires. It would probably be best if you used shielded cable for connections, but I used plain wire and haven't had any trouble. The secret is to keep the wires short to minimize the possibility of interference. If you can find them, get DIN connectors with solder lugs and your work will be easier.

You should find a little number near the solder connection for each pin on your sockets. That number is the pin number and corresponds to the numbers you will see in Figure 2. Make sure you connect the correct wire to the correct pin and there are no solder connections or pieces of wire between the pins.

You need to solder six wires to the 5-pin male DIN connector-the middle pin (#2) needs two wires. If you are going to be fancy and use shielded cable, the shields for the two cable sections should both be attached to this pin in place of two wires.

After that it's just a matter of soldering the correct wire to the correct pin on the female 5-pin DIN sockets. Pin 2 (ground) on the male socket has to be connected to pin 2 on both of the female sockets, either through a short length of wire or through the shield on your shielded cable if you are using shielded cable. Pins 1 and 3 of the male socket have to be connected to pins 4 and 5 of one of the female sockets (this will be your MIDI-thru port), and pins 4 and 5 from the male socket have to be connected to pins 4 and 5 of the other female socket (for normal MIDI-out operation).

Make sure you get all the wires connected correctly, and make sure no wires can short out against each other at the 5-pin DIN connectors. I tend to use pieces of electrical tape for extra insulation if it looks as if anything might ever be a problem: Think about what a few years of abuse might do to loosen things up.

Now, put the sockets themselves back together, and plug the male socket into the MIDI out port on your ST. The female socket connected to pins 1 and 3 of the male socket should now function as a proper MIDI-thru port, and the female socket wired to pins 4 and 5 of the male socket is now a correct MIDI-out port. Be sure to label the two female sockets so you know which is which without tearing the whole thing apart!

With the addition of a MIDI-thru adaptor, the ST's MIDI hardware is complete. A built-in external clock synch would be nice, but we can't have everything, and that's not actually a part of the MIDI specification.

WRITING MIDI SOFTWARE ON THE ST

The ST is equally well-equipped in the area of built-in software. TOS provides some functions that work very well for sending and receiving MIDI data between the ST and another MIDI-equipped instrument. Usually a programmer has to write some very knotty and time-critical code to a device called a UART to send or receive MIDI; Atari has taken care of that work for us.

Since C is the language of choice for most ST programmers (and the editors will probably be annoyed if this article gets much longer), I'm only going to provide information on accessing the MIDI ports from C. If you are programming in assembly, you'll have to disassemble the bindings from a C library (something you're probably quite used to by now); if you are programming in another language, you will have to check your documentation for access to MIDI.

To send some information from your MIDI-out port, set up an array or string of bytes with the information like this:

static char midiinfo[] = {fill in your MIDI data here};
    /*80 byte maximum for each call to Midiws*/

Count the number of bytes you plan to send, and then send it like this:

    Midiws(count-1 ,midiinfo);
 

To get a byte of information from the MIDI port, use the BIOS functions Bconstat() and Bconin() like this:

unsigned char midibyte;
if(Bconstat(3) == -1/*3
tells the BIOS you are
looking for MIDI*/
midibyte = (unsigned
char)Bconin(3);
Note that some C compilers will do some very strange things with chars over 127 when you try to do comparisons and arithmetic with them. Many C compilers do not seem comfortable with the notion of an unsigned 8-bit number and will try to sign extend it when converting it to an int for arithmetic-thus making your 128 into a -128!

These examples are oversimplified and wouldn't be especially useful as they stand. However, those of you who have had the "pleasure" of writing MIDI software for other micros will appreciate how easy Atari has made these things on the ST.

The built-in MIDI handlers aren't perfect, and it is very common for music software companies to rewrite them for professional MIDI sequencers. For most purposes, though, they will be perfectly adequate.
 
 
NOTE
Octive
MIDI #
 
NOTE
Octive
MIDI #
 
NOTE
Octive
MIDI #
c
0
0
 
g#
3
44
 
e
7
88
c#
0
1
 
a
3
45
 
f
7
89
d
0
2
 
a#
3
46
 
f#
7
90
d#
0
3
 
b
3
47
 
g
7
91
e
0
4
 
c
4
48
 
g#
7
92
f
0
5
 
c#
4
49
 
a
7
93
f#
0
6
 
d
4
50
 
a#
7
94
g
0
7
 
d#
4
51
 
b
7
95
g#
0
8
 
e
4
52
 
c
8
96
a
0
9
 
f
4
53
 
c#
8
97
a#
0
10
 
f#
4
54
 
d
8
98
b
0
11
 
g
4
55
 
d#
8
99
c
1
12
 
g#
4
56
 
e
8
100
c#
1
13
 
a
4
57
 
f
8
101
d
1
14
 
a#
4
58
 
f#
8
102
d#
1
15
 
b
4
59
 
g
8
103
e
1
16
 
*c
5
60
 
g#
8
104
f
1
17
 
c#
5
61
 
a
8
105
f#
1
18
 
d
5
62
 
a#
8
106
g
1
19
 
d#
5
63
 
b
8
107
g#
1
20
 
e
5
64
 
c
9
108
a
1
21
 
f
5
65
 
c#
9
109
a#
1
22
 
f#
5
66
 
d
9
110
b
1
23
 
g
5
67
 
d#
9
111
c
2
24
 
g#
5
68
 
e
9
112
c#
2
25
 
a
5
69
 
f
9
113
d
2
26
 
a#
5
70
 
f#
9
114
d#
2
27
 
b
5
71
 
g
9
115
e
2
28
 
c
6
72
 
g#
9
116
f
2
29
 
c#
6
73
 
a
9
117
f#
2
30
 
d
6
74
 
a#
9
118
g
2
31
 
d#
6
75
 
b
9
119
g#
2
32
 
e
6
76
 
c
10
120
a
2
33
 
f
6
77
 
c#
10
121
a#
2
34
 
f#
6
78
 
d
10
122
b
2
35
 
g
6
79
 
d#
10
123
c
3
36
 
g#
6
80
 
e
10
124
c#
3
37
 
a
6
81
 
f
10
125
d
3
38
 
a#
6
82
 
f#
10
126
d#
3
39
 
b
6
83
 
g
10
127
e
3
40
 
c
7
84
 
 
 
 
f
3
41
 
c#
7
85
  Highest allowable MIDI note number.
f#
3
42
 
d
7
86
       
g
3
43
 
d#
7
87
  *middle "C" on the piano.
TABLE 1

MIDI CONTROL AND DATA FORMATS

Now that you know how to send MIDI data. you might want to know just what to send to get your synthesizer to play your favorite tune.

MIDI information is sent as a stream of 8-bit bytes. Two basic types are recognized: control bytes and data bytes. Control bytes include note-on events, note-off events, and several other kinds (see the accompanying chart, adapted from MIDI 1.0 Detailed Specification). Data bytes normally follow control bytes and give the receiver information, such as which note is supposed to be turned on and how loud it should be.

MIDI distinguishes between control and data bytes by setting the high bit of control bytes and clearing it on data bytes. In English, that means that data bytes are always less than 128, control bytes are always 128 or greater.

Take a look at the table of note values (Table 1). You can see each of the 127 different notes allowed by MIDI has a unique number, with middle 'C" in the middle at 60. If you want to tell your synth to turn on a middle "C' then you would have to send it the note-on event control byte, which is 144 (if you are sending on channel 1, more about that next), then a 60, then a number between 0 and 127 that tells your synth how loud you want the note.

MIDI allows for 16 different data channels and four different modes for relating to those channels. The modes allow for a lot of flexibility, but in the interest of saving space I'll leave their details as an exercise for you readers.

Channels are a little simpler Basically, a sequencer can use the 16 channels to send 16 different sets of information to 16 different synths or groups of synths, while each group ignores the info sent to the other groups. Since music rarely needs more than 16 completely different parts going at the same time (remember that each of the 16 parts can include multiple voices up to the limits of the synths involved), you can get a heck of a noise going if you use everything MIDI has to offer.


Once you've
stored the sequence,
you can play it
back over any
instruments
you want.


In practical terms 16 independent sets of voices will stretch the limits of the MIDI data transmission rate (31,250 baud), not to mention the ears of the listeners. It is very common to use several channels simultaneously, however.

MIDI uses the low four bits of the control bytes to determine the channel to use for data transfer. This means if you want to tell the instruments set to channel 3 to turn on middle "C" you have to add 2 to the note-on event byte, making it 146 instead of 144. Note that MIDI counts from zero to fifteen instead of from one to sixteen, so you always have to add one less than the number of the channel you want to specify.

If you go back to the table of control bytes you will notice each type of control byte is assigned a number that is a multiple of 16. This means you can add anything up to 15 before getting to the next type of control byte. A note-on event can range from 144 for a note-on, channel 1, to 159 for a note-on, channel 16.

There are several types of control bytes (the official MIDI spec calls them "status" bytes). You can change the mode, send messages that will be ignored by any but a specified synthesizer, send time pulses, and several other things.

Confused? Good, join everyone else who has dealt with MIDI. The point is, at least some things are very simple to do, and the others will become easier as you absorb more information. The MlDl specification is a powerful tool and, while it has limitations, accomplishes a great deal. The more I work with MIDI the more respect 1 have for its originators.

If you want to do anything serious with MIDl, you will want more information. The best source, the horse's mouth so to speak, is the MIDI 1.0 specification. There is a 60-page booklet that includes the original spec and quite a bit of explanatory material called the MIDI 1.0 Detailed Specification. This should be on the bookshelf of anyone trying to write MIDI software or even trying to understand the topic.

The price is $35, which is outrageous for a 60-page booklet, but I assume that part of the price goes to pay for the phone line and staff that are maintained by the International MIDI Association. To get a copy, write the International MIDI Association, 11857 Hartsook St., North Hollywood, CA 91607 (818) 505-8964.
 
 
Number Code* DESCRIPTION Data byte 1 Data byte 2
$80 (128decimal) Note-off event note number (see Table 1 for note numbers.) velocity
$90 (144 decimal) Note-on event note number velocity (Velocity usually determines the loudness if your synth responds to different velocities.)
$A0 (160 decimal) Polyphonic key pressure note number preasure
$B0 (176 decimal) Control Change control number control value
$C0 (192 decimal) Program Change program number (you can use this to change the patch your synth is playing on the fly-the program number is the patch number as your synth counts patches.) none
$D0 (208 decimal) Channel Pressure pressure value none
$E0 (224 decimal) Pitch Bend event value LSB value MSB
    (only low seven bits from each byte are used, zero pitch bend is sent as 0, 64.)
$F0 (240 decimal) System Message (number of data bytes varies, this is used for a variety of things including the system exclusive mode that your patch librarian uses to get patch information from your synth.)
*channel number is added to the number code, see text for details.
Note that all data bytes use only the low seven bits.
TABLE 2 MIDI Control Bytes Status Bytes

Several magazines offer strong coverage of MIDI. The most important is Keyboard Magazine, which publishes columns about MIDI constantly, often by the people who wrote the specification in the first place. Two other magazines to look for are Keyboards, Computers, and Software and Electronic Musician. There is also a BBS called PAN, which specializes in the arts. Their number is 800-336-0437.

If you can find a copy, I wrote a simple sequencer for the first issue of START (Summer 1986), illustrating the use of the MIDI ports. Also, I wrote an article appearing in the March, 1986 issue of Antic Magazine which discusses MIDI control and data bytes.

CONCLUSIONS

MIDI has become an indispensable tool for many performing musicians; for amateur musicians, MIDI can be both valuable and enjoyable. It offers the ability to do more with less, and that's one of the things we all hope to get from new microcomputing technology.

This article, long as it is, could only begin to talk about all of the ramifications of the MIDI standard. I hope your interest will be sparked and you will continue to investigate MIDI, since I think it will enhance your musical experience whether you are an amateur, a professional musician or a programmer.
 

A SAMPLING OF MIDI SOFTWARE

Compiled by Heidi Brumbaugh Editorial Assistant

Activision
2350 Bayshore Parkway
Mountain View, CA 94039
(415) 960-0410
The Music Studio ($59.95), designed by Audio Light, will let you create, edit and playback music from 15 different instruments.
CIRCLE 175 ON READER SERVICE CARD

Audio Light
146 Town Terrace
Los Gatos, CA 95030
(415) 344-4610
Compatible with their earlier Music mStudio (see Activision, above), Audio Light plans to release the more powerful MIDI Studio in the first quarter of 1987 for under $100.
CIRCLE 176 ON READER SERVICE CARD

Beam Team
6100 Adeline St.
Oakland, CA 94608
(415) 658-3208
This company's series of products includes a sequencer, Transform Xtrack ($149.95), an editor/librarian, Transform Xsyn ($99.95) and a GEM-based mouse editor, Transform Xnotes ($199.95).
CIRCLE 177 ON READER SERVICE CARD

Dr. T's Music Software
66 Louise Rd.
Chestnut Hill, MA 02167
(617) 244-6954
Dr. T's large base of MIDI software includes their Keyboard Controlled Sequencer ($195), the MIDI Recording Studio ($39), and the CZ Patch Librarian ($99).
CIRCLE 178 ON READER SERVICE CARD

Electronic Music Publishing House
2210 Wilshire Blvd., Suite 488
Santa Monica, CA 90403
(213) 455-2025
As well as MIDIPLAY for Atari ST ($49.95), this company is releasing MIDI Editor ($89.95). They also have a collection of Musidisks ranging from Bach to the Beatles, as well as a selection of Disney songs, for $19.95 each.
CIRCLE 179 ON READER SERVICE CARD

Hybrid Arts
11920 W. Olympic Blvd.
Los Angeles, CA 90064
(213) 826-3777
Hybrid Arts has a collection of both hardware and software products for the electronic musician of any level. Hardware selection includes ADAP ($1995), an input/output signal processor They have a patch editor for the Casio CZ series, CZ-Android ($99.95) and DX-Android ST ($199.95) for the Yamaha DX series. The December 1986 issue of Antic calls EZ-Track ST ($65.00) "an excellent, simple program:" This is a good package to start out with; after you grow more comfortable with MIDI you can upgrade to Sync-Track for $375 or SMPTE-Track for $575. Hybrid Arts also sells MIDI cables ($4.95).
CIRCLE 180 ON READER SERVICE CARD

XLEnt
P.O. Box 5228
Springfield, VA 22150
(703) 644-8881
Len Dorfman and Dennis Young designed ST Music Box ($49.95) for the beginner
CIRCLE 186 ON READER SERVICE CARD

Key Clique
3960 Laurel Canyon Blvd.,
Suite 374
Studio City, CA 91604
(818) 905-9136 technical support
(801) 566-1683 orders
Key Clique's SYS/EX ($150) is a user-upgradeable patch librarian.
CIRCLE 181 ON READER SERVICE CARD

Micro W Distributing
1342B Route 23
Butler, NJ 07405
(201) 838-9027
Remember the old piano player rolls? This enterprising company has taken some of the music from that genre and put it on disks of six songs each, available for $19.95. You can play the music using either their MIDI Magic ($39.95) or START's own "A MIDI Sequencer" by Tom Jeffries (issue 1).
CIRCLE 182 ON READER SERVICE CARD
 

MIDISoft
P.O. Box 1000
Bellevue, WA 98009
(206) 827-0750
MIDISoft Studio ($99), formerly known as Metatrack, might be what you're looking for if you want a low-priced, full-featured sequencer.
CIRCLE 183 ON READER SERVICE CARD

Steinberg Research
distributed by:
Russ Jones Marketing Group
17700 Raymer St. Suite 1001
North ridge, CA 9132
(818) 993-4091
Steinberg Research, a German software company, designs Pro 24 ($295) and Pro Creator ($240), two professional-level sequencers marketed in the U.S.
CIRCLE 184 ON READER SERVICE CARD

An in-depth look at ST MIDI software, both consumer and professional, will appear in an upcoming issue of START.