# ' . 1 2 3 4 5 6 7 8 9 ? A B C D E F G H I J K L M N Ö P Q R S T U V W X Y Z
# ' ( - . / 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ` ¿

What is a MIDI file ?

Inside a MIDI file

The MIDI format: the genetic code of music

A MIDI file is a type of file that stores digital sheet music. It contains information about which notes are played, when they are played, and how long they are played, but does not store any actual audio data. Instead, it uses a series of messages to control MIDI-enabled devices, such as synthesizers or sound modules, to generate the desired sound.

MIDI files can be played back using a variety of software and hardware devices, and can also be edited and manipulated to change the tempo, pitch, or instrumentation of a piece of music. 

It is a file format that stores music-related data, such as notes, control signals, and timing information. MIDI stands for Musical Instrument Digital Interface and is a standard protocol used for communication between electronic musical instruments, computers, and other devices. MIDI files are often used in music production and can be played back on a wide range of devices, including computer software, digital keyboards, and other electronic instruments. They can also be used to control and synchronize other devices, such as lighting and video systems.

Inside a MIDI file

The information contained in a MIDI file (or MIDI sequence) is sent :

>>>>>> FROM : a transmitter (a software / sequencer / DAW, keyboard, pad etc.)
>>>>>> TO : a sound generator (a sound module, a VST/AU plugin, an expander, a MIDI synth) or any MIDI device to be synchronized with

and contain the following information: 

  • Who is playing? Track #
  • At what tempo? Tempo is set and can varie during the song
  • With which sound ? A program #
  • When? From a mesaure to another (or time set)
  • With which notes and how? 
  • And for how long? 
  • Any other options ? Sure ! Velocity, effects, pan etc can d-be added

Let's open a MIDI file (.mid or .kar) and look at some lines of these "instructions" or "events".

001:01:000 1 Meta Event Set Tempo 129.14 FF 51 07 16 E4 00:00:00:00 0
001:01:000 7 Meta Event Channel Prefix 6 FF 20 05 00:00:00:00 0
001:01:000 7 Meta Event Track Name guitar nylon FF 03 67 75 69 74 61 72 20 6E 79 6C 6F 6E 00:00:00:00 0
001:01:000 7 Meta Event Instrument Name Classical Acoustic Guitar FF 04 43 6C 61 73 733 74 69 63 20 47 75 69 74 61 72 00:00:00:00 0
001:01:000 7 6 Controller 00 Bank Select MSB 121 B5 00 79 00:00:00:00 0
002:01:000 2 1 Note C4 107 064 240 90 48 6B 00:00:01:21 1920

What do these lines tell us? : 

That the tempo is 129.14

That track 6 is called "guitar nylon" and is assigned to the program "Classical acoustic guitar" N° 24 (in hexadecimal)

That the 1st note for this guitar is a C 4 (C4) played in bar 2, beat 1

How are they interpreted? :

It is simply a sequence of instructions that run line by line in all dedicated software and hardware: Cubase, Logic, Live!, Korg, Yamaha, Roland, Arturia, Musescore, Reason, GuitarPro, Adobe etc. Thousands of pieces of information can be listed, from the note, to volume and velocity indications, and even more "complex" parameters such as effect settings, or specific to the hardware you are using.

How are they "transported"? :

The MIDI sequences "circulate" in a physical MIDI cable (via the MIDI IN and OUT sockets) or virtual (an instrument plugin integrated into the music software). 

This musical network meets the "MIDI standard".

How are they "created" ? :

MIDI sequences are transcriptions made with specific software allowing the export of .mid files (DAW) such as Cubase, Logic, Ableton Live! 

The GM, GS, XG standards: a universal instrument library
The MIDI sequences that we propose are all in the GM standard: General MIDI. This means that it will be played with the right instruments, whatever the software or hardware used. The two other standards are more extensive instrument libraries edited by Yamaha (XG) and Roland (GS).

What are the differences between MIDI file and an audio file ?

A MIDI file and an audio file are two different types of files that are used for storing and playing back music. The main differences between them are:

