basic midi explanation

Upload: fontaddict

Post on 03-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Basic Midi Explanation

    1/15

    http://en.wikipedia.org/wiki/Prophet_5http://en.wikipedia.org/wiki/Prophet_5http://en.wikipedia.org/wiki/Dave_Smith_(engineer)http://en.wikipedia.org/wiki/Dave_Smith_(engineer)http://en.wikipedia.org/wiki/Dave_Smith_(engineer)http://en.wikipedia.org/wiki/General_Midihttp://en.wikipedia.org/wiki/General_Midihttp://en.wikipedia.org/wiki/General_Midihttp://en.wikipedia.org/wiki/General_Midihttp://en.wikipedia.org/wiki/General_Midihttp://en.wikipedia.org/wiki/General_Midihttp://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Tempohttp://en.wikipedia.org/wiki/Cue_(theatrical)http://en.wikipedia.org/wiki/Panning_(audio)http://en.wikipedia.org/wiki/Vibratohttp://en.wikipedia.org/wiki/Pitch_(music)http://en.wikipedia.org/wiki/Musical_notationhttp://en.wikipedia.org/wiki/Musical_notationhttp://en.wikipedia.org/wiki/Musical_notationhttp://en.wikipedia.org/wiki/Message_passinghttp://en.wikipedia.org/wiki/Audio_signalhttp://en.wikipedia.org/wiki/Audio_signalhttp://en.wikipedia.org/wiki/Audio_signalhttp://en.wikipedia.org/wiki/Analog_signalhttp://en.wikipedia.org/wiki/Sampler_(musical_instrument)http://en.wikipedia.org/wiki/Sound_cardhttp://en.wikipedia.org/wiki/Sound_cardhttp://en.wikipedia.org/wiki/Sound_cardhttp://en.wikipedia.org/wiki/MIDI_controllerhttp://en.wikipedia.org/wiki/MIDI_controllerhttp://en.wikipedia.org/wiki/MIDI_controllerhttp://en.wikipedia.org/wiki/Computershttp://en.wikipedia.org/wiki/Drum_machinehttp://en.wikipedia.org/wiki/Drum_machinehttp://en.wikipedia.org/wiki/Drum_machinehttp://en.wikipedia.org/wiki/Synthesizerhttp://en.wikipedia.org/wiki/Electronic_musical_instrumenthttp://en.wikipedia.org/wiki/Electronic_musical_instrumenthttp://en.wikipedia.org/wiki/Electronic_musical_instrumenthttp://en.wikipedia.org/wiki/Electronic_musical_instrumenthttp://en.wikipedia.org/wiki/Electronic_musical_instrumenthttp://en.wikipedia.org/wiki/Communications_protocol
  • 7/29/2019 Basic Midi Explanation

    2/15

    and controlled the sound directly, as did each knob, switch and other control on

    the instrument.

    Dave's innovative idea was to create an instrument with multiple identical sound-

    producing engines ("voices") and make all the parameters of the voices digitally

    controllable. Now, when the player turned a knob on the front panel, instead of

    the knob being part of and directly controlling some element of the signal path,

    its setting would be digitized, and the same parameter could be simultaneously

    affected on all of the voices. And, instead of having the keyboard control a single

    note, a microprocessor was used that would rapidly and continuously scan

    all of the keys to detect which ones were currently pressed, and convert that

    information to a pitch control that would be assigned to the next available voice.

    In this manner, the musician playing the instrument would experience it as if the

    keyboard and all of the knobs and other controls were directly controlling a multi-

    voice instrument.

    This innovation meant two very important things: since all of the controls were

    digitized, their settings could be remembered, and the synthesizer could be

    provided a memory wherein "patches" could be stored and instantly recalled.

    More significantly, it abstracted the keyboard, knobs, pedals, and other controls

    away from the sound-producing circuitry and made it necessary to develop a

    protocol for communication between the former and the latter.

    Dave Smith had the insight that the data connection could be made accessible

    with input and output jacks on the instrument, and, if the protocol were

    standardized between manufacturers, would provide a means for a myriad of

    instruments and other devices to interoperate, controlling and being controlled by

    each other at the digital level. Thus, MIDI was born.

  • 7/29/2019 Basic Midi Explanation

    3/15

    http://en.wikipedia.org/wiki/MIDI_Manufacturers_Associationhttp://en.wikipedia.org/wiki/MIDI_Manufacturers_Associationhttp://en.wikipedia.org/wiki/MIDI_Manufacturers_Associationhttp://en.wikipedia.org/wiki/MIDI_Manufacturers_Associationhttp://en.wikipedia.org/wiki/MIDI_Manufacturers_Associationhttp://en.wikipedia.org/wiki/MIDI_Show_Controlhttp://en.wikipedia.org/wiki/MIDI_Show_Controlhttp://en.wikipedia.org/wiki/MIDI_Show_Controlhttp://en.wikipedia.org/wiki/MIDI_Show_Controlhttp://en.wikipedia.org/wiki/MIDI_Show_Controlhttp://en.wikipedia.org/wiki/Atari_SThttp://en.wikipedia.org/wiki/Atari_SThttp://en.wikipedia.org/wiki/Atari_SThttp://en.wikipedia.org/wiki/PC-DOShttp://en.wikipedia.org/wiki/PC-DOShttp://en.wikipedia.org/wiki/PC-DOShttp://en.wikipedia.org/wiki/Commodore_Amigahttp://en.wikipedia.org/wiki/Commodore_Amigahttp://en.wikipedia.org/wiki/Commodore_Amigahttp://en.wikipedia.org/wiki/Commodore_64http://en.wikipedia.org/wiki/Commodore_64http://en.wikipedia.org/wiki/Apple_Macintoshhttp://en.wikipedia.org/wiki/Apple_Macintoshhttp://en.wikipedia.org/wiki/Apple_Macintoshhttp://en.wikipedia.org/wiki/Apple_IIehttp://en.wikipedia.org/wiki/Apple_II_Plushttp://en.wikipedia.org/wiki/Apple_II_Plushttp://en.wikipedia.org/wiki/Apple_II_Plushttp://en.wikipedia.org/wiki/Apple_II_Plushttp://en.wikipedia.org/wiki/Apple_II_Plushttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Musical_keyboardhttp://en.wikipedia.org/wiki/19-inch_rackhttp://en.wikipedia.org/wiki/19-inch_rackhttp://en.wikipedia.org/wiki/19-inch_rackhttp://en.wikipedia.org/wiki/Keyboard_instrumenthttp://en.wikipedia.org/wiki/The_MIDI_1.0_Protocolhttp://en.wikipedia.org/wiki/The_MIDI_1.0_Protocolhttp://en.wikipedia.org/wiki/The_MIDI_1.0_Protocolhttp://en.wikipedia.org/wiki/The_MIDI_1.0_Protocolhttp://en.wikipedia.org/wiki/Roland_Jupiter-6http://en.wikipedia.org/wiki/Roland_Jupiter-6http://en.wikipedia.org/wiki/Roland_Jupiter-6http://en.wikipedia.org/wiki/Roland_Jupiter-6http://en.wikipedia.org/wiki/Sequential_Circuits_Prophet-5http://en.wikipedia.org/wiki/Sequential_Circuits_Prophet-5http://en.wikipedia.org/wiki/NAMM_Showhttp://en.wikipedia.org/wiki/NAMM_Showhttp://en.wikipedia.org/wiki/NAMM_Showhttp://en.wikipedia.org/wiki/Audio_Engineering_Societyhttp://en.wikipedia.org/wiki/Audio_Engineering_Societyhttp://en.wikipedia.org/wiki/Audio_Engineering_Societyhttp://en.wikipedia.org/wiki/Audio_Engineering_Societyhttp://en.wikipedia.org/wiki/Audio_Engineering_Societyhttp://en.wikipedia.org/wiki/Sequential_Circuitshttp://en.wikipedia.org/wiki/Sequential_Circuitshttp://en.wikipedia.org/wiki/Sequential_Circuitshttp://en.wikipedia.org/wiki/Sequential_Circuitshttp://en.wikipedia.org/wiki/Sequential_Circuitshttp://en.wikipedia.org/wiki/Sequential_Circuitshttp://en.wikipedia.org/wiki/Dave_Smith_(engineer)http://en.wikipedia.org/wiki/Dave_Smith_(engineer)http://en.wikipedia.org/wiki/Dave_Smith_(engineer)
  • 7/29/2019 Basic Midi Explanation

    4/15

    The MSC protocol is an industry standard which allows all types of media control

    devices to talk with each other and with computers to perform show control

    functions in live and canned entertainment applications. Just like musical MIDI,

    MSC does not transmit the actual show media: it simply transmits digital data

    providing information such as the type, timing and numbering of technical cues

    called during a multimedia or live theatre performance.

    Small file sizes made MIDI files a popular way of sharing music on the Internet in

    the early to mid 1990s, before broadband connections made it practical to share

    files in the MP3 format.

    MIDI initially made no provision for specifying timbre. In other words, each MIDI

    synthesizer had its own methods for producing the sound from MIDI instructions,

    with no standard sounds at all. For example, a producer might want a MIDI file

    played back through the Microsoft MIDI Synthesizer (included in any Windows

    operating system) to sound the same or similar on all machines. But because the

    quality of synthesis hardware might vary widely between machinesone might

    use a generic sound card, another might use professional-quality synthesis

    there was no way to assure that what the listener heard was anything like what

    the producer intended.

    This situation was the impetus for the introduction ofGeneral MIDI in 1991. It

    created a standard set of 128 familiar sound types (piano, organ, guitar, strings).

    While manufacturers were still unable to decide what 'piano' sounded like, they at

    least had a standard to aim for and a location in which to place it.

    In the early decades of MIDI, computer hardware was not able to play many

    samples or synthesize quality sounds. Quality hardware was too expensive;

    sound cards kept the price down, but many relied on unsophisticated synthesis

    methods to produce audio. As a result "the "MIDI sound" acquired a poor

    http://en.wikipedia.org/wiki/Show_controlhttp://en.wikipedia.org/wiki/Entertainmenthttp://en.wikipedia.org/wiki/Cue_(theatrical)http://en.wikipedia.org/wiki/Multimediahttp://en.wikipedia.org/wiki/Theatrehttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Broadbandhttp://en.wikipedia.org/wiki/MP3http://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/MP3http://en.wikipedia.org/wiki/MP3http://en.wikipedia.org/wiki/Broadbandhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Theatrehttp://en.wikipedia.org/wiki/Multimediahttp://en.wikipedia.org/wiki/Cue_(theatrical)http://en.wikipedia.org/wiki/Entertainmenthttp://en.wikipedia.org/wiki/Show_controlhttp://en.wikipedia.org/wiki/Show_controlhttp://en.wikipedia.org/wiki/Show_control
  • 7/29/2019 Basic Midi Explanation

    5/15

    reputation with some critics.

    Interfaces

    MIDI connector diagram

    MIDI connectors and a MIDI cable

    The original physical MIDI connection uses a 5 pin connection.

    The MIDI transceivers physically and logically separate the input and output

    lines, meaning that MIDI messages received by a device in the network not

    intended for that device must be re-transmitted on the output line (MIDI-OUT) by

    means of a "soft through". This can introduce a delay, one that is long enough to

    become musically significant on larger MIDI chains.

    MIDI-THRU ports started to be added to MIDI-compatible equipment soon after

    the introduction of MIDI, in order to improve performance. The MIDI-THRU port

    avoids the aforementioned retransmission delay by linking the MIDI-THRU port

    to the MIDI-IN socket almost directly. The difference between the MIDI-OUT

    and MIDI-THRU ports is that data coming from the MIDI-OUT port has been

    generated on the device containing that port. Data that comes out of a device's

  • 7/29/2019 Basic Midi Explanation

    6/15

    MIDI-THRU port, however, is an exact duplicate of the data received at the MIDI-

    IN port.

    Such chaining together of instruments via MIDI-THRU ports is unnecessary with

    the use of MIDI "patch bay," "mult" or "Thru" modules consisting of a MIDI-IN

    connector and multiple MIDI-OUT connectors to which multiple instruments are

    connected.

    Some equipment has the ability to merge MIDI messages into one stream; this

    is a specialized function and is not universal to all equipment. Such MIDI Merge

    boxes digitally merge all MIDI messages appearing at its inputs to its output,

    which allows a musician to plug in several MIDI controllers (e.g., two musical

    keyboards and a pedal keyboard) to a single synth voice device such as an EMU

    orProteus.

    All MIDI compatible instruments have built-in MIDI. Some computers' sound

    cards have built-in MIDI, whereas others require an external MIDI connection.

    MIDI connectors are defined by the MIDI standard. In the 2000s, as computer

    equipment increasingly used USB connectors, companies began making USB-to-MIDI data interfaces which can transfer MIDI channels to USB-equipped

    computers. As well, due to the increasing use of computers for music-making

    and composition, some MIDI keyboard controllers were equipped with USB

    jacks, so that they can be plugged into computers that are running "software

    synths" or other music software.

    Controllers

    In popular parlance, piano-style musical keyboards are called "keyboards",

    regardless of their functions or type. Amongst MIDI enthusiasts, however,

    keyboards and other devices used to trigger musical sounds are

    http://en.wikipedia.org/wiki/E-mu_Systemshttp://en.wikipedia.org/wiki/E-mu_Proteushttp://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/USBhttp://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/E-mu_Proteushttp://en.wikipedia.org/wiki/E-mu_Systems
  • 7/29/2019 Basic Midi Explanation

    7/15

    called "controllers", because with most MIDI set-ups, the keyboard or other

    device does not make any sounds by itself. MIDI controllers need to be

    connected to a voice bank or sound module in order to produce musical tones

    or sounds; the keyboard or other device is "controlling" the voice bank or sound

    module by acting as a trigger. The most common MIDI controller is the piano-

    style keyboard, either with weighted or semi-weighted keys, or with unweighted

    synth-style keys. Keyboard-style MIDI controllers are sold with as few as 25 keys

    (2 octaves), with larger models such as 49 keys, 61 keys, or even the full 88

    keys being available. Different models have different feature sets, the simplest

    being only keys, while the more extravagant have sliders, knobs, and wheels to

    provide more controlling options. These include a variety of parameters that can

    be programmed within the controller, or sent to a computer to control software.

    MIDI controllers are also available in a range of other forms, such as electronic

    drum triggers, EWI wind controllers for performing saxophone-style music; and

    MIDI guitar synthesizer controllers.

    Pad controllers are used by musicians and DJs who make music through use

    of sampled sounds or short samples of music. Pad controllers often have banks

    of assignable pads and assignable faders and knobs for transmitting MIDI data

    or changes; the better-quality models are velocity-sensitive. More rarely, some

    performers use more specialized MIDI controllers, such as triggers that are

    affixed to their clothing or stage items (e.g., magicians Penn and Teller's stage

    show).

    A MIDI foot-controller is a pedalboard-style device with rows of switches that

    control banks of presets, MIDI program change commands and send MIDI note

    numbers (some also do MIDI merges).

    http://en.wikipedia.org/wiki/DJhttp://en.wikipedia.org/wiki/Penn_and_Tellerhttp://en.wikipedia.org/wiki/Penn_and_Tellerhttp://en.wikipedia.org/wiki/Penn_and_Tellerhttp://en.wikipedia.org/wiki/Penn_and_Tellerhttp://en.wikipedia.org/wiki/Penn_and_Tellerhttp://en.wikipedia.org/wiki/Penn_and_Tellerhttp://en.wikipedia.org/wiki/DJ
  • 7/29/2019 Basic Midi Explanation

    8/15

    Messages

    All MIDI compatible controllers, musical instruments, and MIDI-compatible

    software follow the same MIDI 1.0 specification, and thus interpret any givenMIDI message the same way, and so can communicate with and understand

    each other. For example, if a note is played on a MIDI controller, it will sound at

    the right pitch on any MIDI instrument whose MIDI In connector is connected to

    the controller's MIDI Out connector.

    When a musical performance is played on a MIDI instrument (or controller) it

    transmits MIDI channel messages from its MIDI Out connector. A typical MIDI

    channel message sequence corresponding to a key being struck and released on

    a keyboard is:

    1. The user presses the middle C key with a specific velocity(which is

    usually translated into the volume of the note but can also be used by the

    synthesizer to set characteristics of the timbre as well). The instrument

    sends one Note-On message.

    2. The user changes the pressure applied on the key while holding it down: a

    technique calledAftertouch (can be repeated, optional). The instrument

    sends one or more Aftertouch messages.

    3. The user releases the middle C key, again with the possibility of velocity of

    release controlling some parameters. The instrument sends one Note-Off

    message.

    Note-On,Aftertouch, and Note-Offare all channel messages. For the Note-On

    and Note-Off messages, the MIDI specification defines a number (from 0127)

    for every possible note pitch (C, C, D etc.), and this number is included in the

    message.

    http://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/Middle_Chttp://en.wikipedia.org/wiki/Keyboard_expressionhttp://en.wikipedia.org/wiki/Timbrehttp://en.wikipedia.org/wiki/Keyboard_expressionhttp://en.wikipedia.org/wiki/Keyboard_expressionhttp://en.wikipedia.org/wiki/Timbrehttp://en.wikipedia.org/wiki/Keyboard_expressionhttp://en.wikipedia.org/wiki/Middle_Chttp://en.wikipedia.org/wiki/Middle_Chttp://en.wikipedia.org/wiki/Middle_Chttp://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/MIDI_1.0http://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencerhttp://en.wikipedia.org/wiki/Music_sequencer
  • 7/29/2019 Basic Midi Explanation

    9/15

    Other performance parameters can be transmitted with channel messages, too.

    For example, if the user turns the pitch wheel on the instrument, that gesture is

    transmitted over MIDI using a series ofPitch Bendmessages (also a channel

    message). This consistent, automated abstraction of the musical gesture could

    be considered the core of the MIDI standard.

    Composition

    MIDI composition and arrangement typically takes place using eitherMIDI

    sequencing/editing software on PC-type computers, or using specialized

    hardware music workstations.Digital Audio Workstations (DAW) is the most

    centric and common tool in the studio, and many are specifically designed to

    work with MIDI as an integral component. Through the use of MIDI mapping,

    various MIDI controllers can be used to command the program. Virtual

    Instruments known as VSTi's are plug-ins created by third party companies which

    provide a virtually limitless supply of sounds for a musician, and are designed to

    be commanded by MIDI controllers, especially in the DAW environment.

    The data composed via the sequenced MIDI recordings can then be saved as a

    Standard MIDI File (SMF), digitally distributed, and reproduced by any computer

    or electronic instrument that also adheres to the same MIDI, GM, and SMF

    standards.

    File formats

    Standard MIDI (.mid or .smf)

    Standard MIDI Files are typically created using computer-based sequencing

    software (or sometimes a hardware-based MIDI instrument or workstation) that

    organizes MIDI messages into one or more parallel "tracks" for independent

    recording and editing. In most sequencers, each track is assigned to a

    http://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencershttp://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencershttp://en.wikipedia.org/wiki/Music_workstationhttp://en.wikipedia.org/wiki/Digital_audio_workstationhttp://en.wikipedia.org/wiki/Multitrack_recordinghttp://en.wikipedia.org/wiki/Multitrack_recordinghttp://en.wikipedia.org/wiki/Multitrack_recordinghttp://en.wikipedia.org/wiki/Multitrack_recordinghttp://en.wikipedia.org/wiki/Digital_audio_workstationhttp://en.wikipedia.org/wiki/Digital_audio_workstationhttp://en.wikipedia.org/wiki/Digital_audio_workstationhttp://en.wikipedia.org/wiki/Digital_audio_workstationhttp://en.wikipedia.org/wiki/Digital_audio_workstationhttp://en.wikipedia.org/wiki/Music_workstationhttp://en.wikipedia.org/wiki/Music_workstationhttp://en.wikipedia.org/wiki/Music_workstationhttp://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencershttp://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencershttp://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencershttp://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencershttp://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencershttp://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencershttp://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencers
  • 7/29/2019 Basic Midi Explanation

    10/15

    specific MIDI channel and/or a specific instrumentpatch; if the attached music

    synthesizer has a known instrument palette (for example because it conforms

    to the General MIDI standard), then the instrument for each track may be

    selected by name. Although most current MIDI sequencer software uses

    proprietary "session file" formats rather than SMF, almost all sequencers provide

    export or "Save As..." support for the SMF format.

    Alternative hardware transports

    In addition to the original midi cable and connector, other connectors have been

    used for the same electrical data, and transmission of MIDI streams in different

    forms overUSB, FireWire, and Ethernet.

    USB

    A standard for MIDI over USB was developed in 1999. To transmit MIDI over

    USB a Cable Number and Cable Index are added to the message, and the result

    is encapsulated in a USB packet. The resulting USB message can be double

    the size of the native MIDI message. Since USB is over 15,000 times faster

    than MIDI (480,000 Kbits/sec vs 31.25 Kbits/sec,) USB has the potential to be

    much faster. However, due to the nature of USB there is more latency and jitter

    introduced. Some comparisons done in the early part of the 2000s showed USB

    to slightly slower with higher latency, and this is still the case today. Despite

    the latency and jitter disadvantages, MIDI over USB is increasingly common on

    musical instruments.

    Over a computer network

    http://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/Universal_Serial_Bushttp://en.wikipedia.org/wiki/FireWirehttp://en.wikipedia.org/wiki/Ethernethttp://en.wikipedia.org/wiki/Ethernethttp://en.wikipedia.org/wiki/FireWirehttp://en.wikipedia.org/wiki/Universal_Serial_Bushttp://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/General_MIDIhttp://en.wikipedia.org/wiki/General_MIDI
  • 7/29/2019 Basic Midi Explanation

    11/15

    Compared to USB or FireWire, the computer network implementation of MIDI

    provides network routing capabilities, which are extremely useful in studio or

    stage environments (USB and FireWire are more restrictive in the connections

    between computers and devices). Ethernet is more capable of providing the high-

    bandwidth channel that earlier alternatives to MIDI were intended to bring.

    MIDI Continuous Controllers

    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 number0 .. 127 = MIDI continuous controller value

    Controller

    Number

    Hex Dec Controller Name Data Range

    0 Bank Select (coarse) 0..127

    1 Modulation Wheel (coarse) 0..127

    2 Breath Control (coarse) 0..127

    3 Continuous controller #3 0..127

    4 Foot Controller(coarse) 0..127

    5 Portamento Time (coarse) 0..127

    6 Data Entry Slider(coarse) 0..127

    7 Main Volume (coarse) 0..127

    8 Stereo Balance (coarse) 0..127

    9 Continuous controller #9 0..127

    10 Pan (coarse) 0=left 64=center 127=righ

    11 Expression (sub-Volume) (coarse) 0..127

    http://en.wikipedia.org/wiki/Computer_networkhttp://253.ccarh.org/handout/controllers/0.htmlhttp://253.ccarh.org/handout/controllers/1.htmlhttp://253.ccarh.org/handout/controllers/2.htmlhttp://253.ccarh.org/handout/controllers/4.htmlhttp://253.ccarh.org/handout/controllers/5.htmlhttp://253.ccarh.org/handout/controllers/6.htmlhttp://253.ccarh.org/handout/controllers/7.htmlhttp://253.ccarh.org/handout/controllers/8.htmlhttp://253.ccarh.org/handout/controllers/10.htmlhttp://253.ccarh.org/handout/controllers/11.htmlhttp://253.ccarh.org/handout/controllers/11.htmlhttp://253.ccarh.org/handout/controllers/11.htmlhttp://253.ccarh.org/handout/controllers/10.htmlhttp://253.ccarh.org/handout/controllers/10.htmlhttp://253.ccarh.org/handout/controllers/8.htmlhttp://253.ccarh.org/handout/controllers/8.htmlhttp://253.ccarh.org/handout/controllers/8.htmlhttp://253.ccarh.org/handout/controllers/8.htmlhttp://253.ccarh.org/handout/controllers/7.htmlhttp://253.ccarh.org/handout/controllers/7.htmlhttp://253.ccarh.org/handout/controllers/7.htmlhttp://253.ccarh.org/handout/controllers/7.htmlhttp://253.ccarh.org/handout/controllers/6.htmlhttp://253.ccarh.org/handout/controllers/6.htmlhttp://253.ccarh.org/handout/controllers/6.htmlhttp://253.ccarh.org/handout/controllers/6.htmlhttp://253.ccarh.org/handout/controllers/6.htmlhttp://253.ccarh.org/handout/controllers/6.htmlhttp://253.ccarh.org/handout/controllers/5.htmlhttp://253.ccarh.org/handout/controllers/5.htmlhttp://253.ccarh.org/handout/controllers/5.htmlhttp://253.ccarh.org/handout/controllers/5.htmlhttp://253.ccarh.org/handout/controllers/4.htmlhttp://253.ccarh.org/handout/controllers/4.htmlhttp://253.ccarh.org/handout/controllers/4.htmlhttp://253.ccarh.org/handout/controllers/4.htmlhttp://253.ccarh.org/handout/controllers/2.htmlhttp://253.ccarh.org/handout/controllers/2.htmlhttp://253.ccarh.org/handout/controllers/2.htmlhttp://253.ccarh.org/handout/controllers/2.htmlhttp://253.ccarh.org/handout/controllers/1.htmlhttp://253.ccarh.org/handout/controllers/1.htmlhttp://253.ccarh.org/handout/controllers/1.htmlhttp://253.ccarh.org/handout/controllers/1.htmlhttp://253.ccarh.org/handout/controllers/0.htmlhttp://253.ccarh.org/handout/controllers/0.htmlhttp://253.ccarh.org/handout/controllers/0.htmlhttp://253.ccarh.org/handout/controllers/0.htmlhttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Computer_network
  • 7/29/2019 Basic Midi Explanation

    12/15

    http://253.ccarh.org/handout/controllers/40.htmlhttp://253.ccarh.org/handout/controllers/40.htmlhttp://253.ccarh.org/handout/controllers/40.htmlhttp://253.ccarh.org/handout/controllers/40.htmlhttp://253.ccarh.org/handout/controllers/39.htmlhttp://253.ccarh.org/handout/controllers/39.htmlhttp://253.ccarh.org/handout/controllers/39.htmlhttp://253.ccarh.org/handout/controllers/39.htmlhttp://253.ccarh.org/handout/controllers/38.htmlhttp://253.ccarh.org/handout/controllers/38.htmlhttp://253.ccarh.org/handout/controllers/38.htmlhttp://253.ccarh.org/handout/controllers/38.htmlhttp://253.ccarh.org/handout/controllers/38.htmlhttp://253.ccarh.org/handout/controllers/38.htmlhttp://253.ccarh.org/handout/controllers/37.htmlhttp://253.ccarh.org/handout/controllers/37.htmlhttp://253.ccarh.org/handout/controllers/37.htmlhttp://253.ccarh.org/handout/controllers/37.htmlhttp://253.ccarh.org/handout/controllers/36.htmlhttp://253.ccarh.org/handout/controllers/36.htmlhttp://253.ccarh.org/handout/controllers/36.htmlhttp://253.ccarh.org/handout/controllers/36.htmlhttp://253.ccarh.org/handout/controllers/34.htmlhttp://253.ccarh.org/handout/controllers/34.htmlhttp://253.ccarh.org/handout/controllers/34.htmlhttp://253.ccarh.org/handout/controllers/34.htmlhttp://253.ccarh.org/handout/controllers/33.htmlhttp://253.ccarh.org/handout/controllers/33.htmlhttp://253.ccarh.org/handout/controllers/33.htmlhttp://253.ccarh.org/handout/controllers/33.htmlhttp://253.ccarh.org/handout/controllers/32.htmlhttp://253.ccarh.org/handout/controllers/32.htmlhttp://253.ccarh.org/handout/controllers/32.htmlhttp://253.ccarh.org/handout/controllers/32.htmlhttp://253.ccarh.org/handout/controllers/19.htmlhttp://253.ccarh.org/handout/controllers/19.htmlhttp://253.ccarh.org/handout/controllers/19.htmlhttp://253.ccarh.org/handout/controllers/19.htmlhttp://253.ccarh.org/handout/controllers/19.htmlhttp://253.ccarh.org/handout/controllers/19.htmlhttp://253.ccarh.org/handout/controllers/19.htmlhttp://253.ccarh.org/handout/controllers/18.htmlhttp://253.ccarh.org/handout/controllers/18.htmlhttp://253.ccarh.org/handout/controllers/18.htmlhttp://253.ccarh.org/handout/controllers/18.htmlhttp://253.ccarh.org/handout/controllers/18.htmlhttp://253.ccarh.org/handout/controllers/18.htmlhttp://253.ccarh.org/handout/controllers/18.htmlhttp://253.ccarh.org/handout/controllers/17.htmlhttp://253.ccarh.org/handout/controllers/17.htmlhttp://253.ccarh.org/handout/controllers/17.htmlhttp://253.ccarh.org/handout/controllers/17.htmlhttp://253.ccarh.org/handout/controllers/17.htmlhttp://253.ccarh.org/handout/controllers/17.htmlhttp://253.ccarh.org/handout/controllers/17.htmlhttp://253.ccarh.org/handout/controllers/16.htmlhttp://253.ccarh.org/handout/controllers/16.htmlhttp://253.ccarh.org/handout/controllers/16.htmlhttp://253.ccarh.org/handout/controllers/16.htmlhttp://253.ccarh.org/handout/controllers/16.htmlhttp://253.ccarh.org/handout/controllers/16.htmlhttp://253.ccarh.org/handout/controllers/16.htmlhttp://253.ccarh.org/handout/controllers/13.htmlhttp://253.ccarh.org/handout/controllers/13.htmlhttp://253.ccarh.org/handout/controllers/13.htmlhttp://253.ccarh.org/handout/controllers/13.htmlhttp://253.ccarh.org/handout/controllers/13.htmlhttp://253.ccarh.org/handout/controllers/12.htmlhttp://253.ccarh.org/handout/controllers/12.htmlhttp://253.ccarh.org/handout/controllers/12.htmlhttp://253.ccarh.org/handout/controllers/12.htmlhttp://253.ccarh.org/handout/controllers/12.html
  • 7/29/2019 Basic Midi Explanation

    13/15

    42 Pan (fine) 0..127 usually ignored

    43 Expression (sub-Volume) (fine) 0..127 usually ignored

    44 Effect Control 1 (fine) 0..127

    45 Effect Control 2 (fine) 0..127

    46 Continuous controller #14 (fine) 0..127

    47 Continuous controller #15 (fine) 0..127

    48 Continuous controller #16 0..127

    49 Continuous controller #17 0..127

    50 Continuous controller #18 0..127

    51 Continuous controller #19 0..127

    52 Continuous controller #20 (fine) 0..127

    53 Continuous controller #21 (fine) 0..127

    54 Continuous controller #22 (fine) 0..127

    55 Continuous controller #23 (fine) 0..127

    56 Continuous controller #24 (fine) 0..127

    57 Continuous controller #25 (fine) 0..127

    58 Continuous controller #26 (fine) 0..127

    59 Continuous controller #27 (fine) 0..127

    60 Continuous controller #28 (fine) 0..127

    61 Continuous controller #29 (fine) 0..127

    62 Continuous controller #30 (fine) 0..127

    63 Continuous controller #31 (fine) 0..127

    64 Hold pedal (Sustain) on/off 0..63=off 64..127=on

    65 Portamento on/off 0..63=off 64..127=on

    66 Sustenuto Pedal on/off 0..63=off 64..127=on

    67 Soft Pedal on/off 0..63=off 64..127=on

    68 Legato Pedal on/off 0..63=off 64..127=on

    69 Hold Pedal 2 on/off 0..63=off 64..127=on

    70 Sound Variation 0..127

    71 Sound Timbre 0..127

    http://253.ccarh.org/handout/controllers/42.htmlhttp://253.ccarh.org/handout/controllers/43.htmlhttp://253.ccarh.org/handout/controllers/44.htmlhttp://253.ccarh.org/handout/controllers/45.htmlhttp://253.ccarh.org/handout/controllers/64.htmlhttp://253.ccarh.org/handout/controllers/65.htmlhttp://253.ccarh.org/handout/controllers/66.htmlhttp://253.ccarh.org/handout/controllers/67.htmlhttp://253.ccarh.org/handout/controllers/68.htmlhttp://253.ccarh.org/handout/controllers/69.htmlhttp://253.ccarh.org/handout/controllers/70.htmlhttp://253.ccarh.org/handout/controllers/71.htmlhttp://253.ccarh.org/handout/controllers/71.htmlhttp://253.ccarh.org/handout/controllers/71.htmlhttp://253.ccarh.org/handout/controllers/71.htmlhttp://253.ccarh.org/handout/controllers/71.htmlhttp://253.ccarh.org/handout/controllers/70.htmlhttp://253.ccarh.org/handout/controllers/70.htmlhttp://253.ccarh.org/handout/controllers/70.htmlhttp://253.ccarh.org/handout/controllers/70.htmlhttp://253.ccarh.org/handout/controllers/69.htmlhttp://253.ccarh.org/handout/controllers/69.htmlhttp://253.ccarh.org/handout/controllers/69.htmlhttp://253.ccarh.org/handout/controllers/69.htmlhttp://253.ccarh.org/handout/controllers/69.htmlhttp://253.ccarh.org/handout/controllers/68.htmlhttp://253.ccarh.org/handout/controllers/68.htmlhttp://253.ccarh.org/handout/controllers/68.htmlhttp://253.ccarh.org/handout/controllers/68.htmlhttp://253.ccarh.org/handout/controllers/67.htmlhttp://253.ccarh.org/handout/controllers/67.htmlhttp://253.ccarh.org/handout/controllers/67.htmlhttp://253.ccarh.org/handout/controllers/67.htmlhttp://253.ccarh.org/handout/controllers/66.htmlhttp://253.ccarh.org/handout/controllers/66.htmlhttp://253.ccarh.org/handout/controllers/66.htmlhttp://253.ccarh.org/handout/controllers/66.htmlhttp://253.ccarh.org/handout/controllers/65.htmlhttp://253.ccarh.org/handout/controllers/65.htmlhttp://253.ccarh.org/handout/controllers/64.htmlhttp://253.ccarh.org/handout/controllers/64.htmlhttp://253.ccarh.org/handout/controllers/64.htmlhttp://253.ccarh.org/handout/controllers/64.htmlhttp://253.ccarh.org/handout/controllers/45.htmlhttp://253.ccarh.org/handout/controllers/45.htmlhttp://253.ccarh.org/handout/controllers/45.htmlhttp://253.ccarh.org/handout/controllers/45.htmlhttp://253.ccarh.org/handout/controllers/45.htmlhttp://253.ccarh.org/handout/controllers/44.htmlhttp://253.ccarh.org/handout/controllers/44.htmlhttp://253.ccarh.org/handout/controllers/44.htmlhttp://253.ccarh.org/handout/controllers/44.htmlhttp://253.ccarh.org/handout/controllers/44.htmlhttp://253.ccarh.org/handout/controllers/43.htmlhttp://253.ccarh.org/handout/controllers/43.htmlhttp://253.ccarh.org/handout/controllers/42.htmlhttp://253.ccarh.org/handout/controllers/42.html
  • 7/29/2019 Basic Midi Explanation

    14/15

    http://253.ccarh.org/handout/controllers/101.htmlhttp://253.ccarh.org/handout/controllers/101.htmlhttp://253.ccarh.org/handout/controllers/101.htmlhttp://253.ccarh.org/handout/controllers/101.htmlhttp://253.ccarh.org/handout/controllers/101.htmlhttp://253.ccarh.org/handout/controllers/100.htmlhttp://253.ccarh.org/handout/controllers/100.htmlhttp://253.ccarh.org/handout/controllers/100.htmlhttp://253.ccarh.org/handout/controllers/100.htmlhttp://253.ccarh.org/handout/controllers/100.htmlhttp://253.ccarh.org/handout/controllers/99.htmlhttp://253.ccarh.org/handout/controllers/99.htmlhttp://253.ccarh.org/handout/controllers/99.htmlhttp://253.ccarh.org/handout/controllers/99.htmlhttp://253.ccarh.org/handout/controllers/99.htmlhttp://253.ccarh.org/handout/controllers/99.htmlhttp://253.ccarh.org/handout/controllers/98.htmlhttp://253.ccarh.org/handout/controllers/98.htmlhttp://253.ccarh.org/handout/controllers/98.htmlhttp://253.ccarh.org/handout/controllers/98.htmlhttp://253.ccarh.org/handout/controllers/98.htmlhttp://253.ccarh.org/handout/controllers/98.htmlhttp://253.ccarh.org/handout/controllers/98.htmlhttp://253.ccarh.org/handout/controllers/97.htmlhttp://253.ccarh.org/handout/controllers/97.htmlhttp://253.ccarh.org/handout/controllers/97.htmlhttp://253.ccarh.org/handout/controllers/97.htmlhttp://253.ccarh.org/handout/controllers/97.htmlhttp://253.ccarh.org/handout/controllers/96.htmlhttp://253.ccarh.org/handout/controllers/96.htmlhttp://253.ccarh.org/handout/controllers/96.htmlhttp://253.ccarh.org/handout/controllers/96.htmlhttp://253.ccarh.org/handout/controllers/96.htmlhttp://253.ccarh.org/handout/controllers/95.htmlhttp://253.ccarh.org/handout/controllers/95.htmlhttp://253.ccarh.org/handout/controllers/95.htmlhttp://253.ccarh.org/handout/controllers/95.htmlhttp://253.ccarh.org/handout/controllers/94.htmlhttp://253.ccarh.org/handout/controllers/94.htmlhttp://253.ccarh.org/handout/controllers/94.htmlhttp://253.ccarh.org/handout/controllers/94.htmlhttp://253.ccarh.org/handout/controllers/94.htmlhttp://253.ccarh.org/handout/controllers/94.htmlhttp://253.ccarh.org/handout/controllers/93.htmlhttp://253.ccarh.org/handout/controllers/93.htmlhttp://253.ccarh.org/handout/controllers/93.htmlhttp://253.ccarh.org/handout/controllers/93.htmlhttp://253.ccarh.org/handout/controllers/92.htmlhttp://253.ccarh.org/handout/controllers/92.htmlhttp://253.ccarh.org/handout/controllers/92.htmlhttp://253.ccarh.org/handout/controllers/92.htmlhttp://253.ccarh.org/handout/controllers/91.htmlhttp://253.ccarh.org/handout/controllers/91.htmlhttp://253.ccarh.org/handout/controllers/91.htmlhttp://253.ccarh.org/handout/controllers/91.htmlhttp://253.ccarh.org/handout/controllers/83.htmlhttp://253.ccarh.org/handout/controllers/83.htmlhttp://253.ccarh.org/handout/controllers/83.htmlhttp://253.ccarh.org/handout/controllers/83.htmlhttp://253.ccarh.org/handout/controllers/83.htmlhttp://253.ccarh.org/handout/controllers/83.htmlhttp://253.ccarh.org/handout/controllers/82.htmlhttp://253.ccarh.org/handout/controllers/82.htmlhttp://253.ccarh.org/handout/controllers/82.htmlhttp://253.ccarh.org/handout/controllers/82.htmlhttp://253.ccarh.org/handout/controllers/82.htmlhttp://253.ccarh.org/handout/controllers/82.htmlhttp://253.ccarh.org/handout/controllers/81.htmlhttp://253.ccarh.org/handout/controllers/81.htmlhttp://253.ccarh.org/handout/controllers/81.htmlhttp://253.ccarh.org/handout/controllers/81.htmlhttp://253.ccarh.org/handout/controllers/81.htmlhttp://253.ccarh.org/handout/controllers/81.htmlhttp://253.ccarh.org/handout/controllers/80.htmlhttp://253.ccarh.org/handout/controllers/80.htmlhttp://253.ccarh.org/handout/controllers/80.htmlhttp://253.ccarh.org/handout/controllers/80.htmlhttp://253.ccarh.org/handout/controllers/80.htmlhttp://253.ccarh.org/handout/controllers/80.htmlhttp://253.ccarh.org/handout/controllers/79.htmlhttp://253.ccarh.org/handout/controllers/79.htmlhttp://253.ccarh.org/handout/controllers/79.htmlhttp://253.ccarh.org/handout/controllers/79.htmlhttp://253.ccarh.org/handout/controllers/79.htmlhttp://253.ccarh.org/handout/controllers/78.htmlhttp://253.ccarh.org/handout/controllers/78.htmlhttp://253.ccarh.org/handout/controllers/78.htmlhttp://253.ccarh.org/handout/controllers/78.htmlhttp://253.ccarh.org/handout/controllers/78.htmlhttp://253.ccarh.org/handout/controllers/77.htmlhttp://253.ccarh.org/handout/controllers/77.htmlhttp://253.ccarh.org/handout/controllers/77.htmlhttp://253.ccarh.org/handout/controllers/77.htmlhttp://253.ccarh.org/handout/controllers/77.htmlhttp://253.ccarh.org/handout/controllers/76.htmlhttp://253.ccarh.org/handout/controllers/76.htmlhttp://253.ccarh.org/handout/controllers/76.htmlhttp://253.ccarh.org/handout/controllers/76.htmlhttp://253.ccarh.org/handout/controllers/76.htmlhttp://253.ccarh.org/handout/controllers/75.htmlhttp://253.ccarh.org/handout/controllers/75.htmlhttp://253.ccarh.org/handout/controllers/75.htmlhttp://253.ccarh.org/handout/controllers/75.htmlhttp://253.ccarh.org/handout/controllers/75.htmlhttp://253.ccarh.org/handout/controllers/74.htmlhttp://253.ccarh.org/handout/controllers/74.htmlhttp://253.ccarh.org/handout/controllers/74.htmlhttp://253.ccarh.org/handout/controllers/74.htmlhttp://253.ccarh.org/handout/controllers/73.htmlhttp://253.ccarh.org/handout/controllers/73.htmlhttp://253.ccarh.org/handout/controllers/73.htmlhttp://253.ccarh.org/handout/controllers/73.htmlhttp://253.ccarh.org/handout/controllers/73.htmlhttp://253.ccarh.org/handout/controllers/73.htmlhttp://253.ccarh.org/handout/controllers/72.htmlhttp://253.ccarh.org/handout/controllers/72.htmlhttp://253.ccarh.org/handout/controllers/72.htmlhttp://253.ccarh.org/handout/controllers/72.htmlhttp://253.ccarh.org/handout/controllers/72.htmlhttp://253.ccarh.org/handout/controllers/72.html
  • 7/29/2019 Basic Midi Explanation

    15/15

    102 Undefined ?

    103 Undefined ?

    104 Undefined ?

    105 Undefined ?

    106 Undefined ?

    107 Undefined ?

    108 Undefined ?

    109 Undefined ?

    110 Undefined ?

    111 Undefined ?

    112 Undefined ?

    113 Undefined ?

    114 Undefined ?

    115 Undefined ?

    116 Undefined ?

    117 Undefined ?

    118 Undefined ?

    119 Undefined ?

    120 All Sound Off ignored

    121 All Controllers Off ignored

    122 Local Keyboard On/Off 0..63=off 64..127=on

    123 All Notes Off ignored

    124 Omni Mode Off ignored

    125 Omni Mode On ignored

    126 Monophonic Mode On **

    127 Polyphonic Mode On (mono=off) ignored

    http://253.ccarh.org/handout/controllers/120.htmlhttp://253.ccarh.org/handout/controllers/121.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/123.htmlhttp://253.ccarh.org/handout/controllers/124.htmlhttp://253.ccarh.org/handout/controllers/125.htmlhttp://253.ccarh.org/handout/controllers/126.htmlhttp://253.ccarh.org/handout/controllers/127.htmlhttp://253.ccarh.org/handout/controllers/127.htmlhttp://253.ccarh.org/handout/controllers/127.htmlhttp://253.ccarh.org/handout/controllers/127.htmlhttp://253.ccarh.org/handout/controllers/127.htmlhttp://253.ccarh.org/handout/controllers/127.htmlhttp://253.ccarh.org/handout/controllers/127.htmlhttp://253.ccarh.org/handout/controllers/126.htmlhttp://253.ccarh.org/handout/controllers/126.htmlhttp://253.ccarh.org/handout/controllers/126.htmlhttp://253.ccarh.org/handout/controllers/126.htmlhttp://253.ccarh.org/handout/controllers/126.htmlhttp://253.ccarh.org/handout/controllers/126.htmlhttp://253.ccarh.org/handout/controllers/125.htmlhttp://253.ccarh.org/handout/controllers/125.htmlhttp://253.ccarh.org/handout/controllers/125.htmlhttp://253.ccarh.org/handout/controllers/125.htmlhttp://253.ccarh.org/handout/controllers/125.htmlhttp://253.ccarh.org/handout/controllers/125.htmlhttp://253.ccarh.org/handout/controllers/124.htmlhttp://253.ccarh.org/handout/controllers/124.htmlhttp://253.ccarh.org/handout/controllers/124.htmlhttp://253.ccarh.org/handout/controllers/124.htmlhttp://253.ccarh.org/handout/controllers/124.htmlhttp://253.ccarh.org/handout/controllers/124.htmlhttp://253.ccarh.org/handout/controllers/123.htmlhttp://253.ccarh.org/handout/controllers/123.htmlhttp://253.ccarh.org/handout/controllers/123.htmlhttp://253.ccarh.org/handout/controllers/123.htmlhttp://253.ccarh.org/handout/controllers/123.htmlhttp://253.ccarh.org/handout/controllers/123.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/122.htmlhttp://253.ccarh.org/handout/controllers/121.htmlhttp://253.ccarh.org/handout/controllers/121.htmlhttp://253.ccarh.org/handout/controllers/121.htmlhttp://253.ccarh.org/handout/controllers/121.htmlhttp://253.ccarh.org/handout/controllers/121.htmlhttp://253.ccarh.org/handout/controllers/121.htmlhttp://253.ccarh.org/handout/controllers/120.htmlhttp://253.ccarh.org/handout/controllers/120.htmlhttp://253.ccarh.org/handout/controllers/120.htmlhttp://253.ccarh.org/handout/controllers/120.htmlhttp://253.ccarh.org/handout/controllers/120.htmlhttp://253.ccarh.org/handout/controllers/120.html