A Lesson in MIDI
Parts IV & V:
Using a Downloaded MIDI File
by Ron Collins


EDITOR'S NOTE: The following article is part four and five of five in a series of MIDI lessons by Ron Collins. The entire article was downloaded from the ADAM-X-CHANGE BBS and supplied by The ADAM News Network. Watch for follow-up MIDI articles by Ron covering such subject matter as the new SEQuel program by Bonafide Systems.

For now, however, I'm not looking for answered questions. I want a new song to play on my ADAM. The best place to look first is in the new uploads section: Data Library 1. I type DL1 and it flips me over into that area as soon as I press the RETURN key.

Now, I HAVE to know what type of song file to search for if I am to use it at all. Remember, each computer system can have a special file type. Some of the ones I've run into are MID, MFF, SNG, SMF, MF1, MF0, WRY and even some really goofy ones I won't bother to mention; we can't use them anyway! On this system, the types we will be able to use are MID, MFF, MF1 and MF0. These all designate the file as a standard MIDI file format. Usually, only the files that tell you up front that they are MF0 are the format used by MINI RECORDER. Since this is the program we'll use with our MIDI MITE Interface, it's a good idea to search for compatible file types.

To do this, I can use the BROWSE command to let me look for this type of file. I still use menus to help me navigate so I'll press the number 1 key and press return (this one is labeled for a BROWSE of the library). CompuServe prompts for a search string. At this point, I type MF0 and press the RETURN. The system will then ask me how many days I want to look back. I can tell it one day or 90... or just press RETURN again for "ALL". If there have been any new MF0 songs uploaded, they will now be listed one at a time. CompuServe even gives you a brief description of the song, who uploaded it, and maybe even what musical instruments it is to be played with. If there are no MF0 songs, try doing this again using the MFF or MID search strings.

Looking over the files, I finally find an interesting song of the MID file type. This one is called TZONEZIP. Hmmm, that's not a MID type file! Let's take a look at the description. Here I learn that this is the theme music from The TWILITE ZONE, what it was composed on, and that there are two files included in this ZIP file: TZONE.MID and TZONE.TXT. For those of you who don't do this sort of thing on a regular basis, and don't even know what a ZIP file is, let's take a quick look at it.

When you have a group of files that all concern one specific subject, what would you rather do, keep them all together or just throw them in with a lot of other files that have nothing to do with your subject? Obviously, it's better to keep them all in an easy to access central location. Keeping them all by themselves is a great way to get at these files when you need them, but they will soon start to take up an awful lot of disk space if you have very many subjects you want to keep separate! How can we cut out all that wasted disk space but still keep our files separate? An easy solution was invented a couple of hundred years ago by Ben Franklin. You guessed it .... put them into a LIBRARY! How does a library keep things in order? They put similar files into code number designated areas.

All of the cooking books will be found in the same general area of the library. It still takes up a lot of room though, so we'll have to go one better. The computer age has required some better method and many solutions have been advanced. The first I found was simple file compression. A file was once SQUEEZED to make it as small as possible. Next, the file could be CRUNCHED to make it even smaller. Later still, a compression type called CRLZH was written that further reduced the disk space needed for file storage. Finally, programs were written that would let you take these compressed files and put them all into one new file called a LIBRARY. I could create a file called MIDI.LBR for all my MIDI song files for instance. All the member files could be crunched or squeezed to make them take up as little space as I can manage. The original separate files could then be deleted or just stored on floppy disks for archival purposes.

The next advance was to actually archive these files in one step... compression and storage to one new file called an ARC or ARK file. These used various schemes to reduce file size, but an extremely small file could result, saving you a great deal of the very valuable disk space. The fastest, tightest compression I am now aware of is the ZIP file. This is a compression/library type of file manipulator that takes the earlier program types to their current limit. The result is that you can find 320K files reduced to a single 24K ZIP file!

