Musical Instrument Digital Interface
A data communications protocol that describes a means for music systems and related equipment to exchange information and control signals.
MIDI is not audio signal MIDI represents the information needed to recreate a performance as many individual pieces of data.
that can be controlled with MIDI
Keyboards Synths Effects units MIDI Interface/Control Devices Lighting Boards Mixers Computer Programs – computers Fireworks
MIDI Cable – 5 pin DIN connectors
MIDI Interface – Multiple inputs and outputs which can digitally route MIDI Messages on the fly, much like a patch bay.
Receives MIDI messages
Transmits MIDI Makes a copy and passes through whatever comes into the MIDI IN
This is a typical MIDI/Computer setup.
Additional devices can either be routed by the interface or connected to the MIDI THRU of the preceding device. Devices can be directly routed to one another without the need of a computer or interface
They look like a keyboard but may just only transmit MIDI information. No onboard sound creating engine. Wind Controllers, MIDI guitars, MIDI Drum sets. In a typical setup, the MIDI information will be transmitted to a sound module which receives the messages and performs the notes.
Monophonic/Polyphonic Keyboard Splitting – split points Mod wheel Pitchbend Hold/sustain Volume Velocity sensitive Aftertouch – Monophonic and Polyphonic
Other Types of Controllers
Continuous Controllers Mod Wheel Bi-directional Controllers Pitch Bend Switch Controllers On/off
But what do all these things do to make sounds?
MIDI uses binary code to transmit signals across the MIDI cable. This code informs the MIDI device receiving it how to act. There are 16 channels that any device can either send or receive to over one MIDI cable. Some may send and receive on several at once.
Main Types of MIDI Messages
Channel Mode Channel Voice
System Common Messages System Real-time System Exclusive
Channel Messages – specify a particular MIDI channel within the message and generally control aspects of performance.
Channel Mode are used primarily to select one of the four MIDI modes for a device.
Mode 1 – Omni On/Poly Mode 2 – Omni On/Mono Mode 3 – Omni Off/Poly Mode 4 – Omni Off/Mono – multitimbral Multi Mode - in Mode 4 each channel acts polyphonically up to the polyphonic capability of the device.
MIDI MESSAGE FORMAT
All MIDI information coded in bytes
7 data bits and 1 message type bit (MSB)
MSB = 1 means System Message MSB = 0 means Channel Message
7 data bits: range of values 0-127
Messages sent in “packets”
1st Byte: “Status Byte” has channel and type 2nd Byte: data one 3rd Byte: data two (some messages only)
Channel Voice Messages
Note On Note Off Channel Pressure (aftertouch) Polyphonic Key Pressure (aftertouch) Program Change Control Change – affects parameters of notes that are already “on”. See MIDI 1.0 Detailed Spec.
127 different parameters. Continuous Controllers On/Off switch Controllers Data Controllers Undefined Controllers
Most Important Controller Numbers:
1 – mod wheel 2 – breath control 4 – foot controller 7 – main volume 64 – sustain pedal 66 – sostenuto pedal 67 – soft pedal
PitchBend Has much higher resolution, uses 14 bit resolution
Common Messages, Industry Conventions, and General MIDI
is “Real-Time” System Describes music in “generic” terms MIDI Synths “interpret” and “realize” All MIDI Synthesizers are different
MIDI Synthesizers fundamentally the same
All understand basic MIDI channel messages All allow user to select and play sounds by MIDI
Different programs, or “algorithms” Different types of sounds with different controls
MODEL: MASTER AND SLAVE
Keyboard (master) sends MIDI messages on a given channel Synthesizer (slave) must be set to receive MIDI properly
Mode: Omni or Poly If Poly, then channel must be the same as the Master’s Note On/Note Off Continuous Control (MW, Pedals) Pitch Bend Program Change
Primary MIDI Messages:
NOTE ON/NOTE OFF MESSAGES
Note On msg is sent whenever a key is depressed on a MIDI keyboard
Contains current output MIDI channel Contains MIDI note number of key pressed Contains Velocity with which key was hit
Note Off msg is sent when a key is released
Should correspond to a preceding Note On msg Many companies use a 2nd Note On with velocity of zero, instead – Yamaha, for example
CONTINUOUS CONTROLLER MSGS
to allow dynamic control of synthesizer parameters, for example:
Volume Control Vibrato Speed and Depth Timbre Changes (Filtering, modulation)
are Channel Msgs with 2 data bytes
Data Byte 1: controller # (0-127) Data Byte 2: controller value (0-127)
Optionally, MSB/LSB with CC# + 32
PRIMARY RESERVED CC NUMBERS
0: CC 1: CC 4: CC 6: CC 7: CC 10: CC 64: CC 123:
Bank Select Modulation Wheel Modulation Pedal Data Entry Volume Pan Position Sustain Pedal All Notes Off
MIDI PROGRAM CHANGE MSG
PC message used to change the sound on a particular MIDI channel Channel Message with 1 Data Byte Also called “Patch Change” message “Patch” comes from Modular Synths
A particular way of connecting modules CPU: a sound generation program Sometimes called a “voice”
MIDI PROGRAM CHANGE MSG
Available PC numbers: 0 – 127
Most manufacturers use 1 – 128 Some synthesizers have only 32 programs Some have hundreds, divided into “Banks”
Approaches to Using More Programs:
Bank Select (CC# 0 and 32) Kurzweil: PC 0-99 normal, 100-127 bank Bank Select or PC 100 must come first
RECORDING MIDI DATA
Device or software program designed to record, edit, and play back MIDI data Many different types, made by many different manufacturers Typically modeled on multi-channel tape recorders: multiple independent tracks Every company saves sequencer data in a different, proprietary file format
INTRODUCTION TO CUBASE SX
Manufactured by Steinberg DAW Software, like Nuendo Unlimited MIDI and Audio Tracks Recording, Editing, Mixing, Processing Support for “Plugins” – Add-on Pgms Supports most Audio, MIDI interfaces Inter-application Communication via “Rewire”
STANDARD MIDI FILES
Extension to original MIDI 1.0 Spec Provide a standard format for storing MIDI Sequencer Data Three types of SMFs:
Format 0: 1 multi-channel track Format 1: Multiple multi-channel tracks, track 1 is tempo map for all tracks Format 2: Multiple tracks with independent tempos (not commonly used)
An industry standard set of sounds
Grouped by families (8 sounds in each)
Family PC# Family Piano 65-72 Reed Chromatic Percussion 73-80 Pipe Organ 81-88 Synth Lead Guitar 89-96 Synth Pad Bass 97-104 Synth Effects Strings 105-112 Ethnic Ensemble 113-120 Percussive Brass 121-128 Sound Effects
PC# 1-8 9-16 17-24 25-32 33-40 41-48 49-56 57-64
Channels 1-9, 11-16 standard use
Typically one sound per channel Polyphonic (multiple voices, same sound) Notes may sustain indefinitely
Channel 10 is “Drum Channel”
Each note number a different drum Most notes simply trigger Duration may be determined by velocity
GM DRUM KITS
Standard Kit (partial list):
Key# Drum Sound 59 Ride Cymbal 2 60 Hi Bongo 61 Low Bongo 62 Mute Hi Conga 63 Open Hi Conga 64 Low Conga 65 High Timbale 66 Low Timbale
Key# Drum Sound 35 Acoustic Bass Drum 36 Bass Drum 1 37 Side Stick 38 Acoustic Snare 39 Hand Clap 40 Electric Snare 41 Low Floor Tom 42 Closed Hi Hat