IEC 63035:2017
(Main)MIDI (musical instrument digital interface) specification 1.0 (Abridged Edition, 2015)
MIDI (musical instrument digital interface) specification 1.0 (Abridged Edition, 2015)
IEC 63035:2017 specifies a hardware and software specification which makes it possible to exchange symbolic music and control information between different musical instruments or other devices such as sequencers, computers, lighting controllers, mixers, etc. using MIDI technology (musical instrument digital interface):
Spécification MIDI (musical instrument digital interface) 1.0 (Edition abrégée, 2015)
L'IEC 63035:2017 donne une spécification matérielle et logicielle permettant d’échanger des informations musicales et des informations de contrôle entre différents instruments de musique ou d’autres dispositifs (séquenceurs, ordinateurs, contrôleurs d’éclairage, mélangeurs, etc.) à l’aide de la technologie MIDI (Musical Instrument Digital Interface – interface numérique pour instruments de musique).
General Information
Standards Content (Sample)
IEC 63035 ®
Edition 1.0 2017-06
INTERNATIONAL
STANDARD
MIDI (musical instrument digital interface) specification 1.0
(Abridged Edition, 2015)
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form
or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from
either IEC or IEC's member National Committee in the country of the requester. If you have any questions about IEC
copyright or have an enquiry about obtaining additional rights to this publication, please contact the address below or
your local IEC member National Committee for further information.
IEC Central Office Tel.: +41 22 919 02 11
3, rue de Varembé Fax: +41 22 919 03 00
CH-1211 Geneva 20 info@iec.ch
Switzerland www.iec.ch
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.
About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigenda or an amendment might have been published.
IEC Catalogue - webstore.iec.ch/catalogue Electropedia - www.electropedia.org
The stand-alone application for consulting the entire The world's leading online dictionary of electronic and
bibliographical information on IEC International Standards, electrical terms containing 20 000 terms and definitions in
Technical Specifications, Technical Reports and other English and French, with equivalent terms in 16 additional
documents. Available for PC, Mac OS, Android Tablets and languages. Also known as the International Electrotechnical
iPad. Vocabulary (IEV) online.
IEC publications search - www.iec.ch/searchpub IEC Glossary - std.iec.ch/glossary
The advanced search enables to find IEC publications by a 65 000 electrotechnical terminology entries in English and
variety of criteria (reference number, text, technical French extracted from the Terms and Definitions clause of
committee,…). It also gives information on projects, replaced IEC publications issued since 2002. Some entries have been
and withdrawn publications. collected from earlier publications of IEC TC 37, 77, 86 and
CISPR.
IEC Just Published - webstore.iec.ch/justpublished
Stay up to date on all new IEC publications. Just Published IEC Customer Service Centre - webstore.iec.ch/csc
details all new publications released. Available online and If you wish to give us your feedback on this publication or
also once a month by email. need further assistance, please contact the Customer Service
Centre: csc@iec.ch.
IEC 63035 ®
Edition 1.0 2017-06
INTERNATIONAL
STANDARD
MIDI (musical instrument digital interface) specification 1.0
(Abridged Edition, 2015)
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
ICS 33.160.30; 35.040.01; 35.200 ISBN 978-2-8322-4355-8
– 2 – IEC 63035:2017 IEC 2017
CONTENTS
FOREWORD . 4
INTRODUCTION . 6
1 Scope . 7
2 Normative references . 7
3 Terms and definitions . 7
4 General . 8
4.1 Hardware . 8
4.2 Data format . 10
4.3 Message types . 11
4.3.1 General . 11
4.3.2 Channel messages . 11
4.3.3 System messages. 11
4.4 Data types . 12
4.4.1 General . 12
4.4.2 Status bytes . 12
4.4.3 Data bytes . 12
4.5 Channel modes . 13
4.6 Power-up default conditions . 14
5 MIDI implementation chart instructions . 14
5.1 Introduction . 14
5.2 General . 14
5.3 Function description . 14
5.3.1 Basic Channel . 14
5.3.2 Mode . 14
5.3.3 Note Number . 15
5.3.4 Velocity . 15
5.3.5 Aftertouch . 15
5.3.6 Pitch Bend . 15
5.3.7 Control Change . 15
5.3.8 Program Change . 15
5.3.9 System Exclusive . 15
5.3.10 System Common . 15
5.3.11 System Real Time . 15
5.3.12 Aux. messages . 16
5.3.13 Notes . 16
Annex A (normative) Summary of MIDI messages . 17
Annex B (normative) Control Change messages (Data bytes) . 20
B.1 Control Change messages and Channel Mode messages . 20
B.2 Registered Parameter numbers . 23
Annex C (normative) System Exclusive messages . 25
C.1 System Exclusive messages . 25
C.2 Universal System Exclusive messages . 25
Annex D (normative) MIDI Implementation Chart template . 30
Bibliography . 31
Figure 1 – MIDI standard hardware . 9
Figure 2 – Types of MIDI bytes . 10
Figure 3 – Types of MIDI messages . 10
Figure 4 – Structure of a single message . 11
Figure 5 – Structure of System Exclusive message . 11
Table 1 – Modes for receiver . 13
Table 2 – Modes for transmitter . 13
Table A.1 – MIDI Specification 1.0 message summary . 17
Table B.1 – Control Changes and Mode Changes (Status bytes 176 to 191) . 20
Table B.2 – Registered Parameter numbers . 24
Table C.1 – System Exclusive messages . 25
Table C.2 – Universal System Exclusive messages . 26
Table D.1 – MIDI Implementation Chart template . 30
– 4 – IEC 63035:2017 IEC 2017
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
MIDI (MUSICAL INSTRUMENT DIGITAL INTERFACE) SPECIFICATION 1.0
(Abridged Edition, 2015)
FOREWORD
1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
all national electrotechnical committees (IEC National Committees). The object of IEC is to promote
international co-operation on all questions concerning standardization in the electrical and electronic fields. To
this end and in addition to other activities, IEC publishes International Standards, Technical Specifications,
Technical Reports, Publicly Available Specifications (PAS) and Guides (hereafter referred to as “IEC
Publication(s)”). Their preparation is entrusted to technical committees; any IEC National Committee interested
in the subject dealt with may participate in this preparatory work. International, governmental and non-
governmental organizations liaising with the IEC also participate in this preparation. IEC collaborates closely
with the International Organization for Standardization (ISO) in accordance with conditions determined by
agreement between the two organizations.
2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
consensus of opinion on the relevant subjects since each technical committee has representation from all
interested IEC National Committees.
3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
misinterpretation by any end user.
4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
transparently to the maximum extent possible in their national and regional publications. Any divergence
between any IEC Publication and the corresponding national or regional publication shall be clearly indicated in
the latter.
5) IEC itself does not provide any attestation of conformity. Independent certification bodies provide conformity
assessment services and, in some areas, access to IEC marks of conformity. IEC is not responsible for any
services carried out by independent certification bodies.
6) All users should ensure that they have the latest edition of this publication.
7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
members of its technical committees and IEC National Committees for any personal injury, property damage or
other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
Publications.
8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
9) Attention is drawn to the possibility that some of the elements of this IEC Publication may be the subject of
patent rights. IEC shall not be held responsible for identifying any or all such patent rights.
International Standard IEC 63035 has been prepared by IEC technical committee 100: Audio,
video and multimedia systems and equipment.
The text of this standard is based on the following documents:
CDV Report on voting
100/2597/CDV 100/2858/RVC
Full information on the voting for the approval of this International Standard can be found in
the report on voting indicated in the above table.
This document has been drafted in accordance with the ISO/IEC Directives, Part 2.
The committee has decided that the contents of this document will remain unchanged until the
stability date indicated on the IEC website under "http://webstore.iec.ch" in the data related to
the specific document. At this date, the document will be
• reconfirmed,
• withdrawn,
• replaced by a revised edition, or
• amended.
A bilingual version of this publication may be issued at a later date.
– 6 – IEC 63035:2017 IEC 2017
INTRODUCTION
IEC 63035 contains the same first 8 pages as in the MIDI 1.0 Detailed Specification (the
original core specification text) published by the MIDI Manufacturers Association (MMA).
These are included within this standard as Clauses 1 to 4. This specification was submitted to
the IEC under the auspices of a special agreement between the IEC and the MMA.
The MMA is a non-profit corporation that serves as a support organization and forum for the
advancement and adoption of MIDI technology (along with the Association of Musical
Electronics Industry, or AMEI, in Japan).
The MIDI 1.0 technology dates back to 1983 when the protocol and electrical specification
comprised 8 pages and the majority of the message identifiers were not yet defined. Over the
subsequent years, the MMA and AMEI determined consensus of the worldwide MIDI industry,
and defined numerous additional messages (via Confirmation of Approval documents), as well
as many Recommended Practices for the use of MIDI technology, all the while maintaining
MIDI as "1.0" (meaning that no significant changes were made to the initial specification).
The MMA documentation for MIDI 1.0 now encompasses more than 50 different documents in
print or on the World Wide Web. This standard contains the same first 8 pages as in the
MMA’s MIDI 1.0 Detailed Specification but does not contain all of the subsequent information
developed by MMA/AMEI. Rather, this document contains a complete listing (with basic
description) of all defined MIDI messages to date, with references to the appropriate MMA
documentation. Companies that want to implement MIDI technology are advised to also
consult the MMA documentation that is listed in the Biography.
Although the MIDI 1.0 Detailed Specification includes an electrical connection specification
("MIDI-DIN"), other transports (USB, Firewire, etc.) have also been approved by MMA/AMEI
for use with MIDI Protocol. For details and documentation of approved physical transports,
please contact the MIDI Manufacturers Association.
The term "MIDI" is known all around the world as referring to the technology which is defined
in the MMA/AMEI documents, and so should not be used for any other purpose. Companies
that implement MIDI technology in their products in compliance with MMA specifications may
use the term MIDI to describe their products, but may not use the term to describe any
extensions or enhancements that are not defined by MMA/AMEI. Only MMA/AMEI can define
the messages, transport payloads, and Recommend Practices which are promoted as "MIDI"
so as to prevent any dilution and confusion of the meaning of "MIDI". Implementers of MIDI
technology should consult MMA and/or AMEI (depending on the relevant market) for specific
trademark usage policies.
MIDI (MUSICAL INSTRUMENT DIGITAL INTERFACE) SPECIFICATION 1.0
(Abridged Edition, 2015)
1 Scope
This International Standard specifies a hardware and software specification which makes it
possible to exchange symbolic music and control information between different musical
instruments or other devices such as sequencers, computers, lighting controllers, mixers, etc.
using MIDI technology (musical instrument digital interface).
2 Normative references
The following documents are referred to in the text in such a way that some or all of their
content constitutes requirements of this document. For dated references, only the edition
cited applies. For undated references, the latest edition of the referenced document (including
any amendments) applies.
IEC 60130-9, Connectors for frequencies below 3 MHz - Part 9: Circular connectors for radio
and associated sound equipment
3 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
ISO and IEC maintain terminological databases for use in standardization at the following
addresses:
• IEC Electropedia: available at http://www.electropedia.org/
• ISO Online browsing platform: available at http://www.iso.org/obp
3.1
velocity
parameter which typically changes the intensity and resultant volume of the note that is being
played and varies according to the force applied
Note 1 to entry: Velocity is used as Key Velocity as in a piano key.
3.2
aftertouch
parameter that measures the level of intensity applied to a note after it has been played and
continues to be depressed
Note 1 to entry: Typically, Aftertouch is useful for adding vibrato or tremolo effects to a sound in much the same
way that a violin can add volume or pitch changes to a sustained note using finger vibrato or additional bowing
intensity.
3.3
modulation wheel
wheel controller found on synthesizers that players can use to progressively introduce
modulation depth to a sound
– 8 – IEC 63035:2017 IEC 2017
3.4
pitch wheel
wheel type device, normally found to the left of a synthesizer keyboard, used to manipulate
the pitch of a played note or notes
3.5
pitch bend
activity or message, generally initiated by a pitch wheel, that smoothly raises and/or lowers
the pitch of note or chord
3.6
oscillator
circuitry or software program that generates the kernel of a synthesizer sound
Note 1 to entry: In the early days, oscillators generated fairly basic sound types (sawtooth, square, pulse etc). In
modern synthesizer engines, oscillators can be driven by myriad waveforms and samples.
3.7
pan
parameter that specifies the location of a sound within the stereo field
4 General
4.1 Hardware
The hardware MIDI interface operates at 31,25 × (1 ± 1 %) kBd asynchronous, with a start bit,
8 data bits (D0 to D7), and a stop bit. This makes a total of 10 bits for a period of 320 µs per
serial byte. The start bit is a logical 0 (current on) and the stop bit is a logical 1 (current off).
Bytes are sent LSB first.
Circuit: (See Figure 1). 5 mA current loop type. Logical 0 is current ON. One output shall drive
one and only one input. To avoid ground loops, and subsequent data errors, the transmitter
circuitry and receiver circuitry are internally separated by an opto-isolator (a light emitting
diode and a photo sensor which share a single, sealed package). The receiver shall require
less than 5 mA to turn on. Rise and fall times should be less than 2 µs.
Connectors: DIN 5 pin (180°) female panel mount receptacle which is specified in
IEC 60130-9 as type designation IEC-04. The connectors shall be labelled "MIDI IN" and
"MIDI OUT". Note that pins 1 and 3 are not used, and should be left unconnected in the
receiver and transmitter. Pin 2 of the MIDI In connector should also be left unconnected.
The grounding shield connector on the MIDI jacks should not be connected to any circuit or
chassis ground.
When MIDI Thru information is obtained from a MIDI In signal, transmission may occasionally
be performed incorrectly due to signal degradation (caused by the response time of the opto-
isolator) between the rising and falling edges of the square wave. These timing errors will
tend to add up in the "wrong direction" as more devices are chained between MIDI Thru and
MIDI In jacks. The result is that, regardless of circuit quality, there is a limit to the number of
devices which can be chained (series-connected) in this fashion.
L
Rd
Opto-isolator
2 4
TO
UART
Vo
Rb
DI
GND
IN 914
NC
1 Optional
NC NC
Re
L
MIDI IN
Rf
A
NC NC
MIDI THRU
Ra
L
Rc
From
A
UART
NC NC
MIDI OUT
IEC
Key
Components Supplies
Ra, Rb, Rc, Re, Rf
resistor R = 220 Ω L +5 V
Rd
resistor R = 280 Ω
NOTE 1 Opto-isolator shown is Sharp PC-900. (HP 6N138 or other opto-isolator can be used with appropriate
changes.)
NOTE 2 Gates "A" are IC or transistor.
NOTE 3 Resistors are 5 %.
Figure 1 – MIDI standard hardware
Cables shall have a maximum length of 15 m, and shall be terminated on each end by a
corresponding 5-pin DIN male plug which is specified in IEC 60130-9 as type designation
IEC-03. The cable shall be shielded twisted pair, with the shield connected to pin 2 at both
ends.
A MIDI Thru output may be provided if needed, which provides a direct copy of data coming in
MIDI In. For long chain lengths (more than three instruments), higher-speed opto-isolators
should help to avoid additive rise/fall time errors which affect pulse width duty cycle.
– 10 – IEC 63035:2017 IEC 2017
4.2 Data format
MIDI communication is achieved through multi-byte "messages" consisting of one Status byte
followed by one or two Data bytes. Real-Time and Exclusive messages are an exception.
A MIDI-equipped instrument typically contains a receiver and a transmitter. Some instruments
may contain only a receiver or only a transmitter. A receiver accepts messages in MIDI format
and executes MIDI commands. It consists of an opto-isolator, Universal Asynchronous
Receiver/Transmitter (UART), and any other hardware needed to perform the intended
functions. A transmitter originates messages in MIDI format, and transmits them by way of a
UART and line driver.
MIDI makes it possible for a user of MIDI-compatible equipment to expand the number of
instruments in a music system and to change system configurations to meet changing
requirements.
MIDI messages are sent over any of 16 channels which are used for a variety of performance
information. There are five major types of MIDI messages: Channel Voice, Channel Mode,
System Common, System Real-Time and System Exclusive.
A MIDI event is transmitted as a "message" and consists of one or more bytes. Figure 2 to
Figure 5 show the structure and classification of MIDI data.
Byte
Status Byte Data Byte
(80H – FFH) (00H – 7FH)
IEC
Figure 2 – Types of MIDI bytes
Message
type
Channel System
Message Message
System System System
Channel Channel
Common Real Time
Exclusive
Voice Mode
Message Message Message
Message Message
IEC
Figure 3 – Types of MIDI messages
Status Byte
Status Byte Data Byte
Status Byte Data Byte Data Byte
IEC
Figure 4 – Structure of a single message
Status Byte Data Byte EOX Byte
IEC
Figure 5 – Structure of System Exclusive message
4.3 Message types
4.3.1 General
Messages are divided into two main categories: Channel and System.
4.3.2 Channel messages
A Channel message uses four bits in the Status byte to address the message to one of
sixteen MIDI channels and four bits to define the message (see Annex A). Channel messages
are thereby intended for the receivers in a system whose channel number matches the
channel number encoded into the Status byte.
An instrument can receive MIDI messages on more than one channel. The channel in which it
receives its main instructions, such as which program number to be on and what mode to be
in, is referred to as its "Basic Channel". An instrument may be set up to receive performance
data on multiple channels (including the Basic Channel). These are referred to as "Voice
Channels". These multiple-channel situations will be discussed in more detail later (see 4.5).
There are two types of Channel messages: Voice and Mode.
• VOICE: To control an instrument's voices, Voice messages are sent over the Voice
Channels.
• MODE: To define the instrument's response to Voice messages, Mode messages are sent
over an instrument's Basic Channel.
4.3.3 System messages
System messages are not encoded with channel numbers. There are three types of System
messages: Common, Real-Time, and Exclusive.
• COMMON: Common messages are intended for all receivers in a system regardless of
channel.
• REAL-TIME: Real-Time messages are used for synchronization and are intended for all
clock-based instruments in a system. They contain Status bytes only – no Data bytes.
Real-Time messages may be sent at any time – even between bytes of a message which
has a different status. In such cases the Real-Time message is either acted upon or
ignored, after which the receiving process resumes under the previous status.
• EXCLUSIVE: Exclusive messages can contain any number of Data bytes, and can be
terminated either by an End of Exclusive (EOX) or any other Status byte (except Real
Time messages). An EOX should always be sent at the end of a System Exclusive
– 12 – IEC 63035:2017 IEC 2017
message. These messages include a Manufacturer's Identification (ID) code. If a receiver
does not recognize the ID code, it should ignore the following data.
So that other users and third party developers can fully access their instruments,
manufacturers shall publish the format of the System Exclusive data following their ID
code. Only the manufacturer can define or update the format following their ID.
4.4 Data types
4.4.1 General
There are two types of bytes sent over MIDI: Status Bytes and Data bytes.
4.4.2 Status bytes
4.4.2.1 General
Status bytes are eight-bit binary numbers in which the Most Significant Bit (MSB) is set
(binary 1). Status bytes serve to identify the message type, that is, the purpose of the Data
bytes which follow it. Except for Real-Time messages, new Status bytes will always command
a receiver to adopt a new status, even if the last message was not completed.
4.4.2.2 Running status
For Voice and Mode messages only. When a Status byte is received and processed, the
receiver will remain in that status until a different Status byte is received. Therefore, if the
same Status byte would be repeated, it can optionally be omitted so that only the Data bytes
need to be sent. Thus, with Running Status, a complete message can consist of only Data
bytes.
Running Status is especially helpful when sending long strings of Note On/Off messages,
where "Note On with Velocity of 0" is used for Note Off.
Running Status will be stopped when any other Status byte intervenes. Real-Time messages
should not affect Running Status.
4.4.2.3 Unimplemented status
Any status bytes, and subsequent data bytes, received for functions not implemented in a
receiver should be ignored.
4.4.2.4 Undefined status
All MIDI instruments should be careful to never send any undefined status bytes. If an
instrument receives any such code, it should be ignored without causing any problems to the
system. Care should also be taken during power-up and power-down that no messages be
sent out the MIDI Out port. Such noise, if it appears on a MIDI line, could cause a data or
framing error if the number of bits in the byte is incorrect.
4.4.3 Data bytes
Following a Status byte (except for Real-Time messages) there are either one or two Data
bytes which carry the content of the message. Data bytes are eight-bit binary numbers in
which the Most Significant Bit (MSB) is always set to binary 0. The number and range of Data
bytes which shall follow each Status byte are specified in Annex A and Annex B. For each
Status byte the correct number of Data bytes shall always be sent. Inside a receiver, action
on the message should wait until all Data bytes required under the current status are received.
Receivers should ignore Data bytes which have not been properly preceded by a valid Status
byte (with the exception of "Running Status," explained above).
4.5 Channel modes
Synthesizers and other instruments contain sound generation elements called voices. Voice
assignment is the algorithmic process of routing Note On/Off data from incoming MIDI
messages to the voices so that notes are correctly sounded.
NOTE When we refer to an "instrument", please note that it is possible for one physical instrument to act as
several virtual instruments (i.e. a synthesizer set to a 'split' mode operates like two individual instruments). Here,
"instrument" refers to a virtual instrument and not necessarily one physical instrument.
Four Mode messages are available for defining the relationship between the sixteen MIDI
channels and the instrument's voice assignment. The four modes are determined by the
properties Omni (On/Off), Poly, and Mono. Poly and Mono are mutually exclusive, i.e., Poly
disables Mono, and vice versa. Omni, when on, enables the receiver to receive Voice
messages on all voice Channels. When Omni is off, the receiver will accept Voice messages
from only selected Voice Channel(s). Mono, when on, restricts the assignment of Voices to
just one voice per Voice Channel (Monophonic.) When Mono is off (Poly On), a number of
voices may be allocated by the Receiver's normal voice assignment (Polyphonic) algorithm.
For a receiver assigned to Basic Channel "N," (1 to 16) the four possible modes arising from
the two Mode messages are shown in Table 1.
Table 1 – Modes for receiver
Mode Omni Poly/Mono Description
1 On Poly Voice messages are received from all Voice channels and assigned to
voices polyphonically.
2 On Mono Voice messages are received from all Voice Channels, and control only
one voice, monophonically.
3 Off Poly Voice messages are received in Voice channel N only, and are assigned
to voices polyphonically.
4 Off Mono
Voice messages are received in Voice channels N through N+M-1, and
assigned monophonically to voices 1 through M, respectively. The
number of voices "M" is specified by the third byte of the Mono Mode
Message.
Four modes are applied to transmitters (also assigned to Basic Channel N) (see Table 2).
Transmitters with no channel selection capability should transmit on Basic Channel 1 (N=1).
Table 2 – Modes for transmitter
Mode Omni Poly/Mono Description
1 On Poly All voice messages are transmitted in Channel N.
2 On Mono Voice messages for one voice are sent in Channel N.
3 Off Poly Voice messages for all voices are sent in Channel N.
4 Off Mono Voice messages for voices 1 through M are transmitted in Voice Channels
N through N+M-1, respectively. (Single voice per channel).
A MIDI receiver or transmitter operates under only one Channel Mode at a time. If a mode is
not implemented on the receiver, it should ignore the message (and any subsequent data
bytes), or switch to an alternate mode, usually Mode 1 (Omni On/Poly).
Mode messages will be recognized by a receiver only when received in the instrument's Basic
Channel – regardless of which mode the receiver is currently assigned to. Voice messages
may be received in the Basic Channel and in other Voice Channels, according to the above
specifications.
– 14 – IEC 63035:2017 IEC 2017
Since a single instrument may function as multiple "virtual" instruments, it can thus have more
than one basic channel. Such an instrument behaves as though it is more than one receiver,
and each receiver can be set to a different Basic Channel. Each of these receivers may also
be set to a different mode, either by front panel controls or by Mode messages received over
MIDI on each basic channel. Although not a true MIDI mode, instruments operating in this
fashion are described as functioning in "Multi Mode."
An instrument's transmitter and receiver may be set to different modes. For example, an
instrument may receive in Mono mode and transmit in Poly mode. It is also possible to
transmit and receive on different channels. For example, an instrument may receive on
Channel 1 and transmit on Channel 3.
4.6 Power-up default conditions
It is recommended that at power-up, the basic channel should be set to 1, and the mode set to
Omni On/Poly (Mode 1). This, and any other default conditions for the particular instrument,
should be maintained indefinitely (even when powered down) until instrument panel controls
are operated or MIDI data is received. However, the decision to implement the above is left
totally up to the designer.
5 MIDI implementation chart instructions
5.1 Introduction
The standard MIDI implementation chart is used as a quick reference of transmitter and
receiver functions so that users can easily recognize what messages and functions are
implemented in the instrument. This chart should be included in the users manual of all MIDI
products. For example, if a user intends to connect two MIDI instruments, they might compare
the "Transmitted" part of one instrument's chart, with the "Recognized" part of the other
instrument's chart by overlapping them. For this reason, each chart should be the same size
and have the same number of lines.
A chart template is provided in Table D.1.
5.2 General
a) The "[ ]" brackets at the top of the chart are used for the instrument's name such as,
[LINEAR WAVETABLE SYNTHESIZER].
b) The item "Model" should be used for the model number, such as "LW-1".
c) The body of the implementation chart is divided into four columns. The first column is the
specific function or item, the next two columns give information on whether the specified
function is transmitted and/or received, and the fourth column is used for remarks. This
last column is useful to explain anything unique to this implementation.
5.3 Function description
5.3.1 Basic Channel
• Default: Channel which is assigned when power is first applied to instrument.
• Changed: Channels which can be assigned from the instrument's front panel.
5.3.2 Mode
• Default: This is the channel mode used by a Transmitter and Receiver when power is first
applied. This should be written as Mode x (where x is 1 through 4), as shown on the
bottom of sheet.
• Messages: These are the mode messages which can be transmitted or received, such as
OMNI ON/OFF, MONO ON, and POLY ON. MONO ON and POLY ON may be written in
the short form "MONO", "POLY".
• Altered: This shows the channel modes which are not implemented by a receiver and the
modes which are substituted. For example, if the receiver cannot accept "MONO ON"
mode, but will switch to "OMNI ON" mode in order to receive the MIDI data, the following
expression should be used: "MONO ON > OMNI ON" or "MONO > OMNI".
5.3.3 Note Number
• Note Number: The total range of transmitted or recognized notes.
• True Voice: Range of received note numbers falling within the range of true notes
produced by the instrument.
5.3.4 Velocity
Note On/Note Off: Velocity is marked with an "o" for implemented or an "x" for not
implemented. In the space following the "o" or "x", it may be mentioned how the Note On or
Off data is being transmitted.
5.3.5 Aftertouch
"o" for implemented or "x" for not implemented.
5.3.6 Pitch Bend
"o" for implemented or "x" for not implemented.
5.3.7 Control Change
Space is given in this area for listing of any implemented control numbers. An "o" or "x"
should be placed in the appropriate Transmitted or Recognized column, and the function of
the specified control number should be listed in the Remarks column.
5.3.8 Program Change
"o" for implemented or an "x" for not implemented. If implemented, the range of numbers
should be included.
True # (Number): The range of the program change numbers which correspond to the actual
number of patches selected.
5.3.9 System Exclusive
"o" for implemented or "x" for not implemented. A full description of the instrument's System
Exclusive implementation should be included on separate pages.
5.3.10 System Common
"o" for implemented or "x" for not implemented. The following abbreviations are used:
• Song Pos = Song Position
• Song Sel = Song Select
• Tune = Tune Request
5.3.11 System Real Time
"o" for implemented or "x" for not implemented. The following abbreviations are used:
• Clock = Timing Clock
• Commands = Start, Continue and Stop
– 16 – IEC 63035:2017 IEC 2017
5.3.12 Aux. messages
"o" for implemented or an "x" for not implemented. The following abbreviations are used:
• Aux = Auxiliary
• Active Sense = Active Sensing
5.3.13 Notes
The "Notes" column can be any comments such as:
Power Up messages transmitted, implementation of program changes to additional memory
banks, etc.
Annex A
(normative)
Summary of MIDI messages
The following table lists many of the major MIDI messages in numerical (binary) order.
Table A.1 is intended as an overview of MIDI. Additional messages and their detailed
explanations are listed in The Complete MIDI 1.0 Detailed Specification and in the
Confirmation of Approvals (see Bibliography).
Some Status Numbers are reserved for future extension. Those numbers should not be used
in any product that is promoted as being "MIDI compatible" until defined by MMA/AMEI.
Table A.1 – MIDI Specification 1.0 message summary
Status Data Byte(s) Description
D7----D0 D7----D0
Channel Voice Messages [nnnn = 0 to 15 (MIDI Channel Number 1 to 16)]
1000nnnn 0kkkkkkk Note Off event.
0vvvvvvv This message is sent when a note is released (ended). (kkkkkkk) is
the key (note) number. (vvvvvvv) is the velocity.
1001nnnn 0kkkkkkk Note On event.
0vvvvvvv This message is sent when a note is depressed (start). (kkkkkkk) is
the key (note) number. (vvvvvvv) is the velocity.
Vvvvvvv = 0: Note Off (with velocity of 64)
1010nnnn 0kkkkkkk Polyphonic Key Pressure (Aftertouch).
0vvvvvvv This message is most often sent by pressing down on the key after it
"bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the
pressure value.
1011nnnn 0ccccccc Control Change.
0vvvvvvv This message is sent when a controller value changes. Controllers
include devices such as pedals and levers. Controller numbers 120
to 127 are reserved as "Channel Mode Messages" (below). (ccccccc)
is the controller number (0 to 119). (vvvvvvv) is the controller value
(0 to 127). (see Annex B)
1100nnnn 0ppppppp Program Change.
This message is sent when the patch number changes. (ppppppp) is
the new program number.
1101nnnn 0vvvvvvv Channel Pressure (Aftertouch).
This message is most often sent by pressing down on the key after it
"bottoms out". This message is different from Polyphonic Key
Pressure (Aftertouch). Use this message to send the single greatest
pressure value (of all the current depressed keys). (vvvvvvv) is the
pressure value.
1110nnnn 0lllllll Pitch Wheel Change.
0mmmmmmm This message is sent to indicate a change in the pitch wheel. The
pitch wheel is measured by a fourteen bit value. Center (no pitch
change) is 2000 H. Sensitivity is a function of the transmitter. (lllllll)
are the least significant 7 bits. (mmmmmmm) are the most significant
7 bits.
Channel Mode Messages
1011nnnn 0ccccccc Channel Mode Messages.
0vvvvvvv This is the same Status Byte value as the Control Change, but
– 18 – IEC 63035:2017 IEC 2017
Status Data Byte(s) Description
D7----D0 D7----D0
implements Mode control and special message by using reserved
controller numbers 120 to 127. The commands are:
– All Sound Off. When All Sound Off is received, all oscillators will
turn off, and their volume envelopes are set to zero as soon as
possible.
• c = 120, v = 0: All Sound Off
– Reset All Controllers. When Reset All Controllers is received, all
controller values are reset to their default values. (see
Bibliography, RP-015 for defaults and specific Recommended
Practices for other specified applications).
• c = 121, v = x: Value shall only be zero unless otherwise
allowed in a specific Recommended Practice.
– Local Control. When Local Control is Off, all instruments on a
given channel will respond only to data received over MIDI.
Played data, etc. will be ignored. Local Control On restores the
functions of the normal controllers.
• c = 122, v = 0: Local Control Off
• c = 122, v = 127: Local Control On
– All Notes Off. When an All Notes Off is received, all oscillators
will turn off.
• c = 123, v = 0: All Notes Off
• c = 124, v = 0: Omni Mode Off
• c = 125, v = 0: Omni Mode On
• c = 126, v = M: Mono Mode On (Poly Off) where M is the
number of channels (Omni Off) or 0 (Omni On)
• c = 127, v = 0: Poly Mode On (Mono Off)
(Note: c = 124 to 127 also cause All Notes Off)
System Common Messages
11110000 0iiiiiii System Exclusive.
[0iiiiiii This message type allows manufacturers to create their own
messages (such as bulk dumps, patch parameters, and other non-
0iiiiiii]
spec data) and provides a mechanism for creating additional MIDI
Specification messages. The Manufacturer's ID code (assigned by
0ddddddd
MMA or AMEI) is either 1 byte (0iiiiiii) or 3 bytes (0iiiiiii 0iiiiiii 0iiiiiii).
--- Two of the 1 Byte IDs are reserved for extensions called Universal
Exclusive Messages, which are not manufacturer-specific. If a
---
instrument recognizes the ID code as its own (or as a supported
Universal message) it will listen to the rest of the message
0ddddddd
(0ddddddd). Otherwise, the message will be ignored. (Real-Time
messages only may be interleaved with a System Exclusive.) (see
Annex C)
11110001 0nnndddd MIDI Time Code Quarter Frame.
nnn = Message Type
dddd = Values
11110010 0lllllll Song Position Pointer
...
IEC 63035 ®
Edition 1.0 2017-06
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
MIDI (musical instrument digital interface) specification 1.0
(Abridged Edition, 2015)
Spécification MIDI (musical instrument digital interface) 1.0
(Edition abrégée, 2015)
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form
or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from
either IEC or IEC's member National Committee in the country of the requester. If you have any questions about IEC
copyright or have an enquiry about obtaining additional rights to this publication, please contact the address below or
your local IEC member National Committee for further information.
Droits de reproduction réservés. Sauf indication contraire, aucune partie de cette publication ne peut être reproduite
ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie
et les microfilms, sans l'accord écrit de l'IEC ou du Comité national de l'IEC du pays du demandeur. Si vous avez des
questions sur le copyright de l'IEC ou si vous désirez obtenir des droits supplémentaires sur cette publication, utilisez
les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pays de résidence.
IEC Central Office Tel.: +41 22 919 02 11
3, rue de Varembé info@iec.ch
CH-1211 Geneva 20 www.iec.ch
Switzerland
About the IEC
The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes
International Standards for all electrical, electronic and related technologies.
About IEC publications
The technical content of IEC publications is kept under constant review by the IEC. Please make sure that you have the
latest edition, a corrigendum or an amendment might have been published.
IEC publications search - webstore.iec.ch/advsearchform Electropedia - www.electropedia.org
The advanced search enables to find IEC publications by a The world's leading online dictionary on electrotechnology,
variety of criteria (reference number, text, technical containing more than 22 000 terminological entries in English
committee,…). It also gives information on projects, replaced and French, with equivalent terms in 16 additional languages.
and withdrawn publications. Also known as the International Electrotechnical Vocabulary
(IEV) online.
IEC Just Published - webstore.iec.ch/justpublished
Stay up to date on all new IEC publications. Just Published IEC Glossary - std.iec.ch/glossary
details all new publications released. Available online and 67 000 electrotechnical terminology entries in English and
once a month by email. French extracted from the Terms and Definitions clause of
IEC publications issued since 2002. Some entries have been
IEC Customer Service Centre - webstore.iec.ch/csc collected from earlier publications of IEC TC 37, 77, 86 and
If you wish to give us your feedback on this publication or CISPR.
need further assistance, please contact the Customer Service
Centre: sales@iec.ch.
A propos de l'IEC
La Commission Electrotechnique Internationale (IEC) est la première organisation mondiale qui élabore et publie des
Normes internationales pour tout ce qui a trait à l'électricité, à l'électronique et aux technologies apparentées.
A propos des publications IEC
Le contenu technique des publications IEC est constamment revu. Veuillez vous assurer que vous possédez l’édition la
plus récente, un corrigendum ou amendement peut avoir été publié.
Recherche de publications IEC - Electropedia - www.electropedia.org
webstore.iec.ch/advsearchform Le premier dictionnaire d'électrotechnologie en ligne au
La recherche avancée permet de trouver des publications IEC monde, avec plus de 22 000 articles terminologiques en
en utilisant différents critères (numéro de référence, texte, anglais et en français, ainsi que les termes équivalents dans
comité d’études,…). Elle donne aussi des informations sur les 16 langues additionnelles. Egalement appelé Vocabulaire
projets et les publications remplacées ou retirées. Electrotechnique International (IEV) en ligne.
IEC Just Published - webstore.iec.ch/justpublished Glossaire IEC - std.iec.ch/glossary
Restez informé sur les nouvelles publications IEC. Just 67 000 entrées terminologiques électrotechniques, en anglais
Published détaille les nouvelles publications parues. et en français, extraites des articles Termes et Définitions des
Disponible en ligne et une fois par mois par email. publications IEC parues depuis 2002. Plus certaines entrées
antérieures extraites des publications des CE 37, 77, 86 et
Service Clients - webstore.iec.ch/csc CISPR de l'IEC.
Si vous désirez nous donner des commentaires sur cette
publication ou si vous avez des questions contactez-nous:
sales@iec.ch.
IEC 63035 ®
Edition 1.0 2017-06
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
MIDI (musical instrument digital interface) specification 1.0
(Abridged Edition, 2015)
Spécification MIDI (musical instrument digital interface) 1.0
(Edition abrégée, 2015)
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
COMMISSION
ELECTROTECHNIQUE
INTERNATIONALE
ICS 33.160.30; 35.040.01; 35.200 ISBN 978-2-8322-8690-6
– 2 – IEC 63035:2017 IEC 2017
CONTENTS
FOREWORD . 4
INTRODUCTION . 6
1 Scope . 7
2 Normative references . 7
3 Terms and definitions . 7
4 General . 8
4.1 Hardware . 8
4.2 Data format . 10
4.3 Message types . 11
4.3.1 General . 11
4.3.2 Channel messages . 11
4.3.3 System messages. 11
4.4 Data types . 12
4.4.1 General . 12
4.4.2 Status bytes . 12
4.4.3 Data bytes . 12
4.5 Channel modes . 13
4.6 Power-up default conditions . 14
5 MIDI implementation chart instructions . 14
5.1 Introduction . 14
5.2 General . 14
5.3 Function description . 14
5.3.1 Basic Channel . 14
5.3.2 Mode . 14
5.3.3 Note Number . 15
5.3.4 Velocity . 15
5.3.5 Aftertouch . 15
5.3.6 Pitch Bend . 15
5.3.7 Control Change . 15
5.3.8 Program Change . 15
5.3.9 System Exclusive . 15
5.3.10 System Common . 15
5.3.11 System Real Time . 16
5.3.12 Aux. messages . 16
5.3.13 Notes . 16
Annex A (normative) Summary of MIDI messages . 17
Annex B (normative) Control Change messages (Data bytes) . 20
B.1 Control Change messages and Channel Mode messages . 20
B.2 Registered Parameter numbers . 23
Annex C (normative) System Exclusive messages . 25
C.1 System Exclusive messages . 25
C.2 Universal System Exclusive messages . 25
Annex D (normative) MIDI Implementation Chart template . 30
Bibliography . 31
Figure 1 – MIDI standard hardware . 9
Figure 2 – Types of MIDI bytes . 10
Figure 3 – Types of MIDI messages . 10
Figure 4 – Structure of a single message . 11
Figure 5 – Structure of System Exclusive message . 11
Table 1 – Modes for receiver . 13
Table 2 – Modes for transmitter . 13
Table A.1 – MIDI Specification 1.0 message summary . 17
Table B.1 – Control Changes and Mode Changes (Status bytes 176 to 191) . 20
Table B.2 – Registered Parameter numbers . 24
Table C.1 – System Exclusive messages . 25
Table C.2 – Universal System Exclusive messages . 26
Table D.1 – MIDI Implementation Chart template . 30
– 4 – IEC 63035:2017 IEC 2017
INTERNATIONAL ELECTROTECHNICAL COMMISSION
____________
MIDI (MUSICAL INSTRUMENT DIGITAL INTERFACE) SPECIFICATION 1.0
(Abridged Edition, 2015)
FOREWORD
1) The International Electrotechnical Commission (IEC) is a worldwide organization for standardization comprising
all national electrotechnical committees (IEC National Committees). The object of IEC is to promote
international co-operation on all questions concerning standardization in the electrical and electronic fields. To
this end and in addition to other activities, IEC publishes International Standards, Technical Specifications,
Technical Reports, Publicly Available Specifications (PAS) and Guides (hereafter referred to as “IEC
Publication(s)”). Their preparation is entrusted to technical committees; any IEC National Committee interested
in the subject dealt with may participate in this preparatory work. International, governmental and non-
governmental organizations liaising with the IEC also participate in this preparation. IEC collaborates closely
with the International Organization for Standardization (ISO) in accordance with conditions determined by
agreement between the two organizations.
2) The formal decisions or agreements of IEC on technical matters express, as nearly as possible, an international
consensus of opinion on the relevant subjects since each technical committee has representation from all
interested IEC National Committees.
3) IEC Publications have the form of recommendations for international use and are accepted by IEC National
Committees in that sense. While all reasonable efforts are made to ensure that the technical content of IEC
Publications is accurate, IEC cannot be held responsible for the way in which they are used or for any
misinterpretation by any end user.
4) In order to promote international uniformity, IEC National Committees undertake to apply IEC Publications
transparently to the maximum extent possible in their national and regional publications. Any divergence
between any IEC Publication and the corresponding national or regional publication shall be clearly indicated in
the latter.
5) IEC itself does not provide any attestation of conformity. Independent certification bodies provide conformity
assessment services and, in some areas, access to IEC marks of conformity. IEC is not responsible for any
services carried out by independent certification bodies.
6) All users should ensure that they have the latest edition of this publication.
7) No liability shall attach to IEC or its directors, employees, servants or agents including individual experts and
members of its technical committees and IEC National Committees for any personal injury, property damage or
other damage of any nature whatsoever, whether direct or indirect, or for costs (including legal fees) and
expenses arising out of the publication, use of, or reliance upon, this IEC Publication or any other IEC
Publications.
8) Attention is drawn to the Normative references cited in this publication. Use of the referenced publications is
indispensable for the correct application of this publication.
9) Attention is drawn to the possibility that some of the elements of this IEC Publication may be the subject of
patent rights. IEC shall not be held responsible for identifying any or all such patent rights.
International Standard IEC 63035 has been prepared by IEC technical committee 100: Audio,
video and multimedia systems and equipment.
The text of this standard is based on the following documents:
CDV Report on voting
100/2597/CDV 100/2858/RVC
Full information on the voting for the approval of this International Standard can be found in
the report on voting indicated in the above table.
This document has been drafted in accordance with the ISO/IEC Directives, Part 2.
The committee has decided that the contents of this document will remain unchanged until the
stability date indicated on the IEC website under "http://webstore.iec.ch" in the data related to
the specific document. At this date, the document will be
• reconfirmed,
• withdrawn,
• replaced by a revised edition, or
• amended.
– 6 – IEC 63035:2017 IEC 2017
INTRODUCTION
IEC 63035 contains the same first 8 pages as in the MIDI 1.0 Detailed Specification (the
original core specification text) published by the MIDI Manufacturers Association (MMA).
These are included within this standard as Clauses 1 to 4. This specification was submitted to
the IEC under the auspices of a special agreement between the IEC and the MMA.
The MMA is a non-profit corporation that serves as a support organization and forum for the
advancement and adoption of MIDI technology (along with the Association of Musical
Electronics Industry, or AMEI, in Japan).
The MIDI 1.0 technology dates back to 1983 when the protocol and electrical specification
comprised 8 pages and the majority of the message identifiers were not yet defined. Over the
subsequent years, the MMA and AMEI determined consensus of the worldwide MIDI industry,
and defined numerous additional messages (via Confirmation of Approval documents), as well
as many Recommended Practices for the use of MIDI technology, all the while maintaining
MIDI as "1.0" (meaning that no significant changes were made to the initial specification).
The MMA documentation for MIDI 1.0 now encompasses more than 50 different documents in
print or on the World Wide Web. This standard contains the same first 8 pages as in the
MMA’s MIDI 1.0 Detailed Specification but does not contain all of the subsequent information
developed by MMA/AMEI. Rather, this document contains a complete listing (with basic
description) of all defined MIDI messages to date, with references to the appropriate MMA
documentation. Companies that want to implement MIDI technology are advised to also
consult the MMA documentation that is listed in the Biography.
Although the MIDI 1.0 Detailed Specification includes an electrical connection specification
("MIDI-DIN"), other transports (USB, Firewire, etc.) have also been approved by MMA/AMEI
for use with MIDI Protocol. For details and documentation of approved physical transports,
please contact the MIDI Manufacturers Association.
The term "MIDI" is known all around the world as referring to the technology which is defined
in the MMA/AMEI documents, and so should not be used for any other purpose. Companies
that implement MIDI technology in their products in compliance with MMA specifications may
use the term MIDI to describe their products, but may not use the term to describe any
extensions or enhancements that are not defined by MMA/AMEI. Only MMA/AMEI can define
the messages, transport payloads, and Recommend Practices which are promoted as "MIDI"
so as to prevent any dilution and confusion of the meaning of "MIDI". Implementers of MIDI
technology should consult MMA and/or AMEI (depending on the relevant market) for specific
trademark usage policies.
MIDI (MUSICAL INSTRUMENT DIGITAL INTERFACE) SPECIFICATION 1.0
(Abridged Edition, 2015)
1 Scope
This International Standard specifies a hardware and software specification which makes it
possible to exchange symbolic music and control information between different musical
instruments or other devices such as sequencers, computers, lighting controllers, mixers, etc.
using MIDI technology (musical instrument digital interface).
2 Normative references
The following documents are referred to in the text in such a way that some or all of their
content constitutes requirements of this document. For dated references, only the edition
cited applies. For undated references, the latest edition of the referenced document (including
any amendments) applies.
IEC 60130-9, Connectors for frequencies below 3 MHz – Part 9: Circular connectors for radio
and associated sound equipment
3 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
ISO and IEC maintain terminological databases for use in standardization at the following
addresses:
• IEC Electropedia: available at http://www.electropedia.org/
• ISO Online browsing platform: available at http://www.iso.org/obp
3.1
velocity
parameter which typically changes the intensity and resultant volume of the note that is being
played and varies according to the force applied
Note 1 to entry: Velocity is used as Key Velocity as in a piano key.
3.2
aftertouch
parameter that measures the level of intensity applied to a note after it has been played and
continues to be depressed
Note 1 to entry: Typically, Aftertouch is useful for adding vibrato or tremolo effects to a sound in much the same
way that a violin can add volume or pitch changes to a sustained note using finger vibrato or additional bowing
intensity.
3.3
modulation wheel
wheel controller found on synthesizers that players can use to progressively introduce
modulation depth to a sound
– 8 – IEC 63035:2017 IEC 2017
3.4
pitch wheel
wheel type device, normally found to the left of a synthesizer keyboard, used to manipulate
the pitch of a played note or notes
3.5
pitch bend
activity or message, generally initiated by a pitch wheel, that smoothly raises and/or lowers
the pitch of note or chord
3.6
oscillator
circuitry or software program that generates the kernel of a synthesizer sound
Note 1 to entry: In the early days, oscillators generated fairly basic sound types (sawtooth, square, pulse etc). In
modern synthesizer engines, oscillators can be driven by myriad waveforms and samples.
3.7
pan
parameter that specifies the location of a sound within the stereo field
4 General
4.1 Hardware
The hardware MIDI interface operates at 31,25 × (1 ± 1 %) kBd asynchronous, with a start bit,
8 data bits (D0 to D7), and a stop bit. This makes a total of 10 bits for a period of 320 µs per
serial byte. The start bit is a logical 0 (current on) and the stop bit is a logical 1 (current off).
Bytes are sent LSB first.
Circuit: (See Figure 1). 5 mA current loop type. Logical 0 is current ON. One output shall drive
one and only one input. To avoid ground loops, and subsequent data errors, the transmitter
circuitry and receiver circuitry are internally separated by an opto-isolator (a light emitting
diode and a photo sensor which share a single, sealed package). The receiver shall require
less than 5 mA to turn on. Rise and fall times should be less than 2 µs.
Connectors: DIN 5 pin (180°) female panel mount receptacle which is specified in
IEC 60130-9 as type designation IEC-04. The connectors shall be labelled "MIDI IN" and
"MIDI OUT". Note that pins 1 and 3 are not used, and should be left unconnected in the
receiver and transmitter. Pin 2 of the MIDI In connector should also be left unconnected.
The grounding shield connector on the MIDI jacks should not be connected to any circuit or
chassis ground.
When MIDI Thru information is obtained from a MIDI In signal, transmission may occasionally
be performed incorrectly due to signal degradation (caused by the response time of the opto-
isolator) between the rising and falling edges of the square wave. These timing errors will
tend to add up in the "wrong direction" as more devices are chained between MIDI Thru and
MIDI In jacks. The result is that, regardless of circuit quality, there is a limit to the number of
devices which can be chained (series-connected) in this fashion.
L
Rd
Opto-isolator
2 4
TO
UART
Vo
Rb
DI
GND
IN 914
NC
1 Optional
NC NC
Re
L
MIDI IN
Rf
A
NC NC
MIDI THRU
Ra
L
Rc
From
A
UART
NC NC
MIDI OUT
IEC
Key
Components Supplies
Ra, Rb, Rc, Re, Rf resistor R = 220 Ω L +5 V
Rd
resistor R = 280 Ω
NOTE 1 Opto-isolator shown is Sharp PC-900. (HP 6N138 or other opto-isolator can be used with appropriate
changes.)
NOTE 2 Gates "A" are IC or transistor.
NOTE 3 Resistors are 5 %.
Figure 1 – MIDI standard hardware
Cables shall have a maximum length of 15 m, and shall be terminated on each end by a
corresponding 5-pin DIN male plug which is specified in IEC 60130-9 as type designation
IEC-03. The cable shall be shielded twisted pair, with the shield connected to pin 2 at both
ends.
A MIDI Thru output may be provided if needed, which provides a direct copy of data coming in
MIDI In. For long chain lengths (more than three instruments), higher-speed opto-isolators
should help to avoid additive rise/fall time errors which affect pulse width duty cycle.
– 10 – IEC 63035:2017 IEC 2017
4.2 Data format
MIDI communication is achieved through multi-byte "messages" consisting of one Status byte
followed by one or two Data bytes. Real-Time and Exclusive messages are an exception.
A MIDI-equipped instrument typically contains a receiver and a transmitter. Some instruments
may contain only a receiver or only a transmitter. A receiver accepts messages in MIDI format
and executes MIDI commands. It consists of an opto-isolator, Universal Asynchronous
Receiver/Transmitter (UART), and any other hardware needed to perform the intended
functions. A transmitter originates messages in MIDI format, and transmits them by way of a
UART and line driver.
MIDI makes it possible for a user of MIDI-compatible equipment to expand the number of
instruments in a music system and to change system configurations to meet changing
requirements.
MIDI messages are sent over any of 16 channels which are used for a variety of performance
information. There are five major types of MIDI messages: Channel Voice, Channel Mode,
System Common, System Real-Time and System Exclusive.
A MIDI event is transmitted as a "message" and consists of one or more bytes. Figure 2 to
Figure 5 show the structure and classification of MIDI data.
Byte
Status Byte Data Byte
(80H – FFH) (00H – 7FH)
IEC
Figure 2 – Types of MIDI bytes
Message
type
Channel System
Message Message
System System
System
Channel Channel
Common Real Time
Exclusive
Voice Mode
Message Message
Message
Message Message
IEC
Figure 3 – Types of MIDI messages
Status Byte
Status Byte Data Byte
Status Byte Data Byte Data Byte
IEC
Figure 4 – Structure of a single message
Status Byte Data Byte EOX Byte
IEC
Figure 5 – Structure of System Exclusive message
4.3 Message types
4.3.1 General
Messages are divided into two main categories: Channel and System.
4.3.2 Channel messages
A Channel message uses four bits in the Status byte to address the message to one of
sixteen MIDI channels and four bits to define the message (see Annex A). Channel messages
are thereby intended for the receivers in a system whose channel number matches the
channel number encoded into the Status byte.
An instrument can receive MIDI messages on more than one channel. The channel in which it
receives its main instructions, such as which program number to be on and what mode to be
in, is referred to as its "Basic Channel". An instrument may be set up to receive performance
data on multiple channels (including the Basic Channel). These are referred to as "Voice
Channels". These multiple-channel situations will be discussed in more detail later (see 4.5).
There are two types of Channel messages: Voice and Mode.
• VOICE: To control an instrument's voices, Voice messages are sent over the Voice
Channels.
• MODE: To define the instrument's response to Voice messages, Mode messages are sent
over an instrument's Basic Channel.
4.3.3 System messages
System messages are not encoded with channel numbers. There are three types of System
messages: Common, Real-Time, and Exclusive.
• COMMON: Common messages are intended for all receivers in a system regardless of
channel.
• REAL-TIME: Real-Time messages are used for synchronization and are intended for all
clock-based instruments in a system. They contain Status bytes only – no Data bytes.
Real-Time messages may be sent at any time – even between bytes of a message which
has a different status. In such cases the Real-Time message is either acted upon or
ignored, after which the receiving process resumes under the previous status.
– 12 – IEC 63035:2017 IEC 2017
• EXCLUSIVE: Exclusive messages can contain any number of Data bytes, and can be
terminated either by an End of Exclusive (EOX) or any other Status byte (except Real
Time messages). An EOX should always be sent at the end of a System Exclusive
message. These messages include a Manufacturer's Identification (ID) code. If a receiver
does not recognize the ID code, it should ignore the following data.
So that other users and third party developers can fully access their instruments,
manufacturers shall publish the format of the System Exclusive data following their ID
code. Only the manufacturer can define or update the format following their ID.
4.4 Data types
4.4.1 General
There are two types of bytes sent over MIDI: Status Bytes and Data bytes.
4.4.2 Status bytes
4.4.2.1 General
Status bytes are eight-bit binary numbers in which the Most Significant Bit (MSB) is set
(binary 1). Status bytes serve to identify the message type, that is, the purpose of the Data
bytes which follow it. Except for Real-Time messages, new Status bytes will always command
a receiver to adopt a new status, even if the last message was not completed.
4.4.2.2 Running status
For Voice and Mode messages only. When a Status byte is received and processed, the
receiver will remain in that status until a different Status byte is received. Therefore, if the
same Status byte would be repeated, it can optionally be omitted so that only the Data bytes
need to be sent. Thus, with Running Status, a complete message can consist of only Data
bytes.
Running Status is especially helpful when sending long strings of Note On/Off messages,
where "Note On with Velocity of 0" is used for Note Off.
Running Status will be stopped when any other Status byte intervenes. Real-Time messages
should not affect Running Status.
4.4.2.3 Unimplemented status
Any status bytes, and subsequent data bytes, received for functions not implemented in a
receiver should be ignored.
4.4.2.4 Undefined status
All MIDI instruments should be careful to never send any undefined status bytes. If an
instrument receives any such code, it should be ignored without causing any problems to the
system. Care should also be taken during power-up and power-down that no messages be
sent out the MIDI Out port. Such noise, if it appears on a MIDI line, could cause a data or
framing error if the number of bits in the byte is incorrect.
4.4.3 Data bytes
Following a Status byte (except for Real-Time messages) there are either one or two Data
bytes which carry the content of the message. Data bytes are eight-bit binary numbers in
which the Most Significant Bit (MSB) is always set to binary 0. The number and range of Data
bytes which shall follow each Status byte are specified in Annex A and Annex B. For each
Status byte the correct number of Data bytes shall always be sent. Inside a receiver, action
on the message should wait until all Data bytes required under the current status are received.
Receivers should ignore Data bytes which have not been properly preceded by a valid Status
byte (with the exception of "Running Status," explained above).
4.5 Channel modes
Synthesizers and other instruments contain sound generation elements called voices. Voice
assignment is the algorithmic process of routing Note On/Off data from incoming MIDI
messages to the voices so that notes are correctly sounded.
NOTE When we refer to an "instrument", please note that it is possible for one physical instrument to act as
several virtual instruments (i.e. a synthesizer set to a 'split' mode operates like two individual instruments). Here,
"instrument" refers to a virtual instrument and not necessarily one physical instrument.
Four Mode messages are available for defining the relationship between the sixteen MIDI
channels and the instrument's voice assignment. The four modes are determined by the
properties Omni (On/Off), Poly, and Mono. Poly and Mono are mutually exclusive, i.e., Poly
disables Mono, and vice versa. Omni, when on, enables the receiver to receive Voice
messages on all voice Channels. When Omni is off, the receiver will accept Voice messages
from only selected Voice Channel(s). Mono, when on, restricts the assignment of Voices to
just one voice per Voice Channel (Monophonic.) When Mono is off (Poly On), a number of
voices may be allocated by the Receiver's normal voice assignment (Polyphonic) algorithm.
For a receiver assigned to Basic Channel "N," (1 to 16) the four possible modes arising from
the two Mode messages are shown in Table 1.
Table 1 – Modes for receiver
Mode Omni Poly/Mono Description
1 On Poly Voice messages are received from all Voice channels and assigned to
voices polyphonically.
2 On Mono Voice messages are received from all Voice Channels, and control only
one voice, monophonically.
3 Off Poly Voice messages are received in Voice channel N only, and are assigned
to voices polyphonically.
4 Off Mono
Voice messages are received in Voice channels N through N+M-1, and
assigned monophonically to voices 1 through M, respectively. The
number of voices "M" is specified by the third byte of the Mono Mode
Message.
Four modes are applied to transmitters (also assigned to Basic Channel N) (see Table 2).
Transmitters with no channel selection capability should transmit on Basic Channel 1 (N=1).
Table 2 – Modes for transmitter
Mode Omni Poly/Mono Description
1 On Poly All voice messages are transmitted in Channel N.
2 On Mono Voice messages for one voice are sent in Channel N.
3 Off Poly Voice messages for all voices are sent in Channel N.
4 Off Mono Voice messages for voices 1 through M are transmitted in Voice Channels
N through N+M-1, respectively. (Single voice per channel).
A MIDI receiver or transmitter operates under only one Channel Mode at a time. If a mode is
not implemented on the receiver, it should ignore the message (and any subsequent data
bytes), or switch to an alternate mode, usually Mode 1 (Omni On/Poly).
Mode messages will be recognized by a receiver only when received in the instrument's Basic
Channel – regardless of which mode the receiver is currently assigned to. Voice messages
may be received in the Basic Channel and in other Voice Channels, according to the above
specifications.
– 14 – IEC 63035:2017 IEC 2017
Since a single instrument may function as multiple "virtual" instruments, it can thus have more
than one basic channel. Such an instrument behaves as though it is more than one receiver,
and each receiver can be set to a different Basic Channel. Each of these receivers may also
be set to a different mode, either by front panel controls or by Mode messages received over
MIDI on each basic channel. Although not a true MIDI mode, instruments operating in this
fashion are described as functioning in "Multi Mode."
An instrument's transmitter and receiver may be set to different modes. For example, an
instrument may receive in Mono mode and transmit in Poly mode. It is also possible to
transmit and receive on different channels. For example, an instrument may receive on
Channel 1 and transmit on Channel 3.
4.6 Power-up default conditions
It is recommended that at power-up, the basic channel should be set to 1, and the mode set to
Omni On/Poly (Mode 1). This, and any other default conditions for the particular instrument,
should be maintained indefinitely (even when powered down) until instrument panel controls
are operated or MIDI data is received. However, the decision to implement the above is left
totally up to the designer.
5 MIDI implementation chart instructions
5.1 Introduction
The standard MIDI implementation chart is used as a quick reference of transmitter and
receiver functions so that users can easily recognize what messages and functions are
implemented in the instrument. This chart should be included in the users manual of all MIDI
products. For example, if a user intends to connect two MIDI instruments, they might compare
the "Transmitted" part of one instrument's chart, with the "Recognized" part of the other
instrument's chart by overlapping them. For this reason, each chart should be the same size
and have the same number of lines.
A chart template is provided in Table D.1.
5.2 General
a) The "[ ]" brackets at the top of the chart are used for the instrument's name such as,
[LINEAR WAVETABLE SYNTHESIZER].
b) The item "Model" should be used for the model number, such as "LW-1".
c) The body of the implementation chart is divided into four columns. The first column is the
specific function or item, the next two columns give information on whether the specified
function is transmitted and/or received, and the fourth column is used for remarks. This
last column is useful to explain anything unique to this implementation.
5.3 Function description
5.3.1 Basic Channel
• Default: Channel which is assigned when power is first applied to instrument.
• Changed: Channels which can be assigned from the instrument's front panel.
5.3.2 Mode
• Default: This is the channel mode used by a Transmitter and Receiver when power is first
applied. This should be written as Mode x (where x is 1 through 4), as shown on the
bottom of sheet.
• Messages: These are the mode messages which can be transmitted or received, such as
OMNI ON/OFF, MONO ON, and POLY ON. MONO ON and POLY ON may be written in
the short form "MONO", "POLY".
• Altered: This shows the channel modes which are not implemented by a receiver and the
modes which are substituted. For example, if the receiver cannot accept "MONO ON"
mode, but will switch to "OMNI ON" mode in order to receive the MIDI data, the following
expression should be used: "MONO ON > OMNI ON" or "MONO > OMNI".
5.3.3 Note Number
• Note Number: The total range of transmitted or recognized notes.
• True Voice: Range of received note numbers falling within the range of true notes
produced by the instrument.
5.3.4 Velocity
Note On/Note Off: Velocity is marked with an "o" for implemented or an "x" for not
implemented. In the space following the "o" or "x", it may be mentioned how the Note On or
Off data is being transmitted.
5.3.5 Aftertouch
"o" for implemented or "x" for not implemented.
5.3.6 Pitch Bend
"o" for implemented or "x" for not implemented.
5.3.7 Control Change
Space is given in this area for listing of any implemented control numbers. An "o" or "x"
should be placed in the appropriate Transmitted or Recognized column, and the function of
the specified control number should be listed in the Remarks column.
5.3.8 Program Change
"o" for implemented or an "x" for not implemented. If implemented, the range of numbers
should be included.
True # (Number): The range of the program change numbers which correspond to the actual
number of patches selected.
5.3.9 System Exclusive
"o" for implemented or "x" for not implemented. A full description of the instrument's System
Exclusive implementation should be included on separate pages.
5.3.10 System Common
"o" for implemented or "x" for not implemented. The following abbreviations are used:
• Song Pos = Song Position
• Song Sel = Song Select
• Tune = Tune Request
– 16 – IEC 63035:2017 IEC 2017
5.3.11 System Real Time
"o" for implemented or "x" for not implemented. The following abbreviations are used:
• Clock = Timing Clock
• Commands = Start, Continue and Stop
5.3.12 Aux. messages
"o" for implemented or an "x" for not implemented. The following abbreviations are used:
• Aux = Auxiliary
• Active Sense = Active Sensing
5.3.13 Notes
The "Notes" column can be any comments such as:
Power Up messages transmitted, implementation of program changes to additional memory
banks, etc.
Annex A
(normative)
Summary of MIDI messages
The following table lists many of the major MIDI messages in numerical (binary) order.
Table A.1 is intended as an overview of MIDI. Additional messages and their detailed
explanations are listed in The Complete MIDI 1.0 Detailed Specification and in the
Confirmation of Approvals (see Bibliography).
Some Status Numbers are reserved for future extension. Those numbers should not be used
in any product that is promoted as being "MIDI compatible" until defined by MMA/AMEI.
Table A.1 – MIDI Specification 1.0 message summary
Status Data Byte(s) Description
D7----D0 D7----D0
Channel Voice Messages [nnnn = 0 to 15 (MIDI Channel Number 1 to 16)]
1000nnnn 0kkkkkkk Note Off event.
0vvvvvvv This message is sent when a note is released (ended). (kkkkkkk) is
the key (note) number. (vvvvvvv) is the velocity.
1001nnnn 0kkkkkkk Note On event.
0vvvvvvv This message is sent when a note is depressed (start). (kkkkkkk) is
the key (note) number. (vvvvvvv) is the velocity.
Vvvvvvv = 0: Note Off (with velocity of 64)
1010nnnn 0kkkkkkk Polyphonic Key Pressure (Aftertouch).
0vvvvvvv This message is most often sent by pressing down on the key after it
"bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the
pressure value.
1011nnnn 0ccccccc Control Change.
0vvvvvvv This message is sent when a controller value changes. Controllers
include devices such as pedals and levers. Controller numbers 120
to 127 are reserved as "Channel Mode Messages" (below). (ccccccc)
is the controller number (0 to 119). (vvvvvvv) is the controller value
(0 to 127). (see Annex B)
1100nnnn 0ppppppp Program Change.
This message is sent when the patch number changes. (ppppppp) is
the new program number.
1101nnnn 0vvvvvvv Channel Pressure (Aftertouch).
This message is most often sent by pressing down on the key after it
"bottoms out". This message is different from Polyphonic Key
Pressure (Aftertouch). Use this message to send the single greatest
pressure value (of all the current depressed keys). (vvvvvvv) is the
pressure value.
1110nnnn 0lllllll Pitch Wheel Change.
0mmmmmmm This message is sent to indicate a change in the pitch wheel. The
pitch wheel is measured by a fourteen bit value. Center (no pitch
change) is 2000 H. Sensitivity is a function of the transmitter. (lllllll)
are the least significant 7 bits. (mmmmmmm) are the most significant
7 bits.
Channel Mode Messages
1011nnnn 0ccccccc Channel Mode Messages.
0vvvvvvv This is the same Status Byte value as the Control Change, but
--------------------
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...