Xref: utzoo comp.music:17 rec.music.synth:8513
Path: utzoo!attcan!utgpu!watmath!iuvax!cica!tut.cis.ohio-state.edu!quanta.eng.ohio-state.edu!czei
From: czei@quanta.eng.ohio-state.edu (Michael Czeiszperger)
Newsgroups: comp.music,rec.music.synth
Subject: Re: MIDI file formats and the Network TV Zombie News Team
Message-ID: <2784@quanta.eng.ohio-state.edu>
Date: 9 Aug 89 13:29:16 GMT
References: <41594@bbn.COM> <927@cbnewsd.ATT.COM> <1757@brwa.inmos.co.uk> <5457@sybase.sybase.com>
Reply-To: czei@quanta.eng.ohio-state.edu (Michael Czeiszperger)
Organization: The Ohio State University Dept of Electrical Engineering
Lines: 678
In article <5457@sybase.sybase.com> hildo@horse.UUCP (Dave Hildebrandt) writes:
>In article <1757@brwa.inmos.co.uk> bob@inmos.co.uk (Bob Green) writes:
>>In article <927@cbnewsd.ATT.COM> gregory@cbnewsd.ATT.COM
>> (gregory.a.youngdahl,iw,) writes:
>>>In article <41594@bbn.COM> mfrishko@BBN.COM () writes:
>>>-> Finale will convert scores to the
>>>-> MIDI file format.
>>>Can anyone point me to a specification of the MIDI file format?
>>>Thanks in advance,
>>Me too !
>>Bob.
>Me three...!
OK, OK, OK ALREADY! Now. For all those of you who weren't paying
attention the first couple of times this was posted, here you go
again, but this is the *last* time! As you can tell from the
preamble, this is version .06, but it is virtually the same as version
1.0.
If you'd like to get a hold of the offical 1.0 description, you'll
have to contact the International MIDI Association, 5316 West 57th
Street, Los Angeles, CA, 90056. A less technical but just as complete
description can be found in the April issue of Electronic Musician.
PLEASE. Save this file so it doesn't have to be posted again.
[This document is Dave Oppenheim's current version of the MIDI file
specification, as sent to those who have participated in its
development. The consensus seems to be to submit this to the MIDI
Manufacturers' Association as version 1.0. I apologize for any loss of
clarity that might have occurred in the conversion from a Microsoft Word
document to this pure text file. I have removed some of the discussion
about recent changes to the specification in order to keep the file size
reasonable.--Doug Wyatt]
Standard MIDI Files 0.06 March 1, 1988
0 Introduction
This describes a proposed standard MIDI file format. MIDI files contain
one or more MIDI streams, with time information for each event. Song,
sequence, and track structures, tempo and time signature information,
are all supported. Track names and other descriptive information may be
stored with the MIDI data. This format supports multiple tracks and
multiple sequences so that if the user of a program which supports
multiple tracks intends to move a file to another one, this format can
allow that to happen.
This spec defines the 8-bit binary data stream used in the file. The
data can be stored in a binary file, nibbleized, 7-bit-ized for
efficient MIDI transmission, converted to Hex ASCII, or translated
symbolically to a printable text file. This spec addresses what's in
the 8-bit stream.
We'd like to make MIDI Files 1.0 happen as soon as possible, so please
respond soon with any comments or proposals you have about MIDI File
transmission, the MIDI meta-event event or any other comments or
questions you have about anything in this specification.
Please direct comments to:
Dave Oppenheim
Opcode Systems
1024 Hamilton Court
Menlo Park, California 94025
(415) 321-8977
1 Sequences, Tracks, Chunks: File Block Structure
Sequence files are made up of chunks. Each chunk has a 4-character type
and a 32-bit length, which is the number of bytes in the chunk. On the
Macintosh, data is passed either in the data fork of a file, or on the
Clipboard. (The file type on the Macintosh for a file in this format
will be "Midi".) On any other computer, the data is simply the contents
of the file. This structure allows future chunk types to be designed
which may easily be ignored if encountered by a program written before
the chunk type is introduced. Your programs should expect alien chunks
and treat them as if they weren't there.
This proposal defines two types of chunks: a header chunk and a track
chunk. A header chunk provides a minimal amount of information
pertaining to the entire MIDI file. A track chunk contains a sequential
stream of MIDI data which may contain information for up to 16 MIDI
channels. The concepts of multiple tracks, multiple MIDI outputs,
patterns, sequences, and songs may all be implemented using several
track chunks.
A MIDI file always starts with a header chunk, and is followed by one or
more track chunks.
MThd
MTrk