Okay, now let's look at that TZONE.ZIP file. I don't have to download a large MIDI song file and then go back and download the text file that talks about it. By use of an IBM utility that creates these ZIP files, the uploader of TZONE.ZIP has put both files into a group, then reduced it's size by compressing all the data into it's smallest possible size. It saves space as well as download time for me (space and UPLOAD time for the musician!)

The ADAM has a good variety of modem programs that provide us with download capability. ADAMLink IV works with the internal 300 baud modem or an external modem of up to 19.2 kilobaud. It also offers XMODEM file transfer. Files you might get with ADAMLink will already be in an ADAM E.O.S. format which can be good and bad. If the file is an uncompressed file.. such as simply TZONE.MID it can be accessed by your MIDI software as is. Since this file has been zipped however, it would have to be transferred to a CP/M or TDOS media. To me, it just makes sense to download the file with a TDOS compatible modem program.

Of the popular modem programs in this environment that offer file transfer capabilities, the more popular are IMP, MEX, QTERM, and my personal favorite, ZMP. Which program you use is your own choice. The important thing is to get that file, 'eh? Using ZMP, I select the download option on CompuServe. I am given a listing of various types of download types, known as protocols. I'll use YMODEM protocol this time. CompuServe prompts me with "FILE NAME FOR YOUR SYSTEM". That's an easy one! I just type in TZONE.ZIP and press the return. I am now prompted to begin the transfer.

At this point, the benefit of ZMP really shines out. I just press the ESCAPE key and the R key. This tells my ADAM to receive a file. ZMP asks me what type of protocol to use. I just press the Y key and hit the RETURN. That's it! I don't have to tell ADAM what to call this file or anything. It transfers TZONE.ZIP to my computer where I can work with it. This is all I'm really after this call, so I log off, hang up and use ESCAPE Q to quit ZMP and get back to TDOS.

Typing DIR and hitting the RETURN key gives me the directory of the disk so I can see my new file. Now I need to extract the two files from that ZIP format. I'll use a program called UNZIP for this (makes sense, doesn't it?) I type UNZIP TZONE E and press that useful RETURN key again. The "E" tells UNZIP to extract the files. If I don't type in that -"E", I'll just get a list of the contents of the ZIP. It takes a few minutes to process, but work is soon ready to begin on the new song.

My first step is to view the TZONE.TXT to see what this song is supposed to sound like. I just punch in TYPE TZONE.TXT and am presented by ADAM with...

Twilight Zone by Marius Constant. MIDI file format. Done on a Yamaha TG33. Should be easy to adapt to any tone generator.

Channel
1
2
3
4

Instrument
Piano
French Horn
Bongos
Strings

This is my first upload. I'd welcome any comments, especially from TG33 owners.

Hope you enjoy. Mike Kindinger - 73607, 464

Well, now we know that this song file can be played using only 4 musical instruments, the piano, French horn, some bongos and a string arrangement. We also know that it was created using a YAMAHA TG33 synthesizer. The uploader, Mike Kindinger, should be thanked for all this information. You wouldn't believe what a mess some files are to determine instrument arrangements! By the use of this little text file, the uploader has made our job MUCH easier. If you happen to download this file, please do as Mike has asked and leave him a note about what you think of the file.

With the song file extracted, it is time to get it ready for us to play on our own MIDI equipped ADAM. MINI-RECORDER, the first program any of us ever see (because you get it free when you buy a MIDI MITE) only works with MIDI format 0 song files. This song was provided in format 1, so we now have to convert it to what we can use. Chris Braymen knew we would run into this problem, so a neat conversion utility was created in his spare time. As soon as it was checked out and debugged Chris released MIDI1-0.COM to the public domain. The use of this program is very simple: it takes a format 1 file and converts it to a format 0 file.

Just type in the program's name: MIDI1-0 and press RETURN to bring up this slick little utility. When it comes up, you will be asked for a song name to convert. Type in TZONE.MID and again press RETURN. Now you will be asked for a name to give the final version of the song. I want to call it TZONE.MF0 so that I can keep it separate from the original version. By just typing this in, the conversion will take place leaving us with a nice new "0" format version of our TZONE song.

