Magazine Archive

Home -> Magazines -> Issues -> Articles in this issue -> View

Sounding Off

MIDI Files - Is There A Problem?

Paul Andreas Overaa sounds off about the dismal lack of information there is about the MIDI file standard.

The Standard MIDI File Format, as many Sound On Sound readers will already know, is designed to allow files of collected 'real-time' MIDI data to be moved about between different software packages - sequencers, scorewriters, etc. So it's theoretically possible to record a song using Steinberg's Pro24 on an Atari ST, store the data as a MIDI file, use a communications program to port the file to an Amiga disk [see panel - Ed.], load that MIDI file into, say, Passport's Master Tracks Pro or Blue Ribbon Bakery's Bars & Pipes program on the Amiga, add some extra parts/effects and resave the data... again, as a MIDI file. You could then read that data into Dr.T's KCS sequencer for going out gigging with!

Now I'm not going to tell you that this sort of thing can't be done, because it can. What has to be pointed out, however, is that there do seem to be certain problems with MIDI files. So if you have tried to do this sort of thing and failed, you can take comfort in the knowledge that it may not necessarily have been your fault.

To understand where the problems may lie, we've got to go back a few years. The original MIDI file standard was quite straightforward - it stored time-stamped MIDI events (note-on, note-off, etc), and it supported a number of non-MIDI items (called meta events) which allowed things like tempo and time signatures to be held in the file. Some minor changes were made to the System Exclusive format (a byte count was included at the start of the message), but other than that everything was pretty straightforward. The data files were essentially a single stream of MIDI data, and the only real snag was that there was no provision for proper multiple track sequencer data - it could only be handled via MIDI channel assignments. Opcode's Sequencer 2.5, Intelligent Music's Jam Factory, and quite a few other packages all supported this single stream file format. But since those early days, things have changed.

So what? The ordinary MIDI standard has also developed since it was first introduced. Agreed, the difference is that details of the MIDI standard are accessible... it's published in books, companies such as Yamaha and Roland offer guides and advice sheets on MIDI, and so on. So, we might all know what a note-on event or a SysEx message is, but how many know what a delta time or a meta event is?

The Roland/Yamaha brigade are heavily involved with the MIDI specification but they are not involved with the MIDI file format, so (other than mentioning in their manuals and guides that it exists) they are almost as much in the dark as the rest of us. The people who have done the development work on the MIDI file format are essentially the software companies themselves - and they're not known for being over-cooperative as far as giving away technical information goes. The result is that the MIDI file format standard has been altered in ways which have not been made generally known to users.

At least three types of MIDI file are now seen. File type '0' looks to be similar to the original single stream MIDI files of the old days. But if this is so, why do Music X's file type '0' files start with information which are neither meta events or MIDI events? Do these files now include some sort of header information? Why also are program change commands now filtered out?

To this interesting pool of technical mish-mash, we can also add questions about file type '1', which stores multiple tracks, and file type '2' (mentioned in Dr.T's KCS manual). In six months of asking, I've not found anyone who has any technical info on the current state of the game.

Most worrying of all is this... I've taken a short real-time MIDI sequence and saved it as a MIDI file type '0' on around a dozen different sequencers. By using software which looks at the data held in the file, I've found differences - strange header bytes, etc. Are there bugs in the software? Is it that the MIDI file standard now allows embedded sequencer-specific information? Is it that some developers are using versions of the 'standard' which are different or out-of-date?

It's a ludicrous situation. The MIDI tile format has apparently been adopted by the MIDI Manufacturers Association (MMA), so presumably it is now part of the official MIDI standard we all know and love... the trouble is no-one seems to know what it is! I wrote to the MMA for some answers and didn't get a reply. Two colleagues did the same, and they're still waiting.

I've not met one single person who has seen a current MIDI file format standard in black and white, or who knows about its internal data structure!

Many serious users are finding occasional unexplained problems and nobody seems to know who to turn to for answers. Us 'techies', by looking in detail at sequencer file dumps, could easily sort out where the problems lie... but we can't do it without the appropriate MIDI file format specification. Someone somewhere has the answers, but until they come forward and explain the current rules of the game, there's a good chance that MIDI files will suffer the same fate as MIDI sample dumps - people will either be very wary about using them or they won't use them at all! And that would be a crying shame.

Paul Andreas Overaa is a freelance computer journalist.


If you have MIDI File Format sequencer files saved on an Atari ST formatted 3.5" disk and wish to load them into a Commodore Amiga sequencer that recognises MIDI files (such as Dr.T's KCS or Microillusions' MusicX), there is a much quicker, more convenient method than using communications software to transfer the files via the ST and Amiga's interconnected modem/RS232 ports.

Colorado-based Central Coast Software produce a handy disk file transfer utility program called DOS 2 DOS (about £30 in this country). Once loaded into the Amiga, this program lets you read Atari ST formatted disks (and even MSDOS formatted PC disks) inserted into the Amiga's own 3.5" disk drive. By utilising AmigaDOS's standard 'Copy' command, you can then copy the binary MIDI files (one at a time or all at once) from the ST disk in the Amiga's floppy drive, directly to your Amiga's second floppy drive or hard disk (if fitted). Alternatively, if your Amiga only has one floppy drive, you can copy the files directly to the Amiga's RAM disk, remove the ST disk from the drive and insert an Amiga formatted disk, then copy the MIDI files from the RAM disk back to the Amiga disk. The whole process is far quicker than it sounds in print and works perfectly. (DOS 2 DOS can also be used to transfer pure ASCII text files from ST or PC to Amiga format, for those interested in exchanging files for DTP work.)


Contact any good Amiga stockist.

Previous Article in this issue

Software Support

Sound On Sound - Copyright: SOS Publications Ltd.
The contents of this magazine are re-published here with the kind permission of SOS Publications Ltd.


Sound On Sound - Jun 1990

Donated & scanned by: Mike Gorman

Opinion by Paul Overaa

Previous article in this issue:

> Software Support

Help Support The Things You Love

mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.

If you value this resource, you can support this project - it really helps!

Donations for June 2021
Issues donated this month: 0

New issues that have been donated or scanned for us this month.

Funds donated this month: £36.00

All donations and support are gratefully appreciated - thank you.

If you're enjoying the site, please consider supporting me to help build this archive...

...with a one time Donation, or a recurring Donation of just £2 a month. It really helps - thank you!

Small Print

Terms of usePrivacy