Post by JohnG on Dec 23, 2011 8:12:07 GMT
Here's the original response from JazzCat to a question posed by ShyamWestWind asking
"what's the difference between MIDI file type 0 and MIDI file type 1?"
This was the earlier thread:
midimart.proboards56.com/index.cgi?board=technical&action=display&thread=1199642023
There was an earlier reply but I haven't copied it
Beginning of JazzCat's post
I fully understand the concept and yet I found that one reply to be a bit confusing.
MIDI files come in 3 different formats. 0, 1 and 2. You probably will never see a type 2 format file but I'll give an explanation for it anyway, just in case you run across one. I ran across one back in the old days and I had no clue what it was! I wish I still had it to use as an example.
First I highly recommend reading John G's articles on MIDI He explains the difference in what a track is and what a channel is. To fully understand the difference in file types you must understand the difference in tracks and channels.
The following is from a post I wrote to someone ages ago:
In General MIDI (GM) you have 16 channels. You can have as many tracks as a MIDI sequencing program will allow... Most of them have 1000 tracks available to you, but, the data can only be sent to 16 channels. The data may be spread out to tracks but that really is for human viewing and editing convenience.
A type 0 MIDI file has all of the channel data on one track. A type 1 file splits the channel data to tracks. This is for the convenience of being able to see and manipulate the data for one 'track', or one instrument, easily within a software sequencing program.
I guess using channel 10 as an example of channel vs. tracks might work best.
Channel 10 is a special channel reserved for drums/percussion only. Each drum instrument is assigned a note number. High bongo is middle C (or in MIDI speak, C4, note number 60) so any time you play a C4 you will hear a high bongo sound.
All of your percussion instruments can be on one track or, they can be spread across multiple tracks. Often you will see files that have each drum instrument on a separate track of it's own. But, all of that data is on channel 10. If you change the main volume on any one one of those drum tracks, it will change it on ALL of the drum tracks because all percussion is channeled to 10. If you change the patch number one one track to change the drums from the standard kit to the Room kit all of the percussion tracks will change. Again, that's because all percussion data goes to channel 10.
Clear as mud?
====================
Here is an explanation on the web of a type 0 and type 1 file:
searchstorage.techtarget.com/sDefinition/0,,sid5_gci213649,00.html#
A type 2 MIDI file is sort of a combination of a type 0 and a type 1. It contains multiple tracks, but each track contains a different and complete sequence. That can be complete songs, a selection of drum patterns, or other multi-pattern music sequences which may not necessarily be played simultaneously.
Worded differently.. and taken straight from the web, with a tad of editing for clarity.
www.borg.com/~jglatt/tutr/midiform.htm#q1
There are 3 different "Types" (sometimes called "Formats") of MIDI files. A Type 0 file contains only one track, and all of the MIDI messages (ie, the entire performance) are placed in that one track, even if this represents many musical parts upon different MIDI channels.
A Type 1 file separates each musical part upon its own track The data is split to tracks based upon the channel data.
Both Type 0 and 1 store one "song", "pattern", or musical performance.
A Type 2 file, which is extremely rare, is akin to a collection of Type 0 files all crammed into one MIDI file. Type 2 is used to store a collection of songs or patterns, for example, numerous drum beats.
-----------
www.midi-classics.com/whatmidi.htm
MIDI Type 0: Type 0 files have all data on ONE time ordered track. This is the most widely supported and streams fastest. Many older arranger keyboards and hardware sequencers can only read or write type 0 files. Type 0 files also load faster.
MIDI Type 1: Type 1 have multiple tracks.
MIDI Type 2: Type 2 are pattern files. (rarely seen)
End of Jazzcat's post
"what's the difference between MIDI file type 0 and MIDI file type 1?"
This was the earlier thread:
midimart.proboards56.com/index.cgi?board=technical&action=display&thread=1199642023
There was an earlier reply but I haven't copied it
Beginning of JazzCat's post
I fully understand the concept and yet I found that one reply to be a bit confusing.
MIDI files come in 3 different formats. 0, 1 and 2. You probably will never see a type 2 format file but I'll give an explanation for it anyway, just in case you run across one. I ran across one back in the old days and I had no clue what it was! I wish I still had it to use as an example.
First I highly recommend reading John G's articles on MIDI He explains the difference in what a track is and what a channel is. To fully understand the difference in file types you must understand the difference in tracks and channels.
The following is from a post I wrote to someone ages ago:
In General MIDI (GM) you have 16 channels. You can have as many tracks as a MIDI sequencing program will allow... Most of them have 1000 tracks available to you, but, the data can only be sent to 16 channels. The data may be spread out to tracks but that really is for human viewing and editing convenience.
A type 0 MIDI file has all of the channel data on one track. A type 1 file splits the channel data to tracks. This is for the convenience of being able to see and manipulate the data for one 'track', or one instrument, easily within a software sequencing program.
I guess using channel 10 as an example of channel vs. tracks might work best.
Channel 10 is a special channel reserved for drums/percussion only. Each drum instrument is assigned a note number. High bongo is middle C (or in MIDI speak, C4, note number 60) so any time you play a C4 you will hear a high bongo sound.
All of your percussion instruments can be on one track or, they can be spread across multiple tracks. Often you will see files that have each drum instrument on a separate track of it's own. But, all of that data is on channel 10. If you change the main volume on any one one of those drum tracks, it will change it on ALL of the drum tracks because all percussion is channeled to 10. If you change the patch number one one track to change the drums from the standard kit to the Room kit all of the percussion tracks will change. Again, that's because all percussion data goes to channel 10.
Clear as mud?
====================
Here is an explanation on the web of a type 0 and type 1 file:
searchstorage.techtarget.com/sDefinition/0,,sid5_gci213649,00.html#
A type 2 MIDI file is sort of a combination of a type 0 and a type 1. It contains multiple tracks, but each track contains a different and complete sequence. That can be complete songs, a selection of drum patterns, or other multi-pattern music sequences which may not necessarily be played simultaneously.
Worded differently.. and taken straight from the web, with a tad of editing for clarity.
www.borg.com/~jglatt/tutr/midiform.htm#q1
There are 3 different "Types" (sometimes called "Formats") of MIDI files. A Type 0 file contains only one track, and all of the MIDI messages (ie, the entire performance) are placed in that one track, even if this represents many musical parts upon different MIDI channels.
A Type 1 file separates each musical part upon its own track The data is split to tracks based upon the channel data.
Both Type 0 and 1 store one "song", "pattern", or musical performance.
A Type 2 file, which is extremely rare, is akin to a collection of Type 0 files all crammed into one MIDI file. Type 2 is used to store a collection of songs or patterns, for example, numerous drum beats.
-----------
www.midi-classics.com/whatmidi.htm
MIDI Type 0: Type 0 files have all data on ONE time ordered track. This is the most widely supported and streams fastest. Many older arranger keyboards and hardware sequencers can only read or write type 0 files. Type 0 files also load faster.
MIDI Type 1: Type 1 have multiple tracks.
MIDI Type 2: Type 2 are pattern files. (rarely seen)
End of Jazzcat's post