MIDI and the Macintosh

MIDI and the Macintosh

MIDI and the Macintosh
======================

This article originally appeared in three parts in the electronic
newsletter TidBITS, in issues #176/10-May-93, #177/17-May-93, and #178/31-
May-93. The authors have made small changes, corrections, and
clarifications since the original publication. The information appears here
with permission of TidBITS and the three contributors; thanks are due to
them for an excellent and useful article.

TidBITS is a free weekly electronic newsletter that focuses on the
Macintosh and electronic communications. For more information and
instructions on how to subscribe to our mailing list, please send Internet
email to: info@tidbits.com

cheers ... Adam C. Engst, TidBITS Editor -- Sep-93

MIDI and the Macintosh
----------------------
                   by Shekhar Govind -- govind@utxvm.cc.utexas.edu
                   Technical editing by:
                   Craig O'Donnell -- dadadata@world.std.com
                   and Nick Rothwell -- cassiel@cassiel.demon.co.uk

This Mac-MIDI musical offering is organized in three movements, an
introduction and discussion of MIDI, a look at Macintosh MIDI software, and
finally, some information on MIDI hardware.

1. Introduction to MIDI
    The Antecedents
    The Effects
    How MIDI Works
    MIDI Commands
    A Salute to General MIDI
    Further Readings
2. MIDI Software for the Macintosh
    Applications Software
    Additional System Software
    Gooey Crimes
3. MIDI Hardware
    Interface
    Macs
    Controllers
    Samplers and Synthesizers
    Coda

MIDI and the Macintosh - Part I
-------------------------------

Introduction to MIDI

Picture yourself as a musician, composing and arranging each part for a
musical performance: a string quartet, jazz combo, a rock band, a marching
band, a small orchestra; playing each part to get it just right; printing
the sheet music;, and saving a flawless performance. Did we mention you
could do all this by yourself on your Mac? You are the publisher, the
composer, the band, the conductor, and the sound engineer - all rolled into
one. As Zonker Harris would say "Imagine!" If you'd rather live the
scenario than imagine it, step into the world of MIDI where you can spend
as little as $600 or so for software, an interface, and a used synthesizer,
or as much as $50,000 for a complete MIDI-based production studio complete
with digital hard disk recording which surpasses the sound quality of an
audio CD.

MIDI stands for Musical Instrument Digital Interface. The MIDI
specification  enables synthesizers, sequencer hardware, personal
computers, drum machines, lights, and hard disk recorders, etc. to
interconnect through a standard data protocol via an inexpensive serial
hardware interface. Even though the operating system within each device may
be different, MIDI gives musicians "plug and play" synthesizer-computer
communication as easily as LocalTalk lets Mac owners connect a few Macs and
a laser printer. With a MIDI interface (typically attached to the serial
port) any MIDI-savvy musical instrument can connect to a Mac. With so-
called "sequencing" software running on the Mac, a musical piece played on
the instrument is faithfully "recorded" to a disk file for editing and
playback. (As explained later, the sequencer does not record the audio
sound; it records performance information only, much like a computer
punched-paper-tape reader recorded not sentences that were typed, but which
keys were pressed in sequential order; or think of a player piano, where
the piano roll doesn't contain the sound, it contains information about
what keys should sound together and for how long.)


The Antecedents

It is important to remember that MIDI was created to simplify live
performances. During the 1981 fall convention of the Audio Engineering
Society, Dave Smith and Chet Wood, two engineers from synthesizer
manufacturer Sequential Circuits (creators of the popular Prophet-5
keyboard) proposed an industry standard for an electronic musical
instrument interface. The idea was that performers should not have to
create custom cables and devices to connect synthesizers. Instead, they
should be able to "plug and play" with units from different manufacturers.
(This was not the case before, when Moog synthesizers could not talk to ARP
2600s and neither would talk to Buchla Music Boxes.) Dubbed the Universal
Synthesizer Interface (USI), this draft proposal was modified by the
techies of synthesizer manufacturers Oberheim, Roland, Korg, Yamaha, and
others of their ilk. A consensus was orchestrated on the revised proposal
and in late 1982 (drum-rolls please) the first set of universal MIDI
specifications was adopted.


The Effect

MIDI turned into an unanticipated success, rocketing sales in the
synthesizer category to the top of the musical instrument industry within a
few years. New companies like Opcode and Digidesign appeared overnight in
what had previously been a sedate and technophobic industry. In the early
1970s the best-selling synthesizer keyboard (the MiniMoog) sold only about
12,000 units, and in the late 1970s the best seller (the Korg Poly6) sold
some 100,000 units; the best seller during the dawn of the MIDI age, the
Yamaha DX7, combined new sounds and MIDI to sell at least triple the
previous record (exact numbers are hard to find).


How MIDI Works

MIDI translates a predefined set of performance events at one instrument,
called the master controller, into digital messages that are sent to other
devices over a low-speed serial link operating at 31.25 kbps - about twice
the speed of a v.32bis modem. To make it easy to keep musical information
going where it should, these events are encoded on any of 16 independent
logical channels within the MIDI data stream. A synthesizer receiving this
incoming data stream responds by playing music.

Imagine playing a series of half-note C major chords on Middle C on a DX7
synth wired to one or more other synths. In this case, the DX7 sends three
"note on" messages, three note numbers, and three "note off" messages each
time you sound the chord - the receiving MIDI device plays a matching chord
in perfect synchronization with the DX7. But (and this is a big but )
depending on its settings, the receiving instrument may use a different
instrument sound, or "patch" (a patch being a particular synth voice -
grand piano, hot guitar, sax, viola, what have you.) The chord is the same,
but the generated sounds within each synth may differ. In other words, MIDI
keeps track of the performance events, and not the audio sounds. (An
apparent contradiction to this rule comes with MIDI drum kit and percussion
sounds - certain MIDI note numbers are usually associated with certain keys
on the keyboard since playing a "cowbell chord" or "tom-tom chord" usually
makes no musical sense.)

