m i d i musical instrument digital interface the midi protocol — a “language” that lets...

30
M I D I Musical Instrument Digital Interface The MIDI protocol — a “language” that lets synthesizers, computers and other devices talk to each other.

Upload: marilyn-jodie-rodgers

Post on 24-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

M I D IMusical Instrument Digital Interface

The MIDI protocol — a “language” that lets synthesizers, computers and other devices talk to each other.

The MIDI Language

Messages use MIDI cables.Audio uses audio cables.

• Note on

MIDI Messages

• Note off

• Program change (patch change)

• Pitch bend

• Controller change

• Polyphonic pressure (aftertouch)

• Monophonic pressure (aftertouch)

MIDI Channels

Ch 1: piano

Ch 3: bass

Ch 2: guitar

Ch 4: tuba

MIDI cable carries 16 channels

MIDI devices communicate using messages…

• Note on• Note off• Program change• Pitch bend• Controller change• Pressure (polyphonic)• Pressure (monophonic)

Audio

MIDIUSB

A B

INOUT

IN

Multi-port MIDI Interface (2 in/out pairs)

INA B

OUTA B

USB port

Thru switch – connects In to Out,for use without a computerLeave in ‘out’ position!

Lights!

Multi-port MIDI Interface (8 in/out pairs)

Front

Back

MIDI Outputs MIDI Inputs

USB portEach MIDI cable can carry 16 channels.

Two Kinds of MIDI Network

MIDI Daisy-chain Network

Purpose: provide pathways for MIDI messages

Devices connected in series:

MIDI Star Network

Devices connected in parallel:

interface

interface

MIDI Daisy-chain Network

INOUT

THRUINTHRU

IN

The 3 devices must share 16 channels.

THRU port: transmits copy of messages from IN port

port 4

MIDI Star Network

Each device has 16 channels all to itself.Any device can act as a controller.

port 7

port 5

port 1

Pros and Cons

MIDI Star Network

MIDI Daisy-chain Network

• more accurate timing

• does not require multi-port MIDI interface

• more channels

• more than one device can act as controller

Local Control

sound generator

keyboard

Synthesizer Computer

echo andre-channelizelocal

connection

MIDI messages transmitted:

Internally

Over MIDI cables

MIDI Patch-thru and Re-channelizing

•Local control turned off.•Synth transmits on channel 1.•Sequencer echoes note back to

synth on channel 2.•Synth plays “Detox Lead.”

MIDIUSB

Triton Le

Sequencer: echo and re-channelize

MIDI Data Transmission

Time

Volt

ag

e

What goes through the MIDI cable?

lo hi lo hi lo hi lo hi lo hi lo hi lovoltage:

Timed pulses of electricity – 31250 per second

1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1bits:

MIDI Data EncodingThe bits encode numbers, in groups of 8 bits.

1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1bits:

bytestop bit start bit

= 163 decimal10100011

Byte: an 8-bit binary number

MIDI Message Bytes

Each message contains one or more bytes…

byte 1: Status Byte

bytes 1-?: Data Bytes

• what type of message [e.g., note-on]

• what channel (for some message types)

Stream of bytes parsed into MIDI messages.

• meaning depends on type of message

• each byte has a range from 0 to 127[128 values]

MIDI Data Rate

• 31250 bits / second = 3125 10-bit bytes / second

• Typical messages have 2 to 3 bytes.

• So MIDI can handle between 1000 and 1500

messages per second.

• Sounds like a lot, but it’s easy to clog the stream

with controller and pitch bend messages

Types of MIDI Message

Channel System

MIDI Message

ModeVoice Real-time Common SysEx

Channel Voice Messages

Data 2Data 1Type

ValueNote numPoly pressure

-ValueMono pressure

ValueController numControl change

Bend amountPitch bend

-Program numProgram change

VelocityNote numNote off

Note num VelocityNote on

• All values 0 to 127, except Pitch bend: -8192 to 8191

Channel Voice Oddities

• Program change can select only 128 programs.

Bank Select (a type of Control change message)

lets you select 128 programs within each bank.

• Pitch bend has much wider range (16384 values).

Why? Our ears more sensitive to pitch changes.

• Note off rarely used.

Instead, note on with velocity = 0

Channel Voice MessagesData 2Data 1Type

ValueNote numPoly pressure

-ValueMono pressure

ValueController numControl change

Bend amountPitch bend

-Program numProgram change

VelocityNote numNote off

Note num VelocityNote on

• All values 0 to 127, except Pitch bend: -8192 to 8191

Control Change Message

• One of the 7 Channel Voice messages

• Data byte 1: controller number

• Data byte 2: value [0-127]

• Lots of controller numbers in common use

• Effect on sound dependent on synthesizer patch

Common Control Change Messages

64Sustain (damper) pedal

7Volume

10Pan

6Data entry

4Foot controller

2Breath controller (JS-Y)

Controller NumberController Name

1Modulation wheel (JS+Y)

• JS = Joy Stick; JS+Y = move joystick up along Y axis.

• Sustain pedal is a switch controller – it’s either on or off.

Timing in a MIDI Sequencer

• Measure | Beat | Tick

Example: 2 | 3 | 120

2nd measure3rd beat

120th tick

• Tick: tiny, tempo-dependent unit of time

480 ticks per quarter note(by default in Digital Performer)

Ticks and Note Values

• quarter = 480 ticks

• 8th = ticks

• 16th = ticks

• 32nd = ticks

• triplet 8th = ticks

Quantization

Notes (piano-roll)

Show 8th-note grid

Quantize to 8ths

Snap notes to a rhythmic grid

1.An instrument that controls others[guitar controller, wind controller, keyboard controller, etc.]

2.Physical controls on an instrument[mod. wheel, data slider, foot pedal, breath controller, etc.]

3.MIDI control change messages[volume controller, pan controller, controller #6, etc.]

Different meanings for “control,” “controller”

Synthesizer Polyphony

•‘Polyphony’ means many voices.

•A synthesizer needs at least one voiceto play one note.

•Korg Triton Le has 62 voices

•When you run out of voices, some noteswill be cut short.

•Some sounds need more than one voice per note.

Synthesizer Polyphony

Let’s say a synth has 8-note polyphony.

Play a chord with 8 notes...Now play a new note while holding the others…

One of the first notes stops sounding, even though you’re still playing it.