With TZONE now being a format "0" file, we are ready to take it from its T-DOS environment to an EOS one. This can be done quite easily thanks to the programming skills of Tony Morehen and Guy Cousineau. The old ADAM CP/M standards of ADAM.COM and it's partner CPMADAM.COM could be used with CPM but they definitely do NOT work under T-DOS. Tony and Guy, the authors of T-DOS took an extensive look at this problem. With the advanced hardware T-DOS supports, a program was needed that could read a hard drive, look at any of the many sizes of disk drives, data drives, etc. and be able to move files between EOS and T-DOS media, no matter where they are now, and to any other media or format. The program has been named FC (File Convert) and does exactly what it's named.

By now we all know how to bring up a file in T-DOS by just typing it's name, so we'll skip that part. I load up FC11, the latest version of the program I have, and it let's me select TDOS and E.O.S. directories. I tell it the TDOS file is on D7: and TZONE is going to be sent to my 320K EOS disk in disk drive 1. Now the selection has to be made for the type of transfer. The two I can choose from are EOS to T-DOS and T-DOS to EOS. We have the file in T-DOS, and want to put it onto an EOS disk, so we want to pick that second option. I've already set up what drives will be used for this transfer, so all that's left is to pick the file we want to convert.

FC has a real useful feature called "mask select". This was added by the thoughtful programmers who knew it would be used for file manipulations on hard drives or other large capacity drives. These large drives can hold up to several hundred files on them! Without the "mask select", you would have to look at ALL of these hundreds of files to find the one you want! Instead, FC prompts us for 'TDOS Filemask". Just type in *.MID to select all the MID files. You could further restrict the mask by selecting TZONE.* or TZONE.MID. Using these "*" wildcards gives you a lot of room to fine-tune a file search. I only have the one MID file on this area, so selecting *.MID still only gives me the one name: TZONE!

FC asks me for a name to give the song once it gets over to that EOS disk to which I respond TzoneMF0 and press the RETURN. A second or two is all it usually takes for smaller files. Now the song I've been patiently working on has been downloaded, unzipped and converted to a workable format 0. We've then followed this to it's new home on an EOS disk where we can listen to it. What can possibly be left to do?

Let's boot up our copy of MINI-RECORDER and check this out a bit. After the program comes online, press the STORE/GET key and select the disk containing our new file. Move the cursor so that it points to TzoneMF0 and press RETURN. In about twenty seconds or so, the song will show up on our screen. Looking at the file tells us three important pieces of information. We can see that there are 4 channels containing MIDI data. These are the ones we see the little green "musical note" symbol in front of. In this case, the data is on tracks 1, 2, 3 and 16. The second piece of information the program shows us is that there are no instrument names listed! A good reason for us to have checked out that TZONE.TXT don't you agree?

The last thing we learn is the MIDI program number assigned to each of the 4 used tracks. This program number is what makes a certain track play with a particular instrument. Some songs do not stick with only one instrument for each track. There are some that I've encountered with as many as seven program changes which kept me really busy tracking them down! These too must be made to conform to our own equipment's requirements! Before a program can be edited for our instrument allocations, we have to first look a file over closely and find each program change number. Let's look at these numbers and compare them to what we read in the TXT file found in that TZONE.ZIP.

Our list indicates that track 1 is a PIANO sound. There is a a number in front of this, a "2". This tells us that the YAMAHA device used to compose the song used its second instrument voice to play this track. Track 2 has the number 41 assigned to it. A 50 is in front of track 3 and there is a 63 in front of track 16. This is our first clue to what is needed to play the song!

Let's list what we've found:

TRACK USED
1
2
3
16

PROGRAM #
2
41
50
63

YAMAHA INSTRUMENT
PIANO
FRENCH HORN
BONGOS
STRINGS

Looking at this information shows me how simple this patch will be to get up and running. I can do everything on my little CASIO MT-540 keyboard. The CASIO has 30 musical instruments that it can play with the help of the MIDI port. It has only four MIDI sound channels that it can access, however: 1, 2, 3 and 4, so I am going to have to make a quick change before I can use the song with my keyboard.