A MIDI keyboard can also control a number of sound-producing synths without
any computers involved, and without any recording of the MIDI data. As an
example, consider a DX7 wired up to a Roland Sound Canvas which is in turn
wired to an E-Mu Proteus. (Sound Canvas and Proteus are "sound modules" or
electronic musical instruments with a synth's circuitry but without a
keyboard.) The musician plays a series of half-note C4 on the DX7 keyboard
- patched to sound like a piano. Notes, timing, and other performance
information is transmitted to the keyboard-less Sound Canvas and Proteus
sound modules (which could be patched as, say an organ and strings
respectively).

Schematically, it would look like:

(master)
   DX7 -->MIDI cable--> Sound Canvas -->MIDI cable--> Proteus
   plays C4             plays C4                      plays C4
   as piano             as organ                      as strings

The two sound modules play the same note as the DX7; but the actual sounds
generated within each module use a different instrument, or patch. To hear
all three instruments, you need an audio mixer to blend the three pairs of
stereo outputs into one pair of outputs; this "master output" then goes to
a stereo amp and speakers. (Professional MIDI hardware rarely boasts a
built-in speaker.)

Prior to the MIDI spec, people did their data recording and editing with
special hardware. Some of the most sophisticated pre-MIDI systems came from
Sequential and Oberheim and consisted of keyboards, drum machines and a
hardware recorder (called a "sequencer") connected by proprietary data
links and cabling. Around the same time Fairlight and PPG offered
integrated systems controlled by a piano keyboard, keypad, and CRT to
display waveforms.

Here is an example of a simple Mac-based MIDI setup. A MIDI keyboard (we'll
stick with the DX7) interfaces to a Mac serial port with a $60 MIDI
interface and two MIDI cables:

- one from the keyboard's MIDI output to the interface MIDI input
- one from the interface MIDI output to the keyboard's MIDI input

Schematically, MIDI data travels like this:

[DX7 MIDI out]-->>MIDI cable 1-->>[interface MIDI in    ]
[            ]                    [interface serial port]<->|
[DX7 MIDI in ]<<--MIDI cable 2<<--[interface MIDI out   ]   |
                                                            |
[Mac serial port]<->---------<->serial cable<->----------<->|

The MIDI data links are unidirectional to keep everything simple and
inexpensive. The two MIDI data links convert to a bidirectional serial
signal inside the MIDI interface. The interface also locks the serial port
to its own special 31.25 kHz clock.

Consider this. You launch an inexpensive sequencer program like Opcode's
EZVision and tell it to record incoming MIDI data. When you play a note on
the synth, a message is sent to the Mac identifying the key, how hard you
struck it, for what duration you held it down, etc. The software stores
this information in a file. Once all performance information has been
recorded, you can edit individual musical events on the screen in much the
same way you edit text in a word processor. Saved MIDI events are time-
stamped to insure that they happen in the proper order on playback; in
other words, when a piece of MIDI music begins, the sequencer starts
beating out an ever-increasing number of timing pulses and keeps ticking no
matter what. Even if the piece includes a minute of silence in the middle.
Even if the piece, a la John Cage, is simply 4 minutes and 33 seconds of
silence.

To reiterate, a MIDI sequencer file is only performance information, not
the sounds themselves. The universal acceptance of MIDI has made it
possible to use software sequencers instead of the earlier proprietary
hardware sequencers.

The raw MIDI performance data can be edited, looped, reversed, the tempo
can be changed for playback (most sequencer software supports an untold
number of tempo changes), and any part or the entire piece can be
transposed to any key. In short, the data can be processed separately and
in a manner quite different compared to anything in the audio domain. If
the software has a notation editor, the MIDI data can also be displayed on
screen as music notation, and printed as sheet music. Finally, the file may
be output as MIDI commands back to the synth for flawless playback.

The "Switched-on Bach 2000" audio CD showcases what a talented performer
can do with MIDI. Wendy Carlos's 25th anniversary re-recording of Walter
Carlos' hit classic(al) album "Switched-on Bach" was produced on a Mac
IIfx. Wendy Carlos owns a stunning array of advanced synth gear, however,
so remember that the Mac isn't making the sounds; the synths are. By way of
comparison, the original album used multitrack tape and primitive
sequencing hardware.


MIDI Commands

MIDI commands are 8-bit (sandwiched between 1-bit start and stop messages)
binary serial messages with 16 encoded channels. A master controller, one
cable, and a slave device make up the simplest possible MIDI network. Once
a computer is connected to the MIDI network, messages captured by a
sequencing program may be saved as a Standard MIDI file, a cross-platform
standard. This means that MIDI music is, to a great extent, device-
independent. A Standard MIDI file created on a DX7 and a Mac can play back
on a different synth connected to a PC clone.

While most synths respond to the complete set of MIDI messages, some older
and cheaper models don't. The scope of this article does not permit a
detailed explanation of the various MIDI messages.


A Salute to General MIDI

Many late model synths understand "General MIDI," a new subset of MIDI
specifications from the MIDI Manufacturers' Association. In a nutshell,
General MIDI specifies a 128 pitched instruments (sound patches) and 47
percussion instruments which all General MIDI synths must play.

Why the need for General MIDI? Well, to start with, for years and years,
each synth manufacturer invented a proprietary "map" of patches, or voices.
As an example, a Roland synth and a Korg synth would both have at least one
Grand Piano, usually several.

The problem:, the Grand Piano "address" in the synth ROM would be different
for each - or put another way, the two synths would assign different patch
numbers to the Grand Piano sound.

To put it in a Macintosh-type perspective, it would be as if every word
processor developer arbitrarily chose what Command-Q, Command-S, Command-A,
and Command-Z, -X, -C and -V would do. *Something* will happen but you
can't predict what.

