Instruction manual - Pizzicato 3.6.2 | EN400 - Revision of 2013/05/29 |
MIDI
Subjects covered:
The purpose of MIDI [Light] [Beginner] [Professional] [Notation] [Composition Light] [Composition Pro] [Drums and Percussion] [Guitar] [Choir] [Keyboard] [Soloist]
MIDI means Musical Instrument Digital Interface. Its purpose is to transmit the actions executed with a musical keyboard in a digital form.
It is a universally adopted language to exchange musical information between synthesizers and computers.
When you hit a note on a musical keyboard, the keyboard immediately sends a message to its MIDI output. This message communicates for example that the C-3 note has just been pressed. When you release the note, another message is instantaneously sent to express that the C-3 note is released.
If a pedal is connected to your synthesizer, the fact of pressing or releasing this pedal also sends a MIDI message expressing this action. Similarly, when you move a lever located on your keyboard, it also generates MIDI messages.
In other words, each action executed by the performer on his keyboard is translated and instantaneously sent as a MIDI message to the devices connected to it by a cable.
These standard MIDI messages only contain numbers which characterize the type and the content of the message. Those numbers are instructions which command a synthesizer what to play and how to play it. It is not a sound which goes through a MIDI cable, but only a set of instructions used to control a musical synthesizer.
When the computer wants to play a score on a synthesizer, it simply sends the necessary MIDI instructions to it, and the synthesizer produces the sounds, not the computer. The computer simply replaces the performer.
Therefore, the sound quality depends only of the synthesizer which executes the MIDI commands. MIDI does not have a "sound quality". A MIDI message simply gives the order "Play this note!" and the synthesizer executes it with its capabilities.
MIDI messages [Light] [Beginner] [Professional] [Notation] [Composition Light] [Composition Pro] [Drums and Percussion] [Guitar] [Choir] [Keyboard] [Soloist]
The purpose here is not to explain the detailed structure of the MIDI language messages, but simply to understand the principles used to exchange musical information.
The most significant messages are those specifying when a note is pressed or released with the musical keyboard. When you press a key on your musical keyboard, 3 numbers are sent:
(Note ON + channel) + (Key number) + (Velocity)
- Note ON simply means that the key has just been pressed and the channel is a sort of address (we will explain this further).
- Key number specifies which key is being pressed. The keys has a standard number between 0 and 127, the lower C of the treble clef being number 60.
- Velocity is the force with which the key was hit. You may indeed press a key gently or very sharply. Many keyboards record this force and send it in MIDI. The synthesizer receiving this note plays it more or less loudly according to the value of the velocity (between 0 and 127, 64 being a value often sent by default when the keyboard is not sensitive to velocity).
A similar message is sent when you release the key:
(Note OFF + channel) + (Key number) + (Velocity)
- Note OFF means that a key has been just released.
- Key number specifies which key was released.
- Velocity is seldom used or placed to 0.
When you play on a musical keyboard, each note thus generates two MIDI messages. The first is sent when you press a key and the second when you release it. A piece of music generates a constant flow of MIDI messages.
Besides note messages, there is a whole series of various MIDI messages used to modify the characteristics of the performance. We will examine two types of messages here, the program changes and the MIDI controllers.
A program change is a MIDI message requiring the synthesizer to change its sound. It contains a number between 0 and 127, which specifies the number of the desired sonority. Each synthesizer has a numbered list of sounds it can generate. When it receives a program change, the synthesizer selects the sound corresponding to the given number.
If a synthesizer has a flute sound bearing number 21 and if you want to play flute with your keyboard, you need to send a program change with number 21. The notes you will then play will be heard with a flute sonority. You can find the list of sounds of your synthesizer in its instruction manual. These lists may be specific to each synthesizer.
A very widespread standard has been adopted by manufacturers as a compatible mode. It is the GM (General Midi) standard. It establishes a unique correspondence between the program change numbers and the sounds. Thus a piano sound bears number 1, the trumpet bears number 57, etc. When Pizzicato plays a score, it first sends a program change before starting to play the notes, so that the synthesizer knows with what sonority those notes must be played.
MIDI Controllers are messages used to change the way in which sounds are generated in the synthesizer. There are 128 different controllers, but only a small part of it is in common use.
The volume controller (number 7) for example, determines the output volume of the instrument sound. This message specifies to the synthesizer the volume the sound must have. When it receives a volume controller, the synthesizer uses it to fix the sound level of the instrument. The value can vary between 0 (the sound is not audible) and 127 (maximum level). It is used to regulate the general balance between instruments.
Other controllers allow to change the balance (stereophonic effect: instrument on the left or on the right), to add a vibrato in the notes, etc.
One of the controllers simulates the effect of the hold pedal (right side pedal of a piano). When it is activated, it holds the notes until the pedal is released.
MIDI channels [Light] [Beginner] [Professional] [Notation] [Composition Light] [Composition Pro] [Drums and Percussion] [Guitar] [Choir] [Keyboard] [Soloist]
Until now we have considered that only one instrument was playing. How to play a score which contains 5 different instruments?
A MIDI connection actually contains 16 independent MIDI channels. It is like a highway with 16 tracks, where MIDI messages may circulate on a track without affecting the messages of the other tracks.
A multitimbral synthesizer is able to generate several different sonorities at the same time, like the piano, the guitar, the battery, etc. Most current synthesizers allow this.
The 16 MIDI channels connected to the synthesizer behave as if there were 16 different synthesizers at the end of the cable. Pizzicato can work with the various channels by assigning each instrument to a channel and by sending the notes on the corresponding channels.
When one of the above MIDI messages is sent, the channel is specified.
Let us take a simple example: a piano, bass and battery score. Pizzicato assigns channel 1 to the piano, channel 2 to the bass and channel 10 to the battery (most synthesizers reserve channel 10 for percussions). Before starting to play, Pizzicato sends the following program changes:
- Number of the piano sound ===> channel 1
- Number of the bass sound ===> channel 2
- Number of the battery sound ===> channel 10
From this moment, all notes sent on channel 1 will be played with a piano sound. Similarly, notes sent on channel 2 will play the bass and notes sent on channel 10 will activate the battery.
When Pizzicato plays the score, it assigns itself the MIDI channels to use, according to the possibilities of your synthesizer. After having sent the program changes, the notes of the piano staff are sent on channel 1, the notes of the bass on channel 2 and the notes of the battery on channel 10.
When you change the volumes and the options of the instruments view, Pizzicato sends the messages corresponding to the channels assigned to each staff, for example to decrease the volume of the bass, or to add reverberation on the battery, etc.
A detailed and complete explanation of the MIDI language would be out of the scope of this manual. Nevertheless, you have here an outline of MIDI, well sufficient to use Pizzicato, because in most current functions, Pizzicato completely handles MIDI for you.