A
Lesson in MIDI
Part III: An Explanation
of
MIDI Song Files
by Ron Collins
Let's get back to our song file. A few things happen when this song is played in. Suppose the song is being played in on a professional quality, full size MIDI keyboard. As the piano score is played, a special code is placed at the beginning of the line. This is a program change control code that tells the keyboard to use a piano sound. Each time the piano keys are played, certain other information is stored as specialized control codes with the music. As the music is played in, each note's value is stored. Also, how long a key is held down and how hard or soft it is struck gets placed in the music file. The music's timing and key information are also recorded to this track of piano music.
As the flute, cello and violin lines get played in, similar information is added to the song. Each channel (or track as most of us refer to them) will hold that instrument's data. When this song is played back on the same keyboard, it will be able to play the same song in almost the exact manner as it was played "live". The problem comes when you want to play the song on your keyboard or synthesizer. Unless you happen to own the same equipment used to play it originally, the chances of it's sounding the same are pretty remote.
Let's make it even more detailed. If you make a mistake when you are playing, that "sour note" you accidentally hit will have to be listened to as you play back that music right along with all the correct notes. This goes for hitting the key too hard or soft, a bit to fast or slow, or any number of nuances that will be captured into that MIDI data file.
On the "expensive computer" types, these and other factors can be iced with a software program or hardware device called a MIDI SEQUENCER. The use of a sequencer is to a musician much the same as a word processor is to a writer. The sequencer allows an amazing amount of flexibility in composing. You could find that sour note you hit and simply delete it. You could also edit it a bit to make the correct note replace the wrong one. You can move parts of the song around, change the volume of the instrument to make it the center of attention or just a background part, make a more detailed change to place each instrument into a stereo field of left or right and even use special controller codes to turn on or off your stage light display!
The final stage of this song creation is to store it for any playback or future modification that might be needed. This was originally done using the keyboard manufacturers software to save each song using it's own proprietary format. This works fine for playback when it is always to be on the same brand and model of equipment. If you do not have the exact setup, however, songs do not replay with the same results.
In an effort to help, manufacturers, developers and the MIDI Manufacturers Association developed what is called Standard MIDI Files (SMF). These files contain all the information relevant to a song file you've developed, but stored in a more "generic" way. These SMF song files can be found in two forms: MF0 and MF1. The MF0 files group all of the information together into one big file for later playback. Any duplicate tracks are automatically merged into a single track. The MF1 type does the same thing, but there is no merging of tracks. This makes editing the file much easier than in the case of MF0 files.
There is still the problem of instrument distribution by the various manufacturers. Most adhere to the convention of making a piano sound the first instrument. From there on, though, they do a quick split up. Some carry a series of various piano types for the next several instruments, then move into some string types or even a few mixed horns, etc. Others start with the piano's voice and then go from there to a vibraphone, harpsichord, and organ. A list of possible musical voices can be ordered in any way the one who designed it wanted. This isn't really a bad thing either. It just makes transporting MIDI song files between different types a more difficult proposition.
In hopes of heading the problem off before it gets worse, an organization called Warner New Media proposed what should make it much easier to deal with. Their New MIDI Standard establishes an array of 128 MIDI Program Numbers; each with a specific musical instrument assigned to it. These instruments are mapped into 16 families, with 8 instruments per family. Various sound effects I tend to use from time to time have also been included into their own family groups in this standard.
With all of this as a preliminary, how do we work with these files from other computer's and MIDI equipment? How do we listen to them at home using our own ADAM MIDI studio? Well, it's not a very difficult problem thanks to all the special programs and new utilities Chris Braymen has developed for ADAM users. Let's start with just the first string of programs from Bonafide Systems and then work into the newest programs.
Perhaps the best way to explain all of this is to just walk through a session or two. I'll start with how I actually get the MIDI song file onto my own ADAM and then work from there. With a bit of luck, you'll see how easy it is. There can be a lot of to do and a lot of steps to take getting the song file to play, but the work is well worth the results. Try to remember also that I am working these song files from scratch. Once I put them onto a public domain disk in ADAM format, the steps you need to perform to get the file into a likable format are simple and few.
The various bulletin board systems around the country can be a tremendous source of MIDI song files if you know which ones to call. I have found a few long distance boards dedicated to MIDI or with a MIDI data library section, but long distance charges do not really appeal to me (especially when my wife reads the phone bill and wants to know what "THAT ONE" is for... you know..."that one right THERE!"). Rather than having to "face the music", I'd rather be in a position to listen to it (grin)... so I tend to do most of my MIDI file hunting on the two commercial BBS's that I subscribe to: CompuServe Information Service and GE*nie. These two massive systems can accept calls from all over the country at baud rates from 300 to (in some cases) 9600 baud! They have MIDI data library and message areas and you can read descriptions of a song file or even reviews of it prior to actually downloading it.
Some information you will want to look for is the format of the song file. You will want to know how big it is, what system was used to create it and what instruments were designated. Most of this info will be available... but not always all of it. Just be prepared to "play" with the song a while to get it to sound as it should. In this case, I'll try to search for a song file on the CompuServe system. After logging on, I just type GO MIDI FORUM and press the RETURN key. In a few seconds, I'm taken right into the MIDI area set up for song support. There are various message areas and data library areas available to me here. I can get any questions I might have answered by simply leaving a note in their message base. Some helpful person will then read it and give me an answer. (How do I know it'll be answered? I've TRIED it (grin!).