Or think of it as WYPIWYG: what you played is what you get.

Furthermore, one synth might have 48 different Grand Piano sounds and
another might have four. An expensive synth might have 256 preset patches
plus hundreds of user memory locations, and a cheap one, 16 presets and 16
user memory slots.

This free-for-all made it impossible to take a fully-orchestrated MIDI file
created on a Korg M1, load it into a computer, and play the music as the
composer intended it to be heard on an  E-Mu Proteus. You'd get music all
right, but instead of violins during the intro, you might hear bassoons. Of
course, the way chords are voiced within an arrangement is a paramount
concern for composers. None wants a lyrical flute passage with sustained
strings in the background to be played by fuzz guitar with cymbal-crash
"chords".

So for the music to sound as originally intended, someone would have to
revoice (or "remap the patches") the arrangement for every new output
device. So we lied to you a little bit. MIDI files aren't strictly device-
independent when it comes to playing the **original** sounds. All they can
say is "use patch 35, velocity 102, for this part". They don't specify
which sound is associated with the patch number. Think of it in this way:
Adobe Type Manager and TrueType both specify which font outline to scale to
what size. But what would a printed page look like if the font information
only consisted of "use a serif font, 36 point"?

To use MIDI in multimedia, and to put MIDI chips on inexpensive sound
cards, there has to be agreement on what musical sound corresponds to which
patch number. Remember, MIDI is tone-deaf and doesn't know a Hammond Organ
from a Tam-Tam. MIDI just broadcasts signals such as: "Yo! Synth on Channel
1! Set Patch 45! Now play these chords!" Unfortunately, with complex
orchestrations, the results can be unintentionally hilarious. A piece of
well-crafted music ends up sounding more like the Portsmouth Sinfonia,
Spike Jones, or Peter Schickele.

General MIDI solves this because it specifies instruments and patch numbers
which synths can share as a least common denominator. Of course, any
manufacturer is free to go beyond General MIDI in a given product, or just
ignore it.

General MIDI also addresses a question that's a shade more esoteric - "What
do I do with the drumkit?" (Musicians who play live would probably phrase
this as "What the h*** do I do with the drummer?") In MIDI, multiple
drumkits could possibly be contained in a single patch with individual
drums and cymbals assigned to different notes on the piano keyboard. For
example, a drum patch on your keyboard might map C2 to bass drum, C#2 to a
rim shot, D2 to a snare drum, D#2 to a china cymbal etc. (Yes, you can play
drums from the keyboard!) Different drumkits could be different patches.
You might have:

Patch #    Drumkit
  45       light jazz kit
  46       rock kit
  47       electronic rock kit
  48       orchestral percussion
and so it goes.

A general-purpose synth needs to listen for drum commands on a given MIDI
channel so that the notes come out as hi-hat and snare instead of as
flugelhorn. We have already discussed that General MIDI specifies a
standard patch number for a particular instrument (including drums). But
which of the 16 possible channels could possibly be broadcasting the drum
events? Well, prior to General MIDI there was no default channel number for
drums that everyone agreed on. Now there is - Channel 10 is reserved for
the patch with drum kits.

In a certain sense, General MIDI is restrictive in that it makes
instruments conform to a limited set of sounds and a minimum polyphonic
capability (polyphony is the ability to play multiple notes simultaneously,
for example, a string quartet would be four-part polyphonic music. A piano
is polyphonic, but the number of voices could be as many as 88 if the
sustain pedal is on and every key is struck somehow). This standard is not
necessarily the future of MIDI and synthesis; it is merely a robust lowest
common denominator for people who want to orchestrate music using a
predefined sonic palette. General MIDI music can be saved as MIDI files and
will continue to sound similar on different General MIDI savvy synths (for
example, for multimedia applications) without requiring patch remapping.


The MIDI Specification
-------------------------

The MIDI specification can be purchased from International MIDI Association
(which is just that - a worldwide MIDI user group):

International MIDI Association
5316 West 57th Street
Los Angeles, CA 90056
(310) 649-6434.

Other technical information about MIDI is available on the Internet via FTP
from, among other places, , , ,
and .


Further Readings

Don't be lulled into a false sense of complacency. Like any computer
communications language, MIDI becomes complex once you move beyond a simple
setup with a couple of synths and a Mac. (Just as integrating Macintoshes
into a PC network is more challenging than setting up a couple of computers
at home with System 7 File Sharing.)

For further edification, you may want to delve into MIDI reference books.
Steve De Furia has authored (and coauthored) several informative general
and Mac-specific MIDI books. Keyboard Magazine has published several useful
volumes and "Special Focus Guides" for a detailed look at MIDI and synth
basics. Craig Anderton's readable "MIDI for Musicians" is a classic. Most
libraries (and fine bookstores) offer at least a dozen other publications
about using MIDI and creating MIDI software. Like most things technical,
MIDI is a moving target and new books appear each year. Leading MIDI-
related magazines continue to be the well-known Keyboard and Electronic
Musician.


MIDI and the Macintosh - Part II
--------------------------------

MIDI Software for the Mac: Application Software
For simple purposes, MIDI application software can be categorized into one
of two main types - a recorder/player (sequencer) with non-real-time MIDI
editing tools, or a music-notation editor to create printed scores, or
"notation,"  from a MIDI file or a performance. (Other classes of MIDI
software esoterica will be dealt with later.)

Until a few years ago, the Amiga and the Atari ST boasted some of the best
MIDI software. However, highly acclaimed MIDI sequencers and notation
editors are now available for the Mac, and many people believe it will
continue to be the professional's computer of choice. As more MIDI software
is ported to (or created for) Windows, the balance may change. But MIDI
editing remains fundamentally a graphic process, a task at which Macs
continue to edge out PCs.

Sequencing packages are geared to "conventional" music making. They have
multiple recording tracks, let you display and edit notes, and so on. They
often present a tape-recorder screen metaphor, with music being recorded
and played from beginning to end, linearly. Notation editors provide
seamless translation of standard music notation into MIDI files (and vice
versa). A good analogy for a notation editor and a synth keyboard would be
a word processor and a QWERTY keyboard.


Mac sequencers and notation editors

A partial list follows. Apart from a few exceptions (such as Metro,
arguably "the biggest bang for the buck"), the list price is a fair
reflection of the software's capabilities. The high- and mid-range packages
are for the professional musician, while the low-end programs are aimed at
the semi-pro or casual musician or composer. Each package claims its forte
to be either sequencing [S] or notation [N], though sometimes both parts
are present in some mix which we notate as: [SN] [sN] or [Sn].

    Composer's Mosaic   $595 (Mark of the Unicorn) [N]
    ConcertWare Pro    $189 (Great Wave Software) [sN]
    Cubase              $495 (Steinberg/Jones) [S]
    D. M. C. S.        $130 (Electronic Arts) [N]
    Encore              $595 (Passport Designs) [N]
    EZ Vision           $149 (Opcode Systems) [S]
    Finale              $749 (Coda Music Software) [SN]
    Lime                $160 (CERL) [N]
    Master Tracks Pro   $495 (Passport Designs) [S]
    Metro*              $229 (OSC) [S]
    MIDIplay            $ 60 (Opcode Systems) [MIDI in HyperCard]
    MiniTrax            Public Domain (Altech Systems) [s]
    Music Writer 1/2/3  $119/295/595 (Pygraphics) [N]
    MusicProse          $249 (Coda Music Software) [SN]
    Performer           $495 (Mark of the Unicorn) [S]
    Trax                $ 99 (Passport Designs) [S]
    Upbeat              $129 (Dr. T's Music Software) [percussion]
    Vision              $495 (Opcode Systems) [S]

* Metro is a reincarnation of Beyond (previously Dr. T's) with integration
to DECK 2.0 (digital audio recording software, also from OSC which requires
a Digidesign Audiomedia card.)

Demo versions for most are usually available from the publisher or on the
Internet. A current list and review of these and other commercial MIDI
software for the Mac is archived at .

Those with FTP access should also get a copy of:

    mac.ftp/sound/midi/inexpensivemidiresources.txt

from . This file lists Macintosh demo, shareware,
and public-domain programs and how to get them.

Mail order firms sell most software well below the list price. Besides the
usual connections, places, zones, and warehouses, check out MacBeat
(800/MAC-BEAT). They employ knowledgeable salespeople and always have good
bargains on MIDI software, synths, and even Macs. Sweetwater Sound
(219/432-8176) also has an excellent reputation among professionals (you
can reach them via email through owner Chuck Surack at
<71333.533@compuserve.com>).

Beyond Tradition

Another flavor of MIDI software is the improvisation and "teach- yourself-
music" category. The latter includes packages like the Miracle Piano
Teaching System from Software Toolworks. This bundle lists at $500 and
comes with software, a built-in "MIDI interface", cables, and a 49-key MIDI
keyboard. Software for improvisation and algorithmic accompaniment can
create backup parts or entire musical compositions by different instruments
in a wide range of rhythmic styles - all in real time. This category
includes:

    Band in a Box    $ 88 (PG Music) [algorithmic accompaniment]
    Cypher*          $ 39 (Robert Rowe) [algorithmic composition]
    Harmony Grid     $ 99 (VPL Research) [nontraditional
                           learning/composition]
    Jam Factory      $119 (Dr. T's Music Software) [algorithmic
                           accompaniment]
    Listen           $ 99 (Imaja) [ear training, theory]
    M                $119 (Dr. T's Music Software) [algorithmic
                           composition]
    MiBAC Jazz       $125 (MiBAC Music Software) [algorithmic
                           accompaniment]
    Music Mouse      $ 49 (Dr. T's Music Software) [graphic /
                           algorithmic controller]
    Practica Musica  $125 (ARS Nova) [ear training and theory]


Hardware Helpers

Patch editor/librarians create archives to store synth-specific voice
parameters (patches, remember?) and let you edit or create synth voices
graphically, on the Mac's screen instead of "peer through an LCD mail slot
mode" present on the front panel of synthesis equipment. Editors and
librarians differ in function and are sometimes simply combined into one
application: they let you create, edit and save sounds off-line which can
be used in compositions later. The $249 Galaxy (Opcode Systems) is a good
commercial patch-librarian.

Software tools that test hardware and connections, and send and receive
system-exclusive ("sysex") messages to and from the synth are essential for
the serious MIDI-tinkerer. (Sysex messages don't play music; they change
the settings on a specific receiving MIDI device.) In addition, these tools
can provide software-based access to program the sound functions of the
synth. A few such freeware utilities include: MIDI Mode and MIDI Program
Select (DAs by Austin Development), Bulk Sysex Utility and Interface Test
(from Altech Systems), and MIDIScope (thank the folks at Kurzweil for this
one).


Roll Your Own Stacks

For HyperCard enthusiasts, the old shareware HyperMIDI has expanded into
HyperMIDI 2.0 and gone commercial ($125). Author Nigel Redmond has put
together a robust MIDI toolkit for building MIDI into stacks. Read the FAQ
file referred to earlier for a list of more non-commercial Mac MIDI tools.


Roll Your Own Movies

We should probably note that Apple has been promising to put a MIDI object
or track type into QuickTime, and has demonstrated a scheme whereby
QuickTime is smart enough to use a MIDI hardware device if one is
connected, otherwise play a few of the MIDI voices using the Mac's internal
sound-output chip.


Roll Your Own Serious Art

MAX (from Opcode), an object-oriented MIDI programming toolkit, is a
powerful environment for MIDI-hacking. If you get bored with predefined
tools and traditional ways of working, or come across problems or ideas
which you cannot address with conventional applications, you should
consider MAX.

Designed by Miller Puckette at the Paris electronic music think-tank called
IRCAM and supported and sold by Opcode Systems, MAX is a toolbox for
creating MIDI systems - user interfaces, real-time processors, virtual
instruments, algorithmic composition components, performance surfaces, and
anything else you can think of. It is a Macintosh application with a superb
graphical interface. Control primitives can be laid out, connected, and
edited in a MacDraw- like environment, and then used to process MIDI data
in any way imaginable. The screen interface can be designed to any scheme
you wish - mice, menus, buttons, keys, external input devices. It can be
considered an instrument, just like synths; or even better, an instrument
for building new instruments. Musicians use it on-stage as a performance
system for their entire rig. MAX is one of the most significant MIDI
products ever, and much credit must go to Opcode for having the vision to
bring it to market.


Roll Your Own App

MIDI applications can be written and compiled in almost any high-level
programming environment. Books on MIDI programming and disks containing
MIDI subroutine libraries and source codes (in C, MIDIBasic, MIDIPascal)
are readily available. Some of the MIDI public-domain programs mentioned
earlier are exhibits for these language packages.


Additional System Software

Because of differences in serial port hardware, the venerable Mac IIfx and
the newer Quadras and IIvx require the Apple "IIfx [or Quadra] Serial
Switch" Control Panel.

However, things get a little murky in the realm of System 7.1 and MIDI.
Digidesign recommends Enabler 001 for various Mac models including the IIvx
and Performa 600. Apple says NOT to use Enabler 001 on a Performa. It's not
clear what Enabler 001 does that the Hardware Update 1.0 doesn't do. Oh
well. But it won't hurt your machine to stick Enabler 001 on there.

Software with music notation capabilities comes bundled with fonts (most
often Sonata, an Adobe PostScript font). Most of the software packages
include MIDI Manager, an essential MIDI system extension courtesy of (and
that's putting it politely) Apple. The MIDI Manager extends the Mac
operating system to correctly support the timing accuracy required by MIDI
hardware and software under MultiFinder. It is also useful for doing Inter-
Application Communication and for allowing multiple applications to address
the serial port. While some programs do not require the MIDI Manager per
se, using it provides more flexibility (not to mention more system
conflicts). MIDI Manager is available to developers from APDA or as
licensed software in MIDI application packages.

First, the good news about MIDI Manager - it can operate in the background;
it allows the user to configure either the modem or the printer port for
MIDI traffic; and it can take the output from one MIDI program and input it
to another MIDI program. When loaded on a PowerBook, it automatically
disables rest-mode (a state in which PowerBooks' CPU slows to a crawl to
save power). Oh yes, it is System 7 friendly; but then these days, what
isn't?

And now for the major discordant note. The Chooser is MIDI Manager hostile
- if you open the Chooser while MIDI Manager is loaded, the modem port
locks up.

Nor can the MIDI Manager flawlessly direct incoming serial data on many
PowerBooks. Although MIDI Manager does not cause the problem, some feel an
update could certainly solve it (more on the PowerBook-MIDI saga later).

Using MIDI Manager with MultiFinder (or System 7.x) on a Mac with a slow
processor (such as a Classic or SE) can make the Mac choke, especially if
the musical score contains multiple voices. Although the "sound" isn't
affected, it might affect the timing and screen refresh. (These are generic
problems associated with the slower Macs - MIDI Manager just consumes
another piece of the scarce CPU pie.)

Finally, configuring the MIDI Manager requires a companion application,
PatchBay - an interface design paradigm Apple would probably like to
forget.


MIDI Manager & OMS - Some History

Originally invented to help MIDI software cope with System 6 MultiFinder,
and provide concurrent serial port access to multiple software, MIDI
Manager is showing its age and may not be around for long. Let's look
briefly at where it came from and why it appeared.

Part of the Mac's appeal is its high level interface to programmers (for
things like QuickDraw), and this results in nice, consistent applications
that work together (cut and paste, anyone?). Equally important, it means
that applications will usually continue to work with new hardware. For
example, you could use a six-year-old resource editor of Mac Plus vintage
on a big- screen Mac or a PowerBook; you could also be reasonably confident
that it would work on a graphics-accelerated Radius Rocket- equipped
Quadra, a completely different beast from the Mac Plus!

If you were given a Mac program which drew directly onto the screen
(ignoring the window system), and which crashed on color machines, you'd
consider it junk and throw it away, right? (Let's leave aside games for
now.) Sadly, much original MIDI software did similar horrid things to the
Mac like seizing serial ports regardless of other applications. This was
not due to programming carelessness, but because there were no toolbox
calls or programming conventions for MIDI, which is timing-dependent
(unlike your generic pre-QuickTime Macintosh process).

Then in early 1989, Apple released MIDI Manager. Like other Macintosh
Managers, this Toolbox component offered high-level application  services.
In this case, it meant applications could use abstract MIDI communication
and timing port drivers (much like printer drivers are abstract),
regardless of hardware. Several MIDI Manager applications could run at
once, and could even send MIDI data to one another. And since calls would
be independent of the hardware we could use new, high-speed MIDI
interfaces, or SCSI, or synths on NuBus sound cards, or whatever.

And all was rosy. Well, actually, no. Due to a long-running legal wrangle
with the Beatles' Apple Corps, Apple Computer was prevented from
publicizing MIDI Manager properly and never rolled it into the much-awaited
System 7. Apple dealt with the legal problems, but by that time the MIDI
Manager guys had left Apple, and MIDI Manager languished. It still works
and is in constant use. But it hasn't changed in years.

As of August 1993, Apple has finally released its Sound Manager 3.0 for
handling audio events in general. (Early versions demonstrated by Apple at
the 1992 and 1993 Developers' Conference took care of both sound and MIDI.)

In 1991, Opcode developed their own system (OMS, the Opcode MIDI System)
which provides system services similar to the MIDI Manager. Although the
results from using OMS and MIDI Manager differ only slightly, there are
good reasons for running both systems at once to access their respective
features. OMS allows an application to address a large number of discrete
MIDI cables through one serial port, and also allows publish and subscribe
(which might be considered non-real-time IAC, or Inter-Application
Communication) between applications, like a sequencer and a patch editor.
Professionals often need extremely powerful MIDI interface boxes with more
than 16 MIDI channels (64 is common and 128 is possible and surely we'll be
up to 1,024 channels someday soon!) and must synchronize their Mac to SMPTE
time code (a protocol defined by the Society of Motion Picture & Television
Engineers for synchronizing various devices) on video or audio tape. Apple
offers no solution and that's where OMS fills the bill.

OMS is an exemplary piece of software; it works solidly on PowerBooks, and
is considered a must for professional MIDI users. Mark of the Unicorn has
announced a rival to OMS, the FreeMIDI System - think of it as OMS with a
Free Software Foundation source license. Although a few beta testers have
proclaimed it to be OK, it will have to prove itself to be at least as
capable as OMS to achieve a loyal user base.

Opcode fired the next few salvos in this MIDI battle. Since January 1993,
Opcode has licensed OMS developer packs free to interested parties. In
April, they announced an upgrade to version 2.0 of OMS (currently, OMS
1.2.1 is shipping). The acronym OMS has changed from "Opcode MIDI System"
to "Open Music System" to reflect the fact that future versions of OMS will
incorporate source code from other developers (a move designed to bolster
its acceptance as an industry standard). Reportedly, Apple has given OMS
the silent, secret seal of Apple Approval.

Among other enhancements, OMS 2.0 will add IAC (real-time Inter-Application
Communication) and will include serial port independence that will allow
the use of multi port serial cards like Applied Engineering's QuadraLink
four-port NuBus card. The OMS bandwagon already includes Passport,
Steinberg, Emagic, PG Music, Roland, Digidesign, and others.

The problem, of course, is that there is still MIDI software around that
uses none of this stuff. MIDI Manager documentation is available from APDA,
and it's easy to program MIDI Manager applications, so there is no excuse
for applications not to use it. One might even venture that FreeMIDI was a
TrueType-ish move to force developers to agree on a common system. With any
luck, it will happen soon and the results will work well. In the meantime,
if you have MIDI software that does not use OMS or MIDI Manager, you might
wish to consign it to the trash. Of course, if you're just messing with
MIDI, you may feel differently.


Gooey Crimes

And now for something completely different - a short rant about user
interface, copy protection and reliability of MIDI applications

On some, the user interface is convoluted enough to make even the most
unrepentant Microsoft programmer blush. One popular high-end sequencer
insists on making the "close window" square at the top left of a Mac window
appear as a triangle - truly the mark of a unicorn who doesn't believe in
making simple ROM calls (or in using proper WDEFs, CDEFs, etc.). On one
expensive notation editor, selecting a note does not darken the note -
instead, it is grayed. These are the least of the collective sins committed
against the standard Mac interface. Although these problems may seem
cosmetic, in many cases functionality (not to mention immunity from
conflicts and longevity across hardware and system upgrades) can be
directly related to interface decisions.

Some of the more touted "professional" MIDI packages are the last bastions
of copy-protection on the Mac. Without getting mired in a discussion about
the pros and cons of copy protection, suffice it to state that even Apple's
guidelines to developers considers copy protection schemes to be user-
hostile. Further, software based copy protection schemes currently in use
often fail to install the application on complex multi-partitioned hard
disk setups. One can only hope that better judgement will eventually
prevail upon software publishers, and future MIDI applications will be rid
of all unsavory copy protection schemes.

Reliability is crucial in any MIDI system and users have every right to
expect dependability from applications that cost hundreds of dollars. If a
word processor crashes while you are in the middle of composing a letter
you might be moved to utter a few choice expletives; but few of us have the
rich vocabulary required when a MIDI program crashes in the middle of a
live performance. Unfortunately, there is unreliable software in the
market. Generally it is the poor(er) user who discovers the expensive way
about mutation problems in fourth-generation performers.

As for Apple, we can only hope that by the time they let loose the next
Manager, they will have read their own bleeping interface guidelines about
how the interface for a Control Panel with INIT code should work.


MIDI and the Macintosh - Part III
---------------------------------

MIDI Hardware: The Interface

A MIDI interface provides a link between a Mac serial port and MIDI
device(s). For example, Altech Systems offers an inexpensive, light-duty,
self-powered interface which has three MIDI-outs, one MIDI-in, one serial
in, one serial out. There is a bypass switch to activate the serial-in to
serial-out connection (useful if you use an external modem and don't wish
to spend your free time switching cables between MIDI interface and modem),
and three LEDs to register serial and MIDI traffic. It draws power from the
serial port - an improvement over older models which had bulky power
supplies. (Note: It is possible that some interfaces that depend on the
serial port for their power may not work with a PowerBook).

Then there are the AC powered mid-line interfaces like Opcode's Studio+ 2
(listen carefully: three MIDI Outs and one MIDI In for both the modem port
and the printer port. Front-panel MIDI/Serial elect switches for each port.
A gang switch to make the modem port connection into a one In, six-Out MIDI
interface.)

At the upper-end, you can buy Mac-MIDI interfaces with up to 16 MIDI ins
and outs, SMPTE lock, internal MIDI processing and routing, and much more
(MIDI Time Piece from MOTU, Studio-4 and -5 from Opcode, etc.) These
industrial-strength interfaces use special protocols and do not work
directly with ordinary MIDI applications - unless you use OMS or something
equivalent.

Interfaces are available from other manufacturers such as MacNexus and
MIDIMAN. Apple too, sells an interface with one MIDI-in and one MIDI-out.
However, if you plan to expand your MIDI system in the future, get an
interface with more than one MIDI-out port to avoid having to invest in a
MIDI "splitter box" somewhere down the long and winding MIDI road. Make
sure the package you buy includes at least two MIDI cables (5 pin DIN
male/male - they're standardized) and a serial cable. Prices for these run
around $90 list, $60 street.


Macs for MIDI

Some PowerBooks (140, 145, 160, 165c, 170, and 180) with their disposition
for imposing serial-port blackouts can be frustrating MIDI platforms, and
even Apple doesn't recommend them for MIDI. But a combination of using the
PowerBooks in Don't Rest mode and keeping AppleTalk on may help keep MIDI-
data loss to a minimum. However, on single-serial-port PowerBook 100,
AppleTalk interferes with the printer port and must be off for MIDI use. As
mentioned earlier, MIDI Manager automatically disables the PowerBook's Rest
mode.

Reportedly, the Duos 210 and 230 have no problems with MIDI. Tests have
established that the PowerBook 100 is fine at MIDI speeds - just. However,
the PowerBook 100 may fail with special high speed interfaces. The
PowerBooks 140, 145, 160, 165c, 170, 180, and 185c can do easy MIDI chores
such as simple record and play-back, but falter when receiving large
amounts of MIDI data. In one series of tests conducted on a PowerBook 140,
a great quantity of input MIDI data was lost, not just long sysex dumps as
Apple maintains (a sysex dump is a continuous, high-speed data dump from a
MIDI device to the Mac.)

MIDI data can be lost on the PowerBooks because they suffer from periodic
serial port blackouts as long as six milliseconds (blame this on the Power
Manager). Theoretically, as many as 20 bytes of MIDI data can be
transmitted from a device to the Mac in a six millisecond span. During a
blackout, only three bytes can be stored by the serial port's buffer. In
the worst case, it is possible that as much as 90% of the data transmitted
during a serial blackout could be lost.

A Tech Note suggestion (TN 318 - PollProc) by Apple was augmented and
implemented by Opcode in a new version of OMS, 1.2. Under 1.2, the problem
of lost MIDI data on the offending PowerBooks 140, 145, 160, 165c, 170, 180
is solved, but incoming data loses its timestamping. However, not all
commercial programs are OMS compliant, and the TN 318 fix works only for
interfaces attached to the modem port. The printer port continues to be
unreliable.

Regrettably, MIDI Manager predates PowerBooks and is blissfully unaware of
PollProc calls. Further, some who have tried the solution in TN 318 suggest
it is incomplete and does not quite work as advertised. Were it not for
OMS, the PowerBooks 140, 145, 160, 165c, 170, 180, and 185c would be
useless for professional MIDI.

The PowerBooks with their slim form and light weight are otherwise ideally
suited for real-time MIDI performances. It is puzzling that Apple allowed
this technically minor, but functionally disastrous problems to fester.
Among the portables, the buying recommendation for a MIDI platform is a
Duo. If you can find one, a PowerBook 100 can be a bargain platform for
simple MIDI work.


Master Controllers

Most people associate MIDI controllers with keyboards, but they can be
anything you pluck, strike, blow or change in some way. For sanity's sake
we'll limit discussion to keyboards and sound modules (keyboard-less
synths).


Samplers and Synthesizers

Thus far, we have used the terms "synth" and "synthesizer" for illustrating
various MIDI functions. But samplers have equal status with synthesizers -
you can get keyboard forms of both.

Samplers contain (in ROM or RAM) a literal hi-fi recording of a real
instrument or human voice. The E-Mu Proteus is the most famous sample-
playback module, while the Fairlight CMI and the E-Mu Emulator are probably
the best-known sampling keyboard systems. Samplers can also be rack-mounted
studio effects devices, and there are probably 40 or 50 samplers at all
prices between obsolete models on the used market and new models. A few do
not use MIDI.

A synth builds sounds from simple waveforms blended together, from a
combination of samples and waves, or by intermodulating a handful of
waveforms, or "operators" (7-operator FM synthesis is the "DX7 sound," and
also used to death in a poor-sounding 2-operator chip on most PC "Sound
Whacker" add-in cards).

Do not pinch pennies when buying a keyboard. There is a marked difference
between inferior and better ones. But you don't need a fancy keyboard if
you are not a trained musician - just one you find comfortable. After all,
sequencers offer "step mode," which allows them to be slowed way, way down
so even a talent-less hack can play amazing MIDI shred arpeggios. If you're
new to all this, a used Kawai K1 is a good inexpensive keyboard to look
for. (On the other hand a $1,500 synth is in some sense, as good as it
gets, since this tends to be the street price point that manufacturers try
to hit with new products) If you're planning only to edit and play back and
you are not a trained musician, any keyboard is functional (yes, even an
old, used Casio CZ101 will do just fine, thank you.)

You'll want a sound module with "good" sounds (preferably General MIDI
compatible). The Roland Sound Canvas is a good General MIDI module for
beginners. Yamaha, Roland, and Korg all compete in the value- priced sound
module market.

Here are features you can use to evaluate keyboards and define your musical
priorities:

* Number of octaves: A five octave range (61 keys) is sufficient for most
casual users. A 76-note keyboard would be considered a minimum for
controlling several modules during a live performance. For playing Debussy,
you'll probably want 88. Some keyboards have the ability to shift (or
transpose) the range of the entire keyboard which adds two (or more)
octaves.

* Key size/feel: Does it matter if the keys are slightly smaller than
usual? Do they have the feel of a piano key? If you are used to playing the
piano, these considerations make a difference. Most of the better synths
have full-size keys. Some offer weighted action.

* Polyphony: a must for MIDI-dabblers. Polyphonic synths can play more than
one note simultaneously. Thus, when a chord is played on a polyphonic
keyboard, all notes of the chord sound. If the synth is monophonic (like
the old MiniMoog) and a chord is played on it, only one note of the chord
will sound. However, a 32-voice polyphonic synth does not necessarily imply
that 32 notes can be played simultaneously since each note itself could be
made up of more than one voice. (Technically, we mean waveform instead of
voice.) Since almost all modern synths are polyphonic, this may not be a
big factor.

* Multitimbral: A multitimbral synth can play more than one musical
instrument sound (patch) simultaneously - i.e., they can respond to MIDI
commands on different MIDI channels by playing different sounds
simultaneously. A synth could be polyphonic and able to play many notes
simultaneously. However, if it is not multitimbral, commands on all MIDI
channels will play only one instrument. For example, a multitimbral synth
can concurrently play a string bass for the MIDI commands on channel 1, a
piano for Channel 2, and a sax for channel 3. These synths are also capable
of having certain regions of a keyboard assigned to certain patches - for
example, the string bass on the bottom, the piano in the middle, and the
sax on top. This is another must feature if you want lots of instruments at
once, and don't want an apartment full of synths.

* Velocity Sensitive: How loud a particular note is supposed to sound is
embedded in MIDI messages as velocity. Velocity numbers range from 0 (0 is
no sound; 1 is the quietest) to 127 (loudest). Most synths have velocity
sensitive keys - when a key is struck, not only is the note and duration
transmitted, but also how hard the key was hit (actually, how quickly the
key moved).

* After-touch: A type of touch sensitivity where the synth senses how hard
the key is pressed down after it has reached (and is resting on) the
keybed. After-touch is useful for assigning special effects and is commonly
used for "expression" - to swell a sound, like a conventional instrument.

* Sound quality: Most people consider this the most important factor (and
rightly so). After all, you have to listen to the sound produced by your
synth. If the sound quality is inferior, even playing Bach will not help
the music sound pleasant. Some synth models have digitally sampled sounds
of various instrument stored in ROMs. Not surprisingly, these samplers
sound pleasing when used for conventional orchestral, rock, or jazz music.

* General MIDI: essential if you plan to purchase and play libraries of
commercially-produced MIDI music files.

* Miscellaneous: How many (and which) instruments can the synth emulate?
Does it have a ROM slot that would allow expanding the internal instrument
list by adding ROM cards? How easily are these cards available? Does the
synth have waveform editing features? Can it do special effects? (You'll be
surprised what just a simple reverb or delay can do for synth-sounds). Does
it have adequate RAM (or a RAM slot) to save waveforms of customized
instruments you create? Besides the standard MIDI-in and MIDI-out, a MIDI-
thru port might provide more flexibility in configuring various devices on
a complex MIDI network.

Casio, E-Mu, Ensoniq, Peavey, Kawai, Korg, Kurzweil, Roland, and Yamaha are
a few of the dozen-odd companies currently marketing electronic musical
instruments (Casio has exited the musical/professional synth market and
only sells inexpensive home units, but used Casio keyboards can be a good
place to start). Before starting your hunt, get a copy of the FAQ
maintained by Craig Latta for rec.music.makers.synth on Usenet (FTP-able
from ). It has useful pointers on buying your first
synth. A used synth price list (available by FTP from
) posted every few weeks on the discussion group can
help you shop around. This group is a good place to pick up used equipment,
and solicit hardware and software recommendations.

On America Online you can try the Mac Music and Sound Forum (Keyword MMS),
and on CompuServe there is a particularly active MIDI Forum (GO MIDIFORUM).
Keyboard and Electronic Musician are two magazines which are good
resources.


Coda

MIDI is often given superlative billings about how it can enhance your
musical abilities and transform you overnight into a great musician. MIDI
does give you precise control over the way your music sounds, but the
greatness depends on you. Why, MIDI wasn't around until 10 years ago, and
we did have a wee bit of good music before then.

You might not have enough money to buy all elements of a dream Mac-MIDI
system (or for that matter, even a dream Mac system!). However, you can put
together a simple MIDI studio- a Mac and a synth - easily and
inexpensively. Aim for system that can grow easily by adding new MIDI
devices.. There are great used keyboards out there and few have been
abused, it seems.

With the advent of 16-bit DSP chips in Apple's AV Macs, one area bound to
see a proliferation of new products is integrated digital hard disk
recording and MIDI.

At the moment such systems require add-in cards. Opcode's Studio Vision
with Audiomedia (list $1,995) is one such Audio/MIDI package as is
Digidesign's Pro Tools (list $5,995). Both are MIDI/Direct-to-Disk
recording environments, or "tapeless studios."

OSC has released Beyond with Deck 2.0 very soon; this combines a MIDI
sequencer with a 4-track digital recorder which uses Digidesign's
Audiomedia board. Expect to see digital audio/MIDI cards incorporating
E-Mu, Ensoniq and Kurzweil General MIDI-compatible chipsets in the future
(Media Vision already offers a $400 stereo 16-bit card called the PAS16
Mac; the card includes a 4-operator MIDI synthesizer). In fact, a number of
sequencers mentioned earlier already offer SMPTE timecode synchronization
of MIDI tracks onto video and digital audio master tapes.

MIDI has opened doors to exotic possibilities, and new MIDI instruments,
software, and all kinds of MIDI accessories (like MIDI lighting controllers
for stage lights, gloves with embedded MIDI controllers, etc.) are
continually being introduced. There is MIDI software that introduces
variations into the data you feed it; MIDI controller wands you wave,
innumerable MIDI drumpads and variations thereon; MIDI marimbas; MIDI
guitars; basses, violins, and wind-instrument controllers; MIDI floorpads
you step on; MIDI sensors that pick up light, sound, or movement; you can
do it all. For those of you into creative self-flagellation, at least one
guy designed a MIDI drumset into a jumpsuit.

You could even create a MIDI composition by transforming the last ten
years' Dow Jones daily closing average as the lead voice and that day's
high temperature in Manhattan as the backup. Just don't play it back for
us.