File format: MIDI files use a specific file format that stores music-related data such as notes, control signals, and timing information. Audio files, on the other hand, store recorded sound, such as music, speech, or sound effects.

  • Sound quality: Audio files are a recording of sound and therefore have a high quality sound. MIDI files, however, do not store actual sound recordings, only the instructions for how to play back the music. The sound quality of a MIDI file will depend on the device or software used to play it back.
  • File size: Because MIDI files do not store actual sound recordings, they are much smaller in size than audio files. This makes them more easily portable and useful for applications such as mobile music production.
  • Editing capabilities: MIDI files are highly editable, you can change the notes, tempo, pitch and other elements of the song. Audio files, on the other hand, are typically more difficult to edit, as they are a recording of sound.
  • Compatibility: MIDI files are compatible with a wide range of devices and software, while audio files may require specific software or hardware to play back.

Compatible with almost everything !

A .mid / .kar file can be imported into any music DAW or music hardware

The GM, GS, XG standards: a universal instrument library

The MIDI sequences that we propose are all in the GM standard: General MIDI. This means that it will be played with the right instruments, whatever the software or hardware used. The two other standards are more extensive instrument libraries edited by Yamaha (XG) and Roland (GS)

MIDI was developed by Dave Smith in 1981 and introduced in 1983. Soon after, the first MIDI-compatible instruments were developed by various manufacturers. Since at that time the MIDI protocol did not yet define the parameters to be used to control special voices, e.g. bass or violins, nor the sound effects, it was practically impossible to couple instruments from different manufacturers.

This problem was solved by the adoption of the General MIDI (GM) standard in 1991, which defined a list of 128 instruments and their program numbers.

Very soon, some manufacturers realized that the limitation of GM to 128 programs was not enough and that the control of effects had to be extended to the 128 types of control events also possible.

As early as 1991, Roland extended the GM standard with the GS (General Sound) format, which already overcame many of the limitations of GM.

In 1994 Yamaha introduced the XG (Extended General MIDI) format, which is fully backwards compatible with GM, but offers many more extensions.

The reproduction of songs created under XG or GS is possible on GM instruments, with certain quality restrictions. Similarly, GM songs can also be played on XG or GS. However, XG and GS are not compatible with each other.

GM was extended in 1999 by the inter-manufacturer agreement GM2 (General MIDI 2). GM2 is, like GM, a minimum standard, but it has apparently not become completely established, because the manufacturers Yamaha and Roland still have more possibilities with XG and GS.

The active performance of a piece of music on a MIDI-compatible instrument can be recorded on a computer by a sequencer program (or DAW) and stored as a file (MIDI file). MIDI files contain sequences of events, each event being time-stamped.

A MIDI file thus contains all the information needed to reproduce the performance in the same way later. The format of MIDI files was defined in 1988 under the names Standard MIDI-File Format 0 (SMF0) and Standard MIDI-File Format 1 (SMF1). Format 0 MIDI files contain a single sequence (tracks) of MIDI events, while Format 1 files contain several, each with an independent time count. The SMF2 format, which is rarely used today, is based on format 1.

In addition to the events transmitted via MIDI, MIDI files can contain events that contain other information: These are called "meta events". Examples of such meta-events are bar, key, tempo, copyright and lyrics of the song. In addition, manufacturers have the possibility to introduce their own meta events, which are then only used on their instruments and are therefore not standard.

The sequencers allow you to insert and edit all the events contained in the MIDI files, including the standard meta events. To edit manufacturer-specific Meta Events, there was the XG Works sequencer, which is no longer available today. It has been replaced by some software tools programmed by MIDI file manufacturers and users.

Today's keyboards often allow you to record your own playing directly as a MIDI file. It is then no longer necessary to install additional software and one does not need a sequencer at first either. Another advantage is that meta-events can also be saved in the file. Keyboards usually have additional functions that allow editing of MIDI files.

With a maximum of 16 MIDI channels, it is possible to play 16 different voices (instruments) simultaneously, independently of each other. On each channel, several sounds (e.g. chords) can be played simultaneously. The maximum total number of sounds that can be played simultaneously is called polyphony. On today's keyboards, however, complex voices load several polyphony values per note. These instruments usually have a polyphony of up to 128 or more.