MIDI Messages and Synthesizers 2 : MIDI Messages and Synthesizers 2
Anatomy of a Synth : Anatomy of a Synth Case - usually plastic, sometime wood
Integrated Controller - usually a keyboard
Data controllers - buttons, switches, sliders, knobs, etc.
CPU - the computer brain
Integrated TG - tone generator
ROM
RAM
Audio Out - built in speakers or connectivity to an amp
MIDI Ports - provide interconnectivity to other synths and computers
MIDI Overview : MIDI Overview Dave Smith - 1983
MMA - 1985
MIDI Manufacturer’s Association
MIDI 1.0 Specification
MIDI Protocol
All devices have IN, OUT, and Thru ports
5-pin DIN connector
Binary numbers (1’s and 0’s) are the basic language
8-bit Status and Date bytes
Messages are use to create complete actions
General MIDI : General MIDI Developed by the MMA
Standardized MIDI Programs (Patches) so that composers could share MIDI files and…
Assured that relatively similar sounds are played back
GM1
1991
128 sounds divided into 16 families
47 percussion sounds on MIDI Channel 10
24-note polyphony
16-part multi-timbral
Velocity sensitive
Responds to all 16 MIDI channels, channel pressure and pitch bend
Supports controllers 1,7,10,11,64,121, and 123
Review : Review MIDI Connector
Type, pins
Binary Numbers
Bits
Nibbles
Bytes
Powers of 2 : Powers of 2 1 0 1 1 0 1 0 1 1 2 4 8 16 32 64 128
Nibble Practice : Nibble Practice 1001
Decimal=9
0110
Decimal=6
1110
Decimal=14
0000
Decimal=0
Byte Practice : Byte Practice 01001001
Decimal=73
10010010
Decimal=146
Decimal=17
00010001
Decimal=250
11111010
Byte Types : Byte Types Status Byte
Specifies a performance action
Decimal=128-255
Data Bytes
Provide parameters for Status Bytes
Decimal=0-127
MIDI Message : MIDI Message Begins with a single Status Byte
Status byte followed by 1, 2, or 3 Data Bytes Status Byte Data Byte Data Byte
Anatomy of Binary Bytes : Anatomy of Binary Bytes X X X X X X X X Most Significant
Bit Least Significant
Bit Most Significant
Nibble Least Significant
Nibble Most or Least Significant
Byte
Status Bytes : Status Bytes Performance Action
Value of 128-255
MSB IS ALWAYS = 1
2 Types
Channel Message
System Message Channel-Voice Message
Channel-Mode Message
Channel-Voice Message Anatomy : Channel-Voice Message Anatomy Status Byte Data Byte Data Byte 1XXXXXXXX 0XXXXXXXX 0XXXXXXXX
Channel-Voice Messages : Channel-Voice Messages Specifies what type of message AND which of the 16 MIDI channels X X X X X X X X 1 0 0 0 0 0 0 0 (128)
Note Off (0)
Ch. # 1
C.V.M. Categories : C.V.M. Categories
Data Bytes : Data Bytes Provide follow-up info for Status Bytes
Value of 0-127
MSB IS ALWAYS = 0
Note On and Off Messages : Note On and Off Messages Both require one Status Byte and two Data Bytes
Data Byte 1 = “which key (Note)”
Data Byte 2 = “how hard (Velocity)” Status Byte Data Byte Data Byte
Slide 18 : 1 0 0 0 n n n n Key # Release Velocity 1 0 0 1 n n n n Key # Attack Velocity Note Off 128-143 144-159 Note On 0-127 0-127 0-127 0-127
Note On/Off Messages Data Byte 1 - MIDI Key/Note Number : Note On/Off Messages Data Byte 1 - MIDI Key/Note Number
Note On/Off Messages Data Byte 2 - Attack/Release Velocity : Note On/Off Messages Data Byte 2 - Attack/Release Velocity
Channel-Mode Messages : Channel-Mode Messages Channel-Mode Messages are specialized “Control Change” messages
Can be sent down any MIDI channel
System Messages : System Messages A message consisting of data that is sent to all MIDI devices in a MIDI Network.
Status Bytes 240-255
Three Types…
System Messages : System Messages System Exclusive (SysEx)
Allows two identical synths to share data as desired by the manufacturers of the instrument
System Common
System Real-time