Reference Guide

1282 MIDI files
SONAR supports two different MIDI file formats, MIDI Format 0 and MIDI Format 1. Format 0 MIDI
files contain a single track, with all events stored in that track. Format 1 MIDI files can store up to
7256 tracks, just like SONAR project files. When you load a MIDI Format 0 file, SONAR splits it into
16 separate tracks, based on the MIDI channels assigned to each event. When you save a project to
a MIDI Format 0 file, SONAR collapses MIDI information from all of its tracks into one single track.
SONAR also lets you save and load files in the RIFF MIDI file format. This is a standard Resource
Interchange File Format specification that encapsulates a Standard MIDI File of either format 0 or
format 1. These files typically have an extension of .rmi.
A disadvantage of MIDI files is that the way the file sounds on playback varies based upon the
sound reproduction hardware you are using. The same project sounds very different on two different
synthesizers or two different sound cards. Another problem is that the Standard MIDI File
specification leaves some details open to interpretation by software and hardware manufacturers.
To save a project as a Standard MIDI file or RIFF MIDI file
1. Choose File > Save As to display the Save As dialog box.
2. Choose the desired format from the Save as Type list.
3. Enter a file name and click Save.
See:
“Timebases” on page 1282
“Supported MIDI file meta-events” on page 1283
“Features not supported by MIDI files” on page 1283
“Other MIDI file handling notes” on page 1283
“Special handling of GM, GS, and XG MIDI files” on page 1284
“If you have problems playing MIDI files” on page 1284
“If you plan to publish your songs” on page 1285
Timebases
MIDI files can be expressed in any of a number of timebases (ppq resolutions). It is likely that most
MIDI files you will encounter use a common timebase, such as 96 or 120. Although SONAR
supports many timebases, it is possible that a MIDI file may use a timebase that SONAR does not
support. In that case, the times will be converted into whatever timebase is currently the default.