We present the first of our three-part look at MIDI on the Macintosh, so pay attention if you’ve ever wondered about music on the Mac. This week also brings the release of the latest and greatest version of Easy View, a look at a strange modem problem and its solution, and the scoop on how an FPU (floating point unit or math coprocessor) interacts with the LC III. Finally, information on how to get a free Microsoft Mail to SMTP gateway.
If you’re a student heading home for the summer and you subscribe to the TidBITS LISTSERV, please cancel your subscription before leaving. It’s only polite, and you can hop back on when you have access again. If you will have access from a different account and wish to change your subscription, that’s cool too. In that case, just SIGNOFF from the original account and then SUBSCRIBE from the new account. Thanks for keeping the net clean.
To remove yourself from our mailing list, send email to:
with this line in the body of the mailfile:
To subscribe to our mailing list, send email to the address above with this line in the body of the mailfile:
SUBSCRIBE TIDBITS your full name
Information Electronics followed up on their recent announcement of a new SMTP mail gateway for Microsoft Mail with word that a limited-time evaluation version of the gateway is available for download, free of charge, from their support bulletin board. IE’s FirstClass server can be reached at 607/868-3393. The demo software expires on 17-May-93.
Jeff Parker, Information Electronics — [email protected]
Double-sided Printing — Several people wrote to warn against printing on the back of already-printed sheets of paper, as recommended in TidBITS #175. Joe Gurman relayed information from a repair person who claimed that some high-speed printers (the one in question was an older Ricoh engine used in the Talaris 1590 printstation) were more likely to jam when using reused paper because of changes in the paper when it was exposed to the high heat in the laser engine the first time through.
Another reader claimed that some laser printers contaminate the paper with small quantities of fuser oil, and reusing printed paper can cause this contaminant to migrate to places it doesn’t belong, such as the rollers that grab the paper. If anyone knows for sure about this issue (in other words, if you’re a printer repair person or printer engineer, not just relaying a possible computer legend) please let us know and we’ll try to settle this issue once and for all. In the meantime, if you wish to play it safe, check with your printer manufacturer.
A friend from Apple writes to clarify the LC III/FPU issue raised a while back in TidBITS #169.
I understand the following to be the case:
- If there is no FPU on the motherboard, and none on the card, no problem.
- If there is no FPU on the motherboard, and there is one on the card, the system uses the one on the card, albeit at 16 MHz.
- If there is an FPU on the motherboard, and there is none on the card, the system uses the one on the motherboard, at 25 MHz.
- If there is an FPU on the motherboard, and there is one on the card, the system uses the one on the motherboard, at 25 MHz.
The FPU on the motherboard, since it is physically linked to the CPU, takes priority, in a manner of speaking. Removing a 16 MHz FPU from a PDS card and placing it in the 25 MHz socket on the motherboard will likely cause unexpected results. The 16 MHz part will probably crash the system. In other words – DON’T DO IT!
If an LC card with an FPU crashes an LC III, I would first look at other incompatibilities with the card by contacting the vendor. I contacted Technology Works, whose cards for the LC that include an FPU will work in the LC III, but the software for the cards is not yet ready. I imagine the case is similar with cards from other companies.
— Information from:
I recently uploaded Easy View 2.32, the latest version of Akif Eyler’s free structured text file browser. Easy View recognizes the following formats:
- setext, including TidBITS
- Info-Mac, comp.sys.mac.programmer, or similar digests
- Mail collections: Internet, Navigator, Notebook, etc.
- Text with "simple" format
- Plain text
However, there’s nothing new in that list – I just wanted to grab the interest of people who haven’t yet come out from under their rocks to try Easy View. It’s a wonderful program, and if you can spare a few floppy disks, you can download all the issues of TidBITS from sumex-aim.stanford.edu in the info-mac/digest/tb directory and browse through them with Easy View instead of asking me about that article that might have been in TidBITS about a month ago that was something do with conflicts between video cards and certain phases of the moon. Hey, all I do is search in Easy View. Back issues are easy to get, so give Easy View a try.
The basic principle is that you pop straight text files into a folder with an Easy View view (they used to be called indexes); then you can add those files to the view. The most common problems people have are with non-text files and not putting the text files in the same folder as the view.
You can download the latest version of Easy View from the usual spots, including America Online in the Macintosh Hardware New Files library, ZiffNet/Mac in the ZMC:DOWNTECH #0 library as EASYVW.SIT, CompuServe in the CIS:MACAPP #2 library as EV232.SIT, and on sumex-aim.stanford.edu for anonymous FTP as:
Note that the file hasn’t appeared on CompuServe or the Internet as I write this, so I can’t be absolutely sure about the locations or filenames for those last two sites.
New Features — Easy View 2.32 has a spate of new features, including the ability to open the text file you are viewing in the application that created it using Apple events under System 7. I haven’t the foggiest idea if this works under System 6, but I don’t think it could, so add it to your list of reasons to upgrade. This feature works by sending a message to the Finder, telling the Finder to open that document with the application that created it. In my case that’s Nisus, so it works like a charm, but if you don’t have Nisus, or your email program assigns another creator code to the text file when you download, another application will open. If you don’t have the appropriate application, the Finder will complain. In that case, get one of those drag & drop applications (they usually work under System 6 too) that can change the file type and creator of a bunch of files (I think one is called BunchTyper and another is FileTyper).
Many people complained about Easy View’s case-sensitivity in the past. I guess sensitive programs went out with in the 1980s, and Akif has obliged by adding a filter feature (yes, much like a filter feeder) that provides case-insensitive searches along with the ability to ignore diacritical marks. That’s important to Akif because he deals with script systems and text in Turkish. Also to satisfy complainers, Akif added a "Search from top" option in the Find dialog that does what it says. Without that option checked, Easy View searches from the current location on down, which is more efficient if you know where to start.
Aesthetics are possible in Easy View 2.32 as well, as Akif supports the font styles (bold, ~italic~, and underline) that have existed in setext since the beginning. I don’t use a lot of them, since it’s poor practice to overuse emphasis in text, but they do come in handy at times, and you can define your own settings for each setext style. If you turn styles on (it’s a simple toggle) and copy some styled text, the clipboard contents are also styled, so applications that support styled clipboards will retain the appropriate styles when you paste. However, I must warn you that Easy View has had occasional problems with styles, so if you experience any, shut off styles and see if the problems go away. If not, then tell Akif. We were unable to isolate the sporadic problems with styles in beta testing. The styles feature is still an experiment, and isn’t fully supported, so you won’t be able to print styled text, text-selection may misbehave, and word wrap may not work right. The solution is simple in all cases – shut the styles off. Styles also reduce performance, so shut them off during extensive searches.
Text scrolling now works correctly so Easy View retains an overlap with the previous window. Without that overlap, it was easy to get lost while reading in Easy View; the overlap provides a context switch between screens of text.
Finally, Easy View can now use the Finder’s temporary memory for parsing under System 7, so you may be able to get away with allocating less memory to Easy View. I still up the default by a couple of hundred K, but I use Easy View to view many megabytes of archived email and discussions.
Once again, kudos and thanks to Akif for making my life easier, and I certainly hope you can all use Easy View to make your lives easier too.
Are you experiencing strange line-noise problems with your modem sometimes, but not all the time? I’d like to share a recent experience and perhaps spare some of you the full agony of troubleshooting such a problem.
One of my fellow user-group members and a user of my bulletin board, Memory Alpha, had been complaining that he could call CompuServe when his PowerBook’s PowerPort/Gold modem was hooked to his upstairs phone jack, but when he plugged the PowerPort/Gold into his downstairs phone jack, his connections always failed; the screen quickly filled with garbage. Neither Global Village (the PowerPort’s manufacturer) nor I could come up with any reason that he should reliably see such different results using two different jacks on the same phone line.
After I offered a few suggestions via email, none of which helped, I decided to visit and try to analyze the problem directly. Naturally, when we sat down so he could demonstrate the problem at his downstairs phone jack, we connected to CompuServe just fine.
Figuring that this was an intermittent problem (despite his insistence to the contrary), I fiddled a bit, and showed him how to activate the modem’s error correction from within CompuServe’s Navigator software. This, I felt, should help even if the problem returned. (Ithaca is lucky enough to have a local CompuServe access number equipped with a high-speed modem and error correction.) Not wanting to give up without seeing the problem at all, we tried from the upstairs jack. Worked fine. We then returned downstairs… and suddenly saw exactly the problem he’d been describing!
What had changed? We realized that, after our brief experiment upstairs, we’d left the telephone plugged in. Some further experimentation proved that, as long as that phone wasn’t plugged in, the modem worked fine either upstairs or downstairs. With the phone plugged in, though, we were reliably unable to get a connection from the downstairs jack.
The moral of this story? Well, despite all reason, it seems that sometimes other devices on the line interfere with your modem connection, even when the devices are on-hook and seemingly inactive. Most likely the problem is due to the fact that this is an electronic phone, which draws a little bit of power from the line even when it’s not "doing" anything. Before tossing your modem in the junk-heap or angrily exchanging it for another brand, you’ll want to check your wiring and try temporarily removing phones or other devices from the line.
This Mac-MIDI musical offering is organized in three movements, an introduction and discussion of MIDI, a look at MIDI software on the Macintosh, and finally, some information on MIDI hardware, some of it specific to the Mac. We’ll look at each movement in a separate issue of TidBITS, so make sure to check out the next two issues.
- Introduction to MIDI
How MIDI Works
MIDI and General MIDI
- MIDI software for the Macintosh
Additional System Software
- MIDI Hardware
Samplers and Synthesizers
Introduction to MIDI — Picture yourself as a musician, composing and arranging each part of, say a quartet, printing the sheet music, playing, and flawlessly recording (in CD quality, of course) the entire 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.
The MIDI specification (MIDI stands for Musical Instrument Digital Interface) enables synthesizers, sequencers, personal computers, drum machines, etc. to interconnect through a standard protocol via an inexpensive serial hardware interface. Even though the operating system within each device may be different, MIDI gives musicians "plug and play" synth-computer communication as easily as LocalTalk lets Mac owners connect a few Macs and a laser printer. Any MIDI-savvy musical instrument can connect to a Mac (or for that matter, to any other PC) with a MIDI interface attached to the serial port. With so-called "sequencing" software running on the Mac, a musical piece played on the instrument will be faithfully "recorded" on the Mac for editing and playback. (As explained later, the sequencer does not record the audio sound; it records performance information only.)
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 the synthesizer manufacturer Sequential Circuits (creators of the popular Prophet-5 synthesizer) 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 various 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 synthesizer wired to one or more other synthesizers. In this case, the receiving MIDI device plays a matching chord in perfect synchronization with the DX7. But (and this is a big but) 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), depending on its settings. The chord is the same, but the generated sounds within each synthesizer may differ. In other words, MIDI keeps track of the performance events, and not the audio sounds. Further, a MIDI keyboard can control a number of sound-producing synthesizers without any computers involved, and without any recording of the digital data.
As an example, consider a DX7 wired up to a Sound Canvas which is in turn wired to a Proteus. (Sound Canvas and Proteus are "sound modules" or electronic musical instruments with a synthesizer’s sounds/circuitry but without the keyboard.) The musician plays a half-note C4 series on the DX7 keyboard (which could be 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:
DX7 - MIDI cable -> Sound Canvas - MIDI cable -> Proteus (master) plays C4 plays C4 plays C4 as piano as organ as strings
The two sound modules play the same chord as the DX7; but the actual sounds generated within each module use a different instrument sound, or patch.
People did pre-MIDI 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.
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 input, and one from the interface output to the keyboard’s MIDI input. The MIDI data links are unidirectional to keep everything simple and inexpensive. Schematically, MIDI data travels like this:
DX7 output>->MIDI cable 1>->interface in interface port<->serial cable<->Mac port DX7 input<--<MIDI cable 2<-<interface out
The two MIDI data links convert to a bidirectional serial signal inside the MIDI interface.
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 held it down, etc. The software stores this information. Once you play the music and 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.
To reiterate, a MIDI sequencer file is only performance information, not the sounds themselves. The universal standardization of MIDI has made it possible to use software sequencers instead of the earlier proprietary hardware sequencers.
If the sequencer software is a high-end package, sheet music can be displayed on screen, and printed from the MIDI "sequence" file. The MIDI performance data can be edited, looped, reversed, the tempo can be changed for playback, and the entire piece can be transposed to different keys. In short, the data can be processed separately and in a more innovative manner compared to anything in the audio domain. Finally, the file may be resent as MIDI commands back to the synth for flawless playback.
One showcase MIDI music CD is "Switched-on Bach 2000." Wendy Carlos’s re-recording for the 25th anniversary of the 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 synthesizers are.
MIDI and General MIDI — MIDI commands are 8-bit binary serial messages with 16 encoded channels. A master keyboard, one cable, and a slave device make up the simplest possible MIDI network. Once a computer is connected to the MIDI network, messages can be captured by a sequencing program and saved as a Standard MIDI file, a cross-platform standard. This means that MIDI music is, to a certain extent, device-independent. A Standard MIDI file played on Synth A and recorded on a Mac can play back on Synth B which is connected to a PC clone.
While most synths respond to the complete set of MIDI commands, a few older (and cheaper) models don’t. Many of the latest generation of synths understand "General MIDI," a new subset of MIDI specifications from the MIDI Manufacturers’ Association. In a nutshell, General MIDI specifies a few hundred consistent instrument sounds which all General MIDI synthesizers can play.
Why the need for General MIDI? Well, to start with, for years and years, synth manufacturers invented their own "map" of sounds, or voices. As an example, a Roland synth and a Korg synth would both have a Grand Piano as one of the instruments they could emulate. However, the "address" of the Grand Piano in the ROM would be different for the two synths – or put another way, the two synths would assign different patch numbers to the Grand Piano sound.
Furthermore, one synth might have 48 different Grand Piano sounds and another might have four. An expensive synth might have 256 pre-programmed patches and a cheap one, 32.
This free-for-all made it impossible to take a fully-orchestrated MIDI file from a Korg M1, load it into a computer, and play the music as the composer intended on a Proteus from E-Mu. You’d get music all right, but instead of violins during the intro, you might hear a flute. For the music to sound as originally intended, someone would have to revoice (or "repatch") the arrangement for the new output device.
So we lied to you a little bit before. MIDI files aren’t strictly device-independent when it comes to playing the original sounds. General MIDI solves this because within a certain subset of MIDI, it specifies instruments which all synthesizers can share. Of course, any manufacturer is free to go beyond General MIDI.
To use MIDI in multimedia, and to put MIDI chips on sound cards, there has to be agreement on what sound is assigned 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 also answers 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, a couple of drumkits may 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, E# to a china cymbal etc.. (Yes, you can play drums from the keyboard!) Different drumkits could be different patches. You might have:
Patch # Type of Drumkit 45 light jazz kit 46 rock kit 47 electronic rock kit 48 orchestral percussion
A 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 notes. 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 drums.
In a certain sense, General MIDI restricts MIDI in that it makes demands of the instruments to conform to a limited set of sounds and a minimum capability. It is not necessarily the future of MIDI and synthesis; it is merely the lowest common denominator for people who want to orchestrate music for a predefined palette of sounds. General MIDI music can be ported as MIDI files and will continue to sound similar on different hardware setups (for example, for multimedia applications) without requiring patch remapping.
The MIDI specification can be purchased from International MIDI Association (which is just that – a worldwide MIDI user group) with offices at:
International MIDI Association
1185 Hartsook Street
North Hollywood, CA 91607
Other technical information about MIDI is available on the Internet via FTP from, among other places, <ucsd.edu> and <louie.udel.edu>.
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 some 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.
Tune in next week for a look at MIDI software for the Macintosh.