|
|
What
Is MIDI?
Simply stated, the Musical Instrument Digital Interface, or MIDI, is a
digital communications language and compatible hardware specification
that enables multiple electronic instruments, performance controllers,
computers, and other related devices to communicate with one another
within a connected network.
MIDI is used to translate performance- or control-related actions (such
as playing a keyboard, selecting a patch number, or varying a
modulation wheel) into equivalent digital messages. It then transmits
these messages to other MIDI devices where they can be used to control
their sound generation or control parameters in a performance setting.
Alternatively, MIDI data can be recorded into a digital device (known
as a sequencer) that can be used to record, edit, and playback MIDI
performance data.
System Interconnection
MIDI enables 16 channels of performance, controller, and timing data to
be transmitted—in one direction—over a single data
line. Consequently, it’s possible for a number of devices to
be connected within a network through a single data chain for
communicating MIDI messages.
A MIDI cable consists of a shielded, twisted pair of conductor wires
that has a male 5-pin DIN plug located at each end. The MIDI
specification presently uses only three of the possible five pins, with
pins 4 and 5 being used as conductors for MIDI data, and pin 2 being
used as a ground connection. Pins 1 and 3 currently are not in use but
are reserved for possible changes in future MIDI applications.
Computer-Based Sequencers
Sequencers also are available as software packages that use the
personal computer for performing central processing, memory, and I/O
(input/output) functions. These systems are often powerful and
extremely versatile in their speed, digital signal processing
capabilities, memory management, and their capability to perform a
diverse range of tasks under software control.
As you might expect, sequencing software is available for most Apple
and IBM compatible machines. The majority of these computers require an
external MIDI interface that is used for receiving and distrubuting
MIDI data.
Computer based sequencers have several advantages over their
hardware-based counterparts. One of the strongest advantages is easy
visibility and access to both basic and advanced editing functions,
resulting from the PC’s extensive DSP and graphics
capabilities. Using standard cut-and-paste methods it becomes a simple
matter to move a musical segment from one track to another, cut a
musical passage from a song and save it to clipboard memory for later
use, or copy a passage to a track. In addition, the large screen and
established graphics interface style make it much easier to perform a
complex function. Graphics pattern editing also lets the user quickly
and easily change the pitch, start, and duration of times of a note as
it appears on the screen (in a style known as piano roll editing),
often through the simple movement of a mouse.
Because computer-based sequencers make use of the PC’s memory
management capabilities, sequenced files can be easily stored onto
either hard or floppy disks, while note capacity is usually restricted
only by the PC’s amount of internal RAM.
Sequencers
One of the most important devices in MIDI production is the MIDI
sequencer. A sequencer is a digitally based device or a computer
program that is used to record, edit, and output performance-related
MIDI data in a sequential fashion. The recorded MIDI-related channel
and system messages commonly represent real-time or non-real-time
performance events such as note on/off, velocity, modulation,
aftertouch, and continuous controller messages. After a performance has
been “recorded” into a sequencer’s or a
computer’s internal memory, the data can be edited and saved
to hard or floppy disk. When the sequence is played back, the device
outputs these MIDI messages to the various connected MIDI devices
within the system to re-create the performance. Unlike a recorded
performance in which the instrument’s sounds are produced
under the direct control of a live player, a sequencer communicates
real-time performance data to various electronic instruments, which in
turn produce the performed sound.
Most sequencers have a design similarity to their distant cousin, the
multitrack tape recorder, in that MIDI data can be recorded onto
separate “tracks” that contain isolated, yet
related, performance material that is synchronous in time. Each of
these tracks can be assigned to any MIDI channel and may contain any
number of performance-and control-related messages (within the memory
constraints of the device). When played back, the instruments and
devices in the system that are assigned to a specific MIDI channel
(0-16) respond only to track (or tracks) transmitting on that
particular channel.
The number of individual tracks offered varies widely from one
manufacturer and model type to the next and ranges from 8 to over 500
tracks. Almost every system is capable of transmitting and receiving
data over all 16 MIDI channels, although most professional sequencers
can communicate data over two or more independent MIDI data lines,
which enables them to address 32 or more separate MIDI channels.
Another important feature offered by most sequencers is the capability
to edit MIDI data in the digital domain. Standard cut-and-paste editing
techniques generally are offered, which enable segments of sequenced
data to be cut, copied, or reinserted at any point in a track or to any
other track. Complex algorithms for performing such tasks as velocity
changes, modulation and pitch bend, transposition, and humanizing (the
controlled randomization of performance data to approximate human
timing errors that are generally present in a live performance), as
well as control over program or continuous controller messages, can
also be inserted and changed.
The MIDI Interface
Although both the MIDI protocol and the personal computer communicate
through digital data, a digital hardware device known as a MIDI
interface must be used to translate MIDI’s serial message
data into a structure that can be understood by and communicated to the
computer’s internal operating system. MIDI interfaces such as
the Midisport series, as well as a full line of USB Midi keyboards and
control surfaces, are available
today.
Benefits
of MIDI
MIDI
is a technology that represents music in digital form. Unlike other
digital
music technologies such as MP3 and CDs, MIDI messages contain
individual
instructions for playing each individual note of each individual
instrument. So
with MIDI it is actually possible to change just one note in a song, or
to
orchestrate and entire song with entirely different instruments. And
since each
instrument in a MIDI performance is separate from the rest, its easy to
"solo" (listen to just one) individual instruments and study them for
educational purposes, or to mute individual instruments in a song so
that you
can play that part yourself.
MIDI
Continuous Controllers - MIDI CC -
A MIDI
continuous controller command consists of the MIDI controller command
followed
by two data bytes that specify the controller number and the
controller's value:
0xb0 | channel = MIDI continuous controller command
0 .. 127 = MIDI continuous controller number
0 .. 127 = MIDI continuous controller value
Allows continuously changing information such as pitch wheel or breath
controller information to be passed over the MIDI line. Continuous
controllers
use large amounts of memory when recorded into a MIDI sequencer. Some
standard
MIDI Continuous Controller numbers are listed below although the EIII
allows you
to assign controllers and destinations to any Continuous Controller
channel.
A Controller message has a Status byte of 0xB0 to 0xBF depending upon
the MIDI channel. There are two more data bytes.
The first data byte is the Controller Number. There are 128 possible
controller numbers (ie, 0 to 127). Some numbers are defined for
specific purposes. Others are undefined, and reserved for future
use.
The second byte is the "value" that the controller is to be set
to.
Most controllers implement an effect even while the MIDI device is
generating sound, and the effect will be immediately noticeable. In
other words, MIDI controller messages are meant to implement various
effects by a musician while he's operating the device.
If the device is a MultiTimbral module, then each one of its Parts may
respond differently (or not at all) to a particular controller number.
Each Part usually has its own setting for every controller number, and
the Part responds only to controller messages on the same channel as
that to which the Part is assigned. So, controller messages for one
Part do not affect the sound of another Part even while that other Part
is playing.
Some controllers are continuous controllers, which simply means that
their value can be set to any value within the range from 0 to 16,384
(for 14-bit coarse/fine resolution) or 0 to 127 (for 7-bit, coarse
resolution). Other controllers are switches whose state may be either
on or off. Such controllers will usually generate only one of two
values; 0 for off, and 127 for on. But, a device should be able to
respond to any received switch value from 0 to 127. If the device
implements only an "on" and "off" state, then it should regard values
of 0 to 63 as off, and any value of 64 to 127 as on.
Many (continuous) controller numbers are coarse adjustments, and have a
respective fine adjustment controller number. For example, controller
#1 is the coarse adjustment for Modulation Wheel. Using this controller
number in a message, a device's Modulation Wheel can be adjusted in
large (coarse) increments (ie, 128 steps). If finer adjustment (from a
coarse setting) needs to be made, then controller #33 is the fine
adjust for Modulation Wheel. For controllers that have coarse/fine
pairs of numbers, there is thus a 14-bit resolution to the range. In
other words, the Modulation Wheel can be set from 0x0000 to 0x3FFF (ie,
one of 16,384 values). For this 14-bit value, bits 7 to 13 are the
coarse adjust, and bits 0 to 6 are the fine adjust. For example, to set
the Modulation Wheel to 0x2005, first you have to break it up into 2
bytes (as is done with Pitch Wheel messages). Take bits 0 to 6 and put
them in a byte that is the fine adjust. Take bits 7 to 13 and put them
right-justified in a byte that is the coarse adjust. Assuming a MIDI
channel of 0, here's the coarse and fine Mod Wheel controller messages
that a device would receive (coarse adjust first):
0xB0 0x01 0x40
Controller on chan 0, Mod Wheel coarse, bits 7 to 13 of 14-bit
value right-justified (with high bit clear).
0xB0 0x33 0x05
Controller on chan 0, Mod Wheel fine, bits 0 to 6 of 14-bit
value (with high bit clear).
Some devices do not implement fine adjust counterparts to coarse
controllers. For example, some devices do not implement controller #33
for Mod Wheel fine adjust. Instead the device only recognizes and
responds to the Mod Wheel coarse controller number (#1). It is
perfectly acceptable for devices to only respond to the coarse
adjustment for a controller if the device desires 7-bit (rather than
14-bit) resolution. The device should ignore that controller's
respective fine adjust message. By the same token, if it's only
desirable to make fine adjustments to the Mod Wheel without changing
its current coarse setting (or vice versa), a device can be sent only a
controller #33 message without a preceding controller #1 message (or
vice versa). Thus, if a device can respond to both coarse and fine
adjustments for a particular controller (ie, implements the full 14-bit
resolution), it should be able to deal with either the coarse or fine
controller message being sent without its counterpart following. The
same holds true for other continuous (ie, coarse/fine pairs of)
controllers.
Note: In most MIDI literature, the coarse adjust is referred to with
the designation "MSB" and the fine adjust is referred to with the
designation "LSB". I prefer the terms "coarse" and "fine".
Here's a list of the defined controllers. To the left is the controller
number (ie, how the MIDI Controller message refers to a particular
controller), and on the right is its name (ie, how a human might refer
to the controller). To get more information about what a particular
controller does, click on its controller name to bring up a
description. Each description shows the controller name and number,
what the range is for the third byte of the message (ie, the "value"
data byte), and what the controller does. For controllers that have
separate coarse and fine settings, both controller numbers are
shown.
MIDI devices should use these controller numbers for their defined
purposes, as much as possible. For example, if the device is able to
respond to Volume controller (coarse adjustment), then it should expect
that to be controller number 7. It should not use Portamento Time
controller messages to adjust volume. That wouldn't make any sense.
Other controllers, such as Foot Pedal, are more general purpose. That
pedal could be controlling the tempo on a drum box, for example. But
generally, the Foot Pedal shouldn't be used for purposes that other
controllers already are dedicated to, such as adjusting Pan position.
If there is not a defined controller number for a particular, needed
purpose, a device can use the General Purpose Sliders and Buttons, or
NRPN for device specific purposes. The device should use controller
numbers 0 to 31 for coarse adjustments, and controller numbers 32 to 63
for the respective fine adjustments.
Summary of Control Change
Messages (Data Bytes)
The following quick-reference
table lists all currently defined Control Change messages and Mode
Change messages, in control number order.
Registered
Parameter Numbers (RPNs) are an extension to the
Control Change message for setting additional parameters. Appended at
the bottom is a table
of all currently defined RPNs.
|
WARNING!
Details about implementing these messages can dramatically impact
compatibility with other products. We strongly recommend consulting the
official MMA Detailed MIDI Specification for
additional information.
|
Control Changes and Mode
Changes (Status Bytes 176-191)
Adapted from "MIDI by the Numbers" by D. Valenti-Electronic Musician
2/88, updated 1995/1999/2002 by the MIDI Manufacturers Association
Control
Number
(2nd Byte Value) |
Control
Function |
3rd
Byte Value |
| Decimal |
Binary |
Hex |
Value |
Used As |
| 0 |
00000000 |
00 |
Bank
Select |
0-127 |
MSB |
| 1 |
00000001 |
01 |
Modulation
Wheel or Lever |
0-127 |
MSB |
| 2 |
00000010 |
02 |
Breath
Controller |
0-127 |
MSB |
| 3 |
00000011 |
03 |
Undefined |
0-127 |
MSB |
| 4 |
00000100 |
04 |
Foot
Controller |
0-127 |
MSB |
| 5 |
00000101 |
05 |
Portamento
Time |
0-127 |
MSB |
| 6 |
00000110 |
06 |
Data
Entry MSB |
0-127 |
MSB |
| 7 |
00000111 |
07 |
Channel
Volume (formerly Main Volume) |
0-127 |
MSB |
| 8 |
00001000 |
08 |
Balance |
0-127 |
MSB |
| 9 |
00001001 |
09 |
Undefined |
0-127 |
MSB |
| 10 |
00001010 |
0A |
Pan |
0-127 |
MSB |
| 11 |
00001011 |
0B |
Expression
Controller |
0-127 |
MSB |
| 12 |
00001100 |
0C |
Effect
Control 1 |
0-127 |
MSB |
| 13 |
00001101 |
0D |
Effect
Control 2 |
0-127 |
MSB |
| 14 |
00001110 |
0E |
Undefined |
0-127 |
MSB |
| 15 |
00001111 |
0F |
Undefined |
0-127 |
MSB |
| 16 |
00010000 |
10 |
General
Purpose Controller 1 |
0-127 |
MSB |
| 17 |
00010001 |
11 |
General
Purpose Controller 2 |
0-127 |
MSB |
| 18 |
00010010 |
12 |
General
Purpose Controller 3 |
0-127 |
MSB |
| 19 |
00010011 |
13 |
General
Purpose Controller 4 |
0-127 |
MSB |
| 20 |
00010100 |
14 |
Undefined |
0-127 |
MSB |
| 21 |
00010101 |
15 |
Undefined |
0-127 |
MSB |
| 22 |
00010110 |
16 |
Undefined |
0-127 |
MSB |
| 23 |
00010111 |
17 |
Undefined |
0-127 |
MSB |
| 24 |
00011000 |
18 |
Undefined |
0-127 |
MSB |
| 25 |
00011001 |
19 |
Undefined |
0-127 |
MSB |
| 26 |
00011010 |
1A |
Undefined |
0-127 |
MSB |
| 27 |
00011011 |
1B |
Undefined |
0-127 |
MSB |
| 28 |
00011100 |
1C |
Undefined |
0-127 |
MSB |
| 29 |
00011101 |
1D |
Undefined |
0-127 |
MSB |
| 30 |
00011110 |
1E |
Undefined |
0-127 |
MSB |
| 31 |
00011111 |
1F |
Undefined |
0-127 |
MSB |
| 32 |
00100000 |
20 |
LSB for
Control 0 (Bank Select) |
0-127 |
LSB |
| 33 |
00100001 |
21 |
LSB for
Control 1 (Modulation Wheel or Lever) |
0-127 |
LSB |
| 34 |
00100010 |
22 |
LSB for
Control 2 (Breath Controller) |
0-127 |
LSB |
| 35 |
00100011 |
23 |
LSB for
Control 3 (Undefined) |
0-127 |
LSB |
| 36 |
00100100 |
24 |
LSB for
Control 4 (Foot Controller) |
0-127 |
LSB |
| 37 |
00100101 |
25 |
LSB for
Control 5 (Portamento Time) |
0-127 |
LSB |
| 38 |
00100110 |
26 |
LSB for
Control 6 (Data Entry) |
0-127 |
LSB |
| 39 |
00100111 |
27 |
LSB for
Control 7 (Channel Volume, formerly Main Volume) |
0-127 |
LSB |
| 40 |
00101000 |
28 |
LSB for
Control 8 (Balance) |
0-127 |
LSB |
| 41 |
00101001 |
29 |
LSB for
Control 9 (Undefined) |
0-127 |
LSB |
| 42 |
00101010 |
2A |
LSB for
Control 10 (Pan) |
0-127 |
LSB |
| 43 |
00101011 |
2B |
LSB for
Control 11 (Expression Controller) |
0-127 |
LSB |
| 44 |
00101100 |
2C |
LSB for
Control 12 (Effect control 1) |
0-127 |
LSB |
| 45 |
00101101 |
2D |
LSB for
Control 13 (Effect control 2) |
0-127 |
LSB |
| 46 |
00101110 |
2E |
LSB for
Control 14 (Undefined) |
0-127 |
LSB |
| 47 |
00101111 |
2F |
LSB for
Control 15 (Undefined) |
0-127 |
LSB |
| 48 |
00110000 |
30 |
LSB for
Control 16 (General Purpose Controller 1) |
0-127 |
LSB |
| 49 |
00110001 |
31 |
LSB for
Control 17 (General Purpose Controller 2) |
0-127 |
LSB |
| 50 |
00110010 |
32 |
LSB for
Control 18 (General Purpose Controller 3) |
0-127 |
LSB |
| 51 |
00110011 |
33 |
LSB for
Control 19 (General Purpose Controller 4) |
0-127 |
LSB |
| 52 |
00110100 |
34 |
LSB for
Control 20 (Undefined) |
0-127 |
LSB |
| 53 |
00110101 |
35 |
LSB for
Control 21 (Undefined) |
0-127 |
LSB |
| 54 |
00110110 |
36 |
LSB for
Control 22 (Undefined) |
0-127 |
LSB |
| 55 |
00110111 |
37 |
LSB for
Control 23 (Undefined) |
0-127 |
LSB |
| 56 |
00111000 |
38 |
LSB for
Control 24 (Undefined) |
0-127 |
LSB |
| 57 |
00111001 |
39 |
LSB for
Control 25 (Undefined) |
0-127 |
LSB |
| 58 |
00111010 |
3A |
LSB for
Control 26 (Undefined) |
0-127 |
LSB |
| 59 |
00111011 |
3B |
LSB for
Control 27 (Undefined) |
0-127 |
LSB |
| 60 |
00111100 |
3C |
LSB for
Control 28 (Undefined) |
0-127 |
LSB |
| 61 |
00111101 |
3D |
LSB for
Control 29 (Undefined) |
0-127 |
LSB |
| 62 |
00111110 |
3E |
LSB for
Control 30 (Undefined) |
0-127 |
LSB |
| 63 |
00111111 |
3F |
LSB for
Control 31 (Undefined) |
0-127 |
LSB |
| 64 |
01000000 |
40 |
Damper
Pedal on/off (Sustain) |
<63 off, >64 on |
--- |
| 65 |
01000001 |
41 |
Portamento
On/Off |
<63 off, >64 on |
--- |
| 66 |
01000010 |
42 |
Sustenuto
On/Off |
<63 off, >64 on |
--- |
| 67 |
01000011 |
43 |
Soft
Pedal On/Off |
<63 off, >64 on |
--- |
| 68 |
01000100 |
44 |
Legato
Footswitch |
<63 Normal, >64
Legato |
--- |
| 69 |
01000101 |
45 |
Hold 2 |
<63 off, >64 on |
--- |
| 70 |
01000110 |
46 |
Sound
Controller 1 (default: Sound Variation) |
0-127 |
LSB |
| 71 |
01000111 |
47 |
Sound
Controller 2 (default: Timbre/Harmonic Intens.) |
0-127 |
LSB |
| 72 |
01001000 |
48 |
Sound
Controller 3 (default: Release Time) |
0-127 |
LSB |
| 73 |
01001001 |
49 |
Sound
Controller 4 (default: Attack Time) |
0-127 |
LSB |
| 74 |
01001010 |
4A |
Sound
Controller 5 (default: Brightness) |
0-127 |
LSB |
| 75 |
01001011 |
4B |
Sound
Controller 6 (default: Decay Time - see MMA RP-021) |
0-127 |
LSB |
| 76 |
01001100 |
4C |
Sound
Controller 7 (default: Vibrato Rate - see MMA RP-021) |
0-127 |
LSB |
| 77 |
01001101 |
4D |
Sound
Controller 8 (default: Vibrato Depth - see MMA RP-021) |
0-127 |
LSB |
| 78 |
01001110 |
4E |
Sound
Controller 9 (default: Vibrato Delay - see MMA RP-021) |
0-127 |
LSB |
| 79 |
01001111 |
4F |
Sound
Controller 10 (default undefined - see MMA RP-021) |
0-127 |
LSB |
| 80 |
01010000 |
50 |
General
Purpose Controller 5 |
0-127 |
LSB |
| 81 |
01010001 |
51 |
General
Purpose Controller 6 |
0-127 |
LSB |
| 82 |
01010010 |
52 |
General
Purpose Controller 7 |
0-127 |
LSB |
| 83 |
01010011 |
53 |
General
Purpose Controller 8 |
0-127 |
LSB |
| 84 |
01010100 |
54 |
Portamento
Control |
0-127 |
LSB |
| 85 |
01010101 |
55 |
Undefined |
--- |
--- |
| 86 |
01010110 |
56 |
Undefined |
--- |
--- |
| 87 |
01010111 |
57 |
Undefined |
--- |
--- |
| 88 |
01011000 |
58 |
Undefined |
--- |
--- |
| 89 |
01011001 |
59 |
Undefined |
--- |
--- |
| 90 |
01011010 |
5A |
Undefined |
--- |
--- |
| 91 |
01011011 |
5B |
Effects
1 Depth
(default: Reverb Send Level - see MMA RP-023)
(formerly External Effects Depth) |
0-127 |
LSB |
| 92 |
01011100 |
5C |
Effects
2 Depth (formerly Tremolo Depth) |
0-127 |
LSB |
| 93 |
01011101 |
5D |
Effects
3 Depth
(default: Chorus Send Level - see MMA RP-023)
(formerly Chorus Depth) |
0-127 |
LSB |
| 94 |
01011110 |
5E |
Effects
4 Depth (formerly Celeste [Detune] Depth) |
0-127 |
LSB |
| 95 |
01011111 |
5F |
Effects
5 Depth (formerly Phaser Depth) |
0-127 |
LSB |
| 96 |
01100000 |
60 |
Data
Increment (Data Entry +1) (see MMA RP-018) |
N/A |
--- |
| 97 |
01100001 |
61 |
Data
Decrement (Data Entry -1) (see MMA RP-018) |
N/A |
--- |
| 98 |
01100010 |
62 |
Non-Registered
Parameter Number (NRPN) - LSB |
0-127 |
LSB |
| 99 |
01100011 |
63 |
Non-Registered
Parameter Number (NRPN) - MSB |
0-127 |
MSB |
| 100 |
01100100 |
64 |
Registered
Parameter Number (RPN) - LSB* |
0-127 |
LSB |
| 101 |
01100101 |
65 |
Registered
Parameter Number (RPN) - MSB* |
0-127 |
MSB |
| 102 |
01100110 |
66 |
Undefined |
--- |
--- |
| 103 |
01100111 |
67 |
Undefined |
--- |
--- |
| 104 |
01101000 |
68 |
Undefined |
--- |
--- |
| 105 |
01101001 |
69 |
Undefined |
--- |
--- |
| 106 |
01101010 |
6A |
Undefined |
--- |
--- |
| 107 |
01101011 |
6B |
Undefined |
--- |
--- |
| 108 |
01101100 |
6C |
Undefined |
--- |
--- |
| 109 |
01101101 |
6D |
Undefined |
--- |
--- |
| 110 |
01101110 |
6E |
Undefined |
--- |
--- |
| 111 |
01101111 |
6F |
Undefined |
--- |
--- |
| 112 |
01110000 |
70 |
Undefined |
--- |
--- |
| 113 |
01110001 |
71 |
Undefined |
--- |
--- |
| 114 |
01110010 |
72 |
Undefined |
--- |
--- |
| 115 |
01110011 |
73 |
Undefined |
--- |
--- |
| 116 |
01110100 |
74 |
Undefined |
--- |
--- |
| 117 |
01110101 |
75 |
Undefined |
--- |
--- |
| 118 |
01110110 |
76 |
Undefined |
--- |
--- |
| 119 |
01110111 |
77 |
Undefined |
--- |
--- |
| Note: |
Controller
numbers 120-127 are reserved for Channel Mode Messages, which rather
than controlling
sound parameters, affect the channel's operating mode. |
| 120 |
01111000 |
78 |
[Channel
Mode Message] All Sound Off |
0 |
--- |
| 121 |
01111001 |
79 |
[Channel
Mode Message] Reset All Controllers
(See MMA RP-015) |
0 |
--- |
| 122 |
01111010 |
7A |
[Channel
Mode Message] Local Control On/Off |
0 off, 127 on |
--- |
| 123 |
01111011 |
7B |
[Channel
Mode Message] All Notes Off |
0 |
--- |
| 124 |
01111100 |
7C |
[Channel
Mode Message] Omni Mode Off (+ all notes off) |
0 |
--- |
| 125 |
01111101 |
7D |
[Channel
Mode Message] Omni Mode On (+ all notes off) |
0 |
--- |
| 126 |
01111110 |
7E |
[Channel
Mode Message] Poly Mode On/Off (+ all notes off) |
** |
--- |
| 127 |
01111111 |
7F |
[Channel
Mode Message] Poly Mode On (+ mono off +all notes off) |
0 |
--- |
** Note: This equals the number
of channels, or zero if the number of channels equals the number of
voices in
the receiver.
Table: Registered Parameter
Numbers
To set or change the value of
a Registered Parameter:
1. Send two Control Change
messages using Control Numbers 101 (65H) and 100 (64H) to select the
desired Registered Parameter Number, as per the following table.
2. To set the selected
Registered Parameter to a specific value, send a Control Change
messages to the Data Entry MSB controller (Control Number 6). If the
selected Registered Parameter requires the LSB to be set, send another
Control Change message to the Data Entry LSB controller (Control Number
38).
3. To make a relative
adjustment to the selected Registered Parameter's current value, use
the Data Increment or Data Decrement controllers (Control Numbers 96
and 97).
| Parameter
Number |
Parameter
Function |
Data Entry Value |
| Decimal |
Control 101 Value (MSB) |
Control 100 Value (LSB) |
| 0 |
00H = 0 |
00H = 0 |
Pitch
Bend Sensitivity |
MSB =
+/- semitones
LSB =+/--cents |
| 1 |
00H = 0 |
01H = 1 |
Channel
Fine Tuning
(formerly Fine Tuning - see MMA RP-022) |
Resolution
100/8192 cents
00H 00H = -100 cents
40H 00H = A440
7FH 7FH = +100 cents |
| 2 |
00H = 0 |
02H = 2 |
Channel
Coarse Tuning
(formerly Coarse Tuning - see MMA RP-022) |
Only
MSB used
Resolution 100 cents
00H = -6400 cents
40H = A440
7FH = +6300 cents |
| 3 |
00H = 0 |
03H = 3 |
Tuning
Program Change |
Tuning
Program Number |
| 4 |
00H = 0 |
04H = 4 |
Tuning
Bank Select |
Tuning
Bank Number |
| 5 |
00H = 0 |
05H = 5 |
Modulation
Depth Range
(see MMA General MIDI Level 2 Specification) |
For
GM2, defined in GM2 Specification.
For other systems, defined by manufacturer |
MIDI Products
As you can see from the above
examples, there are lots of things that MIDI makes possible, and many
kinds of
MIDI products available to help you make music. When you are ready to
start
making music with MIDI, we recommend you visit a MIDI specialist to
determine
the right products for you. Here are just some of the products that you
may want
to consider:
Keyboards and Sound Modules
Practically every musical keyboard sold today has MIDI connections...
everything
from the $100 portables to $300,000 digital grand pianos.
Wind Controllers, Guitars,
and More You don't have to be a keyboard (piano) player to
benefit from
MIDI. There are specially made MIDI wind controllers, MIDI guitars, and
more.
Personal Computers
Practically every computer made today comes with the ability to play
MIDI files,
and can connect to other MIDI gear with a simple PC-to-MIDI connector
available
as an accessory. Professionals and amateurs alike can compose, arrange,
and
record original music, or use the computer to learn about music or how
to play
an instrument.
Where to find out more...
The following companies offer
products and information that will be useful to anyone with an interest
in
Making Music with MIDI:
Yamaha
Corp US | Korg USA
| Cakewalk
| Edirol
| Evolution
BitHeadz
| MadWaves
| PreSonus
| Steinberg
| E-Mu
Systems
Berklee
Media | Keyboard Magazine |
Electronic
Musician

”VST
is a trademark of Steinberg Soft- und Hardware
GmbH”. All other trademarks are the property of
their respective owners.
|