This channel number is made by moving the cursor up to where it says 16 and just press the RETURN. Now, MINI-RECORDER asks me what channel number I wish to give it. I just type in a 4 and to make the change take effect, I press RETURN once more. To help me keep track of what's going on, I like to move the cursor over to the original channel 4 and change it to a 16. This way I can keep things in order.

Now, let's look at those instruments and their associated program numbers. PIANO=2, FRENCH HORN=41, BONGOS=50, and STRINGS=63. At this point, I recommend looking at the owners manual you received with your keyboard or synthesizer to see what instrument can be used for each of these and what program number is needed to make it play that instrument. My CASIO's manual says that a 2 is what it uses to play as if it were a HARPSICHORD. Well I sure don't need THAT instrument to play the Twilite Zone theme! No, I need a PIANO sound and the CASIO has a truly superb one which is called up with program change number 1. All I do is move the cursor up to the program number column for the PIANO so that it's highlighting the 2. I press RETURN, am prompted for a new number to which I respond with a 1, and then press the RETURN once more. This fixes the PIANO for channel 1 and also solves the channel 16 problem.

Our next instrument, the FRENCH HORN just doesn't exist in the CASIO's library of sounds. That means I have to substitute a different type of instrument for the french horn. My experience tells me that a generic BRASS section isn't quite right where any single brass horn is required. It won't be exactly the same (or even close for a knit-picker), but I think I'll use number 7, the FLUTE, to replace that french horn section. The FLUTE has quite a respectable reproduction which I think will do nicely. I change the 41 to a 7 and move on to those BONGOS.

The CASIO doesn't limit you to just one type of drum sound. Instead, it groups a large variety of similar sounds into what it names the PERCUSSION track. This track is number 9, so I'm going to take a chance and change that 50 to a 9. It's now time to go on and finish up that STRINGS section. The STRINGS on my CASIO are section 16, so a quick change of that 63 to a 16 finishes the patching. With this all done, it's time to test our hard work and see how the song came out.

Playing the song is probably the hardest part of the whole procedure. You have to actually press a SmartKEY that is labeled PLAY. Really tough, 'eh? How did it all sound? GREAT! It sounds so close to the TV show that I had to look at the television set! This is true DIGITAL AUDIO .... even better than CD (Compact Disk) in it's reproduction. And it's all done on an ADAM! The last of it all is to press the STORE/GET key, name the file, and store it on to my next Public Domain release disk. Sure it took time, but none of it was hard to do or very complicated. SmartKEYs took us through all the hard stuff with ease. Why, I'll bet even Big John could have done it (grin)!

For those of you who have been wondering about the FB01, it DOES have a FRENCH HORN and an incredible STRING section. I could send the same song information to the YAMAHA even as it's busy playing the CASIO. This combo sounds the best, so I saved it on a special disk for FB01 owners.

For those who have gone on and purchased the new sequencer program, SEQuel, from Bonafide Systems, there are even more areas you can change. With SEQuel, you don't have to convert that TDOS file to a MIDI FORMAT 0 file before transferring it to EOS. SEQuel can load either song format. It can take a new bank of musical instruments stored in a file called a SYSEX (SYStem EX-clusive). A SmartKEY in the download options screen let's you SEND SYSEX. An FB01 (or other synthesizer) owner can download new banks of sound patches and use this ability to send them to their units. What a slick way to get new musical instrument capabilities!

Once you have the song loaded into SEQuel, you can edit it a bit to make certain areas faster, others louder, and about any of several different changes unavailable to MINI-RECORDER. Use of SEQuel is so flexible that it'll take another article to cover it all. For that reason, I'll leave you with this start. You know what it can take to get a song onto one of those Public Domain disks, and it is more than likely that you'll be trying some of this yourself so on. At least I hope you'll try it! For that reason, I'll give you just four words of advice: "YOU CAN DO IT!" Good luck, and I wish you luck and much enjoyment! It doesn't take a lot of money to use MIDI... just great software and hardware!


Back to Top