Digital Audio IV MIDI Overview. Sending MIDI Information I. Serial Transmission A. Single cable to...

25
Digital Audio IV Digital Audio IV MIDI Overview MIDI Overview

Transcript of Digital Audio IV MIDI Overview. Sending MIDI Information I. Serial Transmission A. Single cable to...

Digital Audio IVDigital Audio IV

MIDI OverviewMIDI Overview

Sending MIDI InformationSending MIDI InformationI. Serial TransmissionI. Serial Transmission

A. Single cable to move dataA. Single cable to move data

B. Slower than parallel, but is less B. Slower than parallel, but is less expensive and allows for longer cable runsexpensive and allows for longer cable runs

II. MIDI uses a DIN connectionII. MIDI uses a DIN connection

A. Standard 5 pin DIN connectorA. Standard 5 pin DIN connector

B. Simple, readily available, inexpensive, B. Simple, readily available, inexpensive, already used in many audio and video applicationsalready used in many audio and video applications

MIDI PLUGMIDI PLUG

Pins 1 & 3: Not UsedPin 2: ShieldPin 4: GroundPin 5: Data

MIDI In/ Out/ ThruMIDI In/ Out/ Thru Midi InMidi In receives MIDI information from another receives MIDI information from another

device.device.

MIDI OutMIDI Out sends MIDI data produced by the device sends MIDI data produced by the device out to another midi device.out to another midi device.

Midi ThruMidi Thru passes on any MIDI messages received passes on any MIDI messages received by the MIDI in port. Anything played on a MIDI by the MIDI in port. Anything played on a MIDI instrument goes to the MIDI out port, not the MIDI instrument goes to the MIDI out port, not the MIDI thru port.thru port.

The BasicsThe Basics All MIDI instruments and devices use 8 bit All MIDI instruments and devices use 8 bit

processors. processors.

Can process values from 0-255. Can process values from 0-255.

MIDI messages are grouped in clusters called MIDI messages are grouped in clusters called packets.packets.

Packets consist of Status and Data BytesPackets consist of Status and Data Bytes

Status BytesStatus Bytes Describe the kind of information being sentDescribe the kind of information being sent

Always the first code number sent by a MIDI Always the first code number sent by a MIDI instrumentinstrument

Channel information is included in status bytesChannel information is included in status bytes

Status - values from 128-255Status - values from 128-255

MIDI ChannelsMIDI Channels

Four of the eight bits of a status message Four of the eight bits of a status message specify the specify the MIDI Channel. MIDI Channel. 4 bits have 16 4 bits have 16 possible values (2possible values (2n n where n is the # of bits), so where n is the # of bits), so MIDI has 16 channels available. MIDI has 16 channels available.

MIDI channels make it possible for each MIDI channels make it possible for each instrument in a system to play a unique part instrument in a system to play a unique part while connected together by a single MIDI while connected together by a single MIDI chain.chain.

Data BytesData Bytes Values of actual MIDI eventsValues of actual MIDI events

Follows status bytesFollows status bytes

Data - values from 0-127Data - values from 0-127

5 Types of MIDI Messages5 Types of MIDI Messages Channel Voice Messages Channel Voice Messages

Channel Mode Messages Channel Mode Messages

System Common MessagesSystem Common Messages

System Real Time MessagesSystem Real Time Messages

System Exclusive MessagesSystem Exclusive Messages

Channel Voice MessagesChannel Voice Messages Note on/ offNote on/ off

Polyphonic AftertouchPolyphonic Aftertouch

Control ChangeControl Change

Program ChangeProgram Change

Channel PressureChannel Pressure

Pitch Bend ChangePitch Bend Change

Channel Mode MessagesChannel Mode Messages All Sound OffAll Sound Off

Reset All ControllersReset All Controllers

Local Control On/ OffLocal Control On/ Off

All Notes OffAll Notes Off

Omni Mode Off/ OnOmni Mode Off/ On

Mono Mode OnMono Mode On

Poly Mode OnPoly Mode On

System Common MessagesSystem Common Messages

MTC (MIDI Time Code)MTC (MIDI Time Code)

Song Position PointerSong Position Pointer

Song SelectSong Select

Tune RequestTune Request

End of Exclusive MessageEnd of Exclusive Message

System Real Time MessagesSystem Real Time Messages

Timing Clock (MIDI Beat Clock)Timing Clock (MIDI Beat Clock)

Start - Continue - StopStart - Continue - Stop

Active SensingActive Sensing

System ResetSystem Reset

UndefinedUndefined

Synchronization depends on two factors:Synchronization depends on two factors: Clock reference or speed (i.e. How fast are we Clock reference or speed (i.e. How fast are we

going?)going?) Positional reference (i.e. Where are we?)Positional reference (i.e. Where are we?)

MIDI SynchronizationMIDI Synchronization

MIDI Beat ClockMIDI Beat Clock Sequencers and drum machines have built-in timing Sequencers and drum machines have built-in timing

clocks that let you set them to a desired tempo. clocks that let you set them to a desired tempo. Real time messages are sent out in time with the Real time messages are sent out in time with the

music - the faster the tempo, the faster the music - the faster the tempo, the faster the messages are sent (24 Pulses Per Quarter note or messages are sent (24 Pulses Per Quarter note or PPQ). PPQ).

Clock ReferenceClock Reference

MIDI Time Code (MTC)MIDI Time Code (MTC) Provides location information (i.e. Where are we?)Provides location information (i.e. Where are we?) Location is broken down into 4 sets of numbers:Location is broken down into 4 sets of numbers: Hours: Minutes: Seconds: FramesHours: Minutes: Seconds: Frames

Common Frame Rates/ApplicationsCommon Frame Rates/Applications 30 Frames Per Second (FPS) – Audio Only30 Frames Per Second (FPS) – Audio Only 29.97 FPS – Color Video (NTSC standard used in 29.97 FPS – Color Video (NTSC standard used in

USA)USA) 24 FPS – Film24 FPS – Film 25 FPS (EBU/PAL standard used in European 25 FPS (EBU/PAL standard used in European

countries)countries)

Positional ReferencePositional Reference

SMPTE and MTCSMPTE and MTC

System Exclusive MessagesSystem Exclusive Messages(Sys Ex)(Sys Ex)

The memory inside a MIDI instrument stores The memory inside a MIDI instrument stores info about the patches as a list of parameters. info about the patches as a list of parameters.

These parameters are unique to each These parameters are unique to each instrument and include info on waveforms, instrument and include info on waveforms, brightness, and other timbral elements. brightness, and other timbral elements.

System ExclusiveSystem Exclusive messages allows this info to messages allows this info to be sent between similar instruments and from be sent between similar instruments and from instruments to computers or sequencers. instruments to computers or sequencers.

Recommended PracticesRecommended PracticesThe first specification (1983) did not define every possible The first specification (1983) did not define every possible "word" that can be spoken in MIDI , nor did it define every "word" that can be spoken in MIDI , nor did it define every musical instruction that might be desired in an electronic musical instruction that might be desired in an electronic performance. So over the past 20 or more years, companies performance. So over the past 20 or more years, companies have enhanced the original MIDI specification by defining have enhanced the original MIDI specification by defining additional performance control messages, and creating additional performance control messages, and creating companion specifications which include:companion specifications which include:

MIDI Machine ControlMIDI Machine Control MIDI Show ControlMIDI Show Control General MIDIGeneral MIDI Downloadable SoundsDownloadable Sounds Standard MIDI Files (SMFs) Standard MIDI Files (SMFs)

MIDI Machine ControlMIDI Machine ControlMMCMMC

MIDI performs other non-musical tasks that MIDI performs other non-musical tasks that have special System Exclusive Codes called have special System Exclusive Codes called MIDI Machine ControlMIDI Machine Control. .

These codes can operate video and audio These codes can operate video and audio recording decks or automate lighting rigs and recording decks or automate lighting rigs and other functions that require precise timing.other functions that require precise timing.

Standard MIDI FilesStandard MIDI FilesMIDI Files may be of two types:MIDI Files may be of two types:

Type 0 – All MIDI parts are condensed onto a Type 0 – All MIDI parts are condensed onto a single MIDI track.single MIDI track.

Type 1 – All MIDI parts kept on separate tracks.Type 1 – All MIDI parts kept on separate tracks.

MIDI files have a (.MID) extension on both PCs MIDI files have a (.MID) extension on both PCs and Macsand Macs

Standard MIDI FilesStandard MIDI FilesSetup DataSetup Data

An SMF also should have data (commonly An SMF also should have data (commonly referred to as a ‘header') that contains: referred to as a ‘header') that contains:

TempoTempo Instrument selections per ChannelInstrument selections per Channel Controller settingsController settings Copyright noticesCopyright notices ComposerComposer