throbber
MIDI 1.0 Detailed Specification
`Document Version 4.2
`Revised September 1995
`
`Published by:
`The MIDI Manufacturers Association
`Los Angeles. CA
`
`Verizon Wireless
`Exhibit 1045-0001
`
`

`

`This document is a combination of the
`1\UDI 1.0 Detailed Specification v 4.1.1 and the
`MIDI 1.0 Addendum v 4.2
`The MIDI Time Code Specification is not included.
`
`Copyright © 1994. 1995 MIDI Manufacturers Association
`Portions Copyright© 1985. 1989, MIDI Manufacturers Association. Japan MIDI Standards Committee
`All rights reser 1ed. No part of this document
`may be reproduced or copied without
`\Vritten permission of the publisher.
`
`Printed 1995
`
`MlVIA
`POB 3173
`La Habra CA 90632-3173
`
`Verizon Wireless
`Exhibit 1045-0002
`
`

`

`MIDI 1.0 Detailed Specification
`
`Document Version 4.2
`
`TABLE OF CONTENTS
`
`OVERVIEW
`
`INTRODUCTION
`HARDWARE
`DATA FORMAT
`MESSAGE TYPES
`CHANNEL MESSAGES
`SYSTEM MESSAGES
`DATA TYPES
`STATUS BYTES
`RUNNING STATUS
`UNIMPLEMENTED STATUS
`UNDEFINED STATUS
`DATA BYTES
`CHANNEL MODES
`POWER-UP DEFAULT CONDITIONS
`
`DETAILS
`
`CHANNEL VOICE MESSAGES
`TYPES OF VOICE MESSAGES
`NOTE NUMBER
`VELOCITY
`NOTE OFF
`CONTROL CHANGE
`CONTROLLER NUMBERS
`GLOBAL CONTOLLERS
`GENERAL PURPOSE CONTROLLERS
`CONTROLLER EFFECT
`BANK SELECT
`LEGATO FOOTSWITCH
`EFFECTS CONTROLLER DEFINITION
`SOUND CONTROLLERS
`PORT AMENTO CONTROLLER
`REGISTERED AND NON-REGISTERED PARAMETER NUMBERS
`PROGRAM CHANGE
`PITCH BEND CHANGE
`AFTERTOUCH
`
`1
`
`3
`
`4
`4
`4
`
`5
`5
`5
`6
`6
`6
`
`6
`
`8
`
`9
`. 9
`10
`10
`10
`11
`11
`12
`12
`13
`13
`14
`14
`14
`16
`17
`18
`19
`19
`
`Verizon Wireless
`Exhibit 1045-0003
`
`

`

`CHANNEL MODE MESSAGES
`MODE MESSAGES AS ALL NOTES OFF MESSAGES
`THE BASIC CHANNEL OF AN INSTRUMENT
`RECEIVERS MODE (OMNI ON/OFF & POLY/MONO)
`MONO MODE
`OMNI-OFF/MONO
`OMNI-ON/MONO
`MODES NOT IMPLEMENTED IN A RECEIVER
`ALL NOTES OFF
`ALL SOUNDS OFF
`RESET ALL CONTROLLERS
`LOCAL CONTROL
`
`SYSTEM COMMON MESSAGES
`MTC QUARTER FRAME *
`SONG POSITION POINTER
`SONG SELECT
`RECEPTION OF SONG POSITION AND SONG SELECT
`TUNE REQUEST
`EOX
`
`SYSTEM REAL TIME MESSAGES
`START OR CONTINUE MESSAGE
`STOP MESSAGE
`RELATIONSHIP BETWEEN CLOCKS AND COMMANDS
`PRIORITY OF COMMANDS
`ACTIVE SENSING
`SYSTEM RESET
`
`SYSTEM EXCLUSIVE MESSAGES
`DISTRIBUTION OF ID NUMBERS
`UNIVERSAL EXCLUSIVE ID
`DEVICE ID
`SAMPLE DUMP
`GENERIC HANDSHAKING MESSAGES
`DEVICE INQUIRY
`FILE DUMP
`MIDI TUNING
`GENERAL MIDI SYSTEM MESSAGES*
`MTC FULL MESSAGE, USER BITS, REAL TIME CUEING*
`MIDI SHOW CONTROL*
`NOTATION INFORMATION
`DEVICE CONTROL (MASTER VOLUME AND BALANCE)
`MIDI MACHINE CONTROL*
`
`*Specification document available separately (see Table VIII).
`
`20
`20
`20
`20
`21
`22
`22
`23
`24
`25
`25
`26
`
`27
`27
`27
`29
`29
`29
`29
`
`30
`30
`31
`32
`32
`32
`33
`
`34
`34
`35
`35
`35
`36
`40
`41
`47
`52
`53
`53
`54
`57
`58
`
`Verizon Wireless
`Exhibit 1045-0004
`
`

`

`APPENDIX
`
`ADDITIONAL EXPLANATIONS AND APPLICATION NOTES
`RUNNING STATUS
`ASSIGNMENT OF NOTE ON/OFF COMMANDS
`VOICE ASSIGNMENT IN POLY MODE
`"ALL NOTES OFF" WHEN SWITCHING MODES
`MIDI MERGING AND ALL NOTES OFF
`HOLD PEDAL AND ALL NOTES OFF
`FURTHER DESCRIPTION OF HOLD PEDAL
`PRIORITY OF MIDI RECEIVING
`RELEASE OF OMNI
`BASIC CHANNEL OF A SEQUENCER
`TRANSPOSING
`MIDI IMPLEMENTATION INSTRUCTIONS
`MIDI IMPLEMENTATION CHART (BLANK)
`
`TABLES
`
`TABLE I
`TABLE II
`TABLE Ill
`TABLE lila
`TABLE IV
`TABLE V
`TABLE VI
`TABLE VII
`TABLE VIla
`TABLE Vllb
`TABLE VIII
`
`SUMMARY OF STATUS BYTES
`
`CHANNEL VOICE MESSAGES
`
`CONTROLLER NUMBERS
`
`REGISTERED PARAMETER NUMBERS
`
`CHANNEL MODE MESSAGES
`
`SYSTEM COMMON MESSAGES
`
`SYSTEM REAL TIME MESSAGES
`
`SYSTEM EXCLUSIVE MESSAGES
`
`UNIVERSAL SYSTEM EXCLUSIVE ID NUMBERS
`
`MANUFACTURER'S ID NUMBERS
`
`ADDITIONAL OFFICIAL SPECIFICATION DOCUMENTS
`
`A-1
`A-4
`A-4
`A-4
`A-4
`A-4
`A-5
`A-5
`A-5
`A-5
`A-6
`A-6
`A-7
`
`T-1
`
`T-2
`
`T-3
`
`T-4
`
`T-5
`
`T-6
`
`T-7
`
`T-8
`
`T-9
`
`T-11
`
`T-13
`
`Verizon Wireless
`Exhibit 1045-0005
`
`

`

`- ·;;_·
`
`Verizon Wireless
`Verizon Wireless
`Exhibit 1045-0006
`Exhibit 1045-0006
`
`

`

`INTRODUCTION
`
`MIDI. the Musical Instr~11nent Digital Interface. \vas established as a hardware and software
`specification which would make it possible to exchange information (musical notes, program changes.
`expression control. etc.) between different musical instruments or other devices such as sequencers.
`computers, lighting controllers. mixers. etc. This ability to transmit and receive data was originally
`conceived for live performances. although subsequent developments have had enormous impact in
`recording studios. audio and video production. and composition environments.
`
`This document has been prepared as a joint effort between the l\HDI Manufacturers Association (l'v1l\1A)
`and the Japan MIDI Standards Committee (JMSC) to explain the MIDI 1.0 specification. This
`document is subject to change by agreement between the JMSC and MMA. Additional MIDI protocol
`may be included in supplements to this publication.
`
`HARDWARE
`
`The hardware MIDI interface operates at :31.25 (+/- 1 %) Kbaud, asynchronous. with a start bit. 8 data
`bits (DO to D7). and a stop bit. This makes a total of 10 bits for a period of 320 microseconds 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 Schematic -Page 2). 5 rnA 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). Sharp PC-900 and HP 6N138 opto-isolators have
`been found acceptable. Other high-speed opto-isolators may be satisfactory. The receiver must require
`less than 5 rnA to turn on. Rise and fall times should be less than 2 microseconds.
`
`Connectors: DIN .5 pin (180 degree) female panel mount receptacle. An example is the SWITCHCRAFT
`57 GB5F. The connectors shall be labeled "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.
`
`\Vhen 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
`'\vrong 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(cid:173)
`connected) in this fashion.
`
`MIDI 1.0 Detailed Specification 4.2
`
`1
`
`Verizon Wireless
`Exhibit 1 045-0007
`
`

`

`+5v Rd
`280 ohms
`
`OPTO-ISOL A TOR
`
`r---------~~--~-----.--~2~ ... ~,5~v~6~±_--~--4UTAORT
`~~
`
`Dl
`IN914
`
`NC
`
`MIDI IN
`
`OPTIONAL
`
`220 Ohm,/\,
`
`+5\1
`
`220 Ohm l_
`
`.:
`
`NC!
`
`.
`
`MIDI THRU
`
`.
`
`................................................................................................ u ............. u ........ ..
`
`Ra
`220 ohm ,..--· .. ,
`
`+5\1
`
`FROM )-----l
`UART
`
`NC
`
`MIDI OUT
`
`MIDI Standard Hardware
`
`NOTES:
`
`1. Opto-isolator currently shown is Sharp PC -900
`(HP 6N138 or other opto-isolator can be used with appropriate changes.)
`
`2. Gates "A" are IC or transistor.
`
`3. Resistors are 5%
`
`Cables shall have a maximum length of fifty feet (15 meters), and shall be terminated on each end by a
`corresponding 5-pin DIN male plug, such as the SWITCHCRAFT 05GM5M. 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:
`
`2
`
`Overview
`
`Verizon Wireless
`Exhibit 1045-0008
`
`

`

`DATA FORMAT
`
`MIDI communication is achieved through multi-byte "messages" consisting of one Status byte followed
`by one or two Data bytE"'· Real-Time and Exclusive messages are exception.
`
`A MIDI-equipped instrument t)·pically contains a receiver and a transmitter. Some instruments may
`contain onl~· a receiver or onl~· 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 I\JIDI-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 t)·pes of MIDI messages: Channel Voice. Channel Mode. System
`Common. S~·stem Real-Time and S:..-stem Exclusive.
`
`A MIDI event is transmitted as a "message" and consists of one or more bytes. The diagrams below
`show the structure and classification of MIDI data.
`
`TYPES OF MIDI BYTES:
`
`Byte
`
`Status Byte
`(80H- FFH)
`
`Data Byte
`(OOH- 7FH)
`
`TYPES OF MIDI MESSAGES:
`
`Message Type
`
`I
`
`Channel
`Message
`
`Channel Voice
`Message
`
`Channel Mode
`Message
`
`I
`
`"YSiem
`Exclusive
`Messaae
`
`I
`
`System
`Message
`
`I
`I
`"YSiem
`Common
`MessaQe
`
`"YSiem
`Real. Time
`MessaQe
`
`MIDI 1.0 Detailed Specification 4.2
`
`3
`
`Verizon Wireless
`Exhibit 1045-0009
`
`

`

`STRUCTURE OF A SINGLE MESSAGE:
`
`[ Statu~ J
`[ Status ]-[ Data B~e I
`[ Status }-[ Data B~e I I Data Byte
`
`STRUCTURE OF SYSTEM EXCL(:SIVEMESSAGES:
`
`__ s_ta_tus _ _.)-1 DataB~es 1-.... I __ Eo_x_~
`
`MESSAGE TYPES
`
`1\lessages are divided into two mam cate~orif'~ Channel and System.
`
`CHANNEL MESSAGES
`
`A Channel message uses four lnt, m thr Status b~·te to address the message to one of si..xteen MIDI
`channels and four bits to drfm(· t h(· mr~sagP (see Table II). Channel messages are thereb~· intended for
`the receivers in a system who"P C'hannrl number matches the channel number encoded into the Status
`b~·te.
`
`An instrument can receive 1\11 I> I mr>",.;ages on more than one channel. The channel in which it receives
`it£.: main instructions. such a" whwh program number to be on and what mode to be in. is referred to as
`its "Basic Channel". An instrumPnt may be set up to receive performance data on multiple channels
`(including the Basic Channr]) ThP"r are referred to as "Voice Channels". These multiple-channel
`situations will be discussed in morP detail later.
`
`There are two types of Channrl mr>,..;.;ages: \'oice and .~1ode.
`
`\'OJCE: To control an in,..trument's voices. Voice messages are sent over the Voice Channels.
`
`MODE: To defme the mstrument's response to Voice messages. Mode messages are sent over
`an instrument's Basic Channel.
`
`SYSTEM MESSAGES
`
`System messages are not encodNI "·ith channel numbers. There are three types of System messages:
`Common. Real- Time. and Exclusi r e
`
`4
`
`Overview
`
`Verizon Wireless
`Exhibit 1045-0010
`
`

`

`C'Ol\Il\ION:
`
`Common messagPs arP intt=>nded for all receivers in a s~·stem regardless of
`chHnnPl.
`
`REAL-TIME: Rfal-Time messages are used for synchronization and are intended for all clock(cid:173)
`ba.,;ed units in a system. They contain Status bytes only- no Data bytes. Real(cid:173)
`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.
`
`EXCLUSI\ ""E: Exclusive messages can contain any number of Data bytes. and can bt=>
`terminated eitht=>r by an End of Exclusive (EO X) or any other Status byte (except
`Real Time messagt=>s). 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. manufacturt=>rs must publish the format of the System Exclusive
`data following their ID code Only the manufacturer can define or update the
`format following their ID.
`
`DATA TYPES
`
`There are two types of bytes sent over MIDI: Status Bytes and Data bytes.
`
`STATUS BYTES
`
`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.
`
`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.
`
`See also: Additional Explanations and Application I\'otes
`
`MIDI 1.0 Detailed Specification 4.2
`
`5
`
`Verizon Wireless
`Exhibit 1045-0011
`
`

`

`UNIMPLEMENTED STATUS
`
`Any status bytes. and subsequent data bytes. received for functions not implemented in a ree(~iver
`should be ignored.
`
`UNDEFINED STATUS
`
`All MIDl devices should be careful to never send any undefined status bytes. If a device 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 1HDI Out port. Such noise. if it
`appears on a MIDI line. could cause a data or framing error if the number of bns in the byte are
`incorrect.
`
`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 b~·tes are eight-bit binary numbers in which the Most
`Significant Bit (MSB) is always set to binar~· 0. The number and range of Data bytes which must follow
`each Status byte are specified in the tables in section 2. For each Status byte the correct number of
`Data b~·tes must always be sent. Inside a receiver. action on the message should wait until all Data
`b~·te:-; required under the current status are received. Receivers should ignore Data bytes which have
`not been properly preceded b~· a valid Status b~·te (with the exception of "Running Status." explained
`above)
`
`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 one physical instrument may 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 Monu, and vice versa. Omni.
`when on. enables the receiver to receive Voice messages on all voice Channels. \\'hen 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.
`
`6
`
`Overview
`
`Verizon Wireless
`Exhibit 1045-0012
`
`

`

`For a receiver assigned to Basic Channel "N," (1-16) the four possible modes arising from the two Mode
`messages are:
`
`I\lode Omni
`
`1
`
`2
`
`3
`
`4
`
`On
`
`Pol~·
`
`Voice messages are received from all Voice channels and
`assigned to voices polyphonically.
`
`On
`
`Mono
`
`Voice messages are receiVed from all Voice Channels. and
`control onl~· one voice. monophomcally.
`
`Off
`
`Poly
`
`Voice messages are received in Voice channel N onl~·. and are
`assigned to voices polyphonically.
`
`Off
`
`Mono
`
`\'oice 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). Transmitters with no
`channel selection capability should transmit on Basic Channel 1 (N=l).
`
`Mode
`
`Omni
`
`1
`
`2
`
`3
`
`4
`
`channel).
`
`On
`
`On
`
`Poly All voice messages are transmitted in Channel N.
`
`Mono Voice messages for one voice are sent in Channel N.
`
`Off
`
`Poly Voice messages for all voices are sent in Channel N.
`
`Off
`
`Mono Voice messages for voices I through Mare transmitted in Voice
`Channels N through N+M-1. respectively. (Single voice per
`
`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 ,,.ill be recognized by a receiver onl~· 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.
`
`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."
`
`MIDI 1.0 Detailed Specification 4.2
`
`7
`
`Verizon Wireless
`Exhibit 1045-0013
`
`

`

`An instrument's transmitter and receiver may be set to different modes. For example. an in>'trument
`may receive in Mono mode and transmit in Poly mode. It is also possible to transmit and recPive on
`different channels. For example. an instrument may receive on Channel 1 and transmit on Channel :3.
`
`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 indefinite}~· (even when powered clown) 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
`
`8
`
`Overview
`
`Verizon Wireless
`Exhibit 1045-0014
`
`

`

`CHANNEL VOICE MESSAGES
`
`Note-Off
`Note-On
`Pol~· KPy Pressurp
`Control Change
`Program Change
`Channel Pressure
`Pitch Bend
`
`8nH
`9nH
`AnH
`BnH
`CnH
`DnH
`EnH
`
`(0- 119)
`
`Channel Yoice Messages are the bulk of information transmitted between MIDI instruments. They
`include all Note-On. Note-Off. program change. pitch-wheel change, after-touch pressure and controller
`changes These terms are defined below.
`
`A single Note-On message consists of :3 b~·tes. requiring 960 microseconds for transmission. When many
`notes arP playPd at the same time. the multiple Note-On messages may take several milliseconds to
`transmit. This can make it difficult for 1\IIDl to respond to a large number of simultaneous events
`without some slight audible delay. This problem can be relieved to some degree by using the Running
`Status mode described on page 5 and in the appendix (Al-3).
`
`TYPES OF VOICE MESSAGES
`
`NOTE-ON:
`
`NOTE-OFF
`
`CONTROL CHA.NGE:
`
`Message is sent by pressing a key o:r from other triggering devices.
`
`Message is sent by releasing a key.
`
`Message is sent when a controller other than a key (e.g. a pedal.
`wheeL lever. switch. etc.) is moved in order to modify the sound of
`a note (e.g. introducing modulation. sustain. etc.). Control changes
`are not used for sending parameters of tones (voices). such as
`attack time. filter cut off frequency. etc.
`
`PROGRA ... ~l CHANGE:
`
`When a "program" (i.e. sound. voice. tone. preset or patch) is
`changed. the number corresponding to the newly selected program
`is transmitted.
`
`AFTER TOUCH:
`
`This message typically is sent by key after-pressure and is used to
`modify the note being played. Mter touch messages can be sent as
`Polyphonic Key Pressure or Channel Pressure.
`
`PITCH BEND CHANGE:
`
`This message is used for altering pitch. The maximum resolution
`possible is 14 bits, or two data bytes.
`
`Voice messages are not exclusively for use by keyboard instruments. and may be transmitted for a
`variety of musical purposes. For example, Note-On messages generated with a conventional keyboard
`synthesizer may be used to trigger a percussion synthesizer or lighting controller.
`
`MIDI 1.0 Detailed Specification 4.2
`
`9
`
`Verizon Wireless
`Exhibit 1045-0015
`
`

`

`NOTE NUMBER
`
`Each note is assigned a numeric value. which is transmitted with any Note-On/Off mPssage. Middle C
`has a reference value of 60. This is the middle C of an 88 note piano-style keyboard though it need not
`be physically located in thn, enter of a keyboard.
`
`0
`
`12
`
`24
`
`ac
`I
`
`36
`
`c
`
`48
`
`c
`
`60
`
`72
`
`c
`c
`piano range
`
`84
`
`c
`
`96
`
`c
`
`108
`
`120
`
`127
`
`c
`I
`
`VELOCITY
`
`Interpretation of the Velocity byte is left up to the receiving instrument. Generally. the larger the
`numeric value of the message. the stronger the velocity-controlled effect. If velocity is applied to volume
`(output level) for instance. then higher \"elocity values will generate louder notes. A value of 64 (40H)
`would correspond to a mezzo-forte note and should also be used by device without velocity sensitivity.
`Preferably. application of velocity to volume should be an exponential function. This is the suggested
`default action: note that an instrument may have multiple tables for mapping l\HDI velocity to internal
`velocity response.
`
`0
`
`off
`
`64
`
`127
`
`ppp
`
`p
`
`pp
`
`mp
`
`mf
`
`ff
`
`fff
`
`vvvvvvv = 64: if not velocity sensitive
`vvvvvvv = 0: Note-Off (with velocity of 64)
`
`NOTE-OFF
`
`MIDI provides two roughly equivalent means of turning off a note (voice). A note may be turned off
`either by sending a Note-Off message for the same note number and channel. or by sending a Note-On
`message for that note and channel with a velocity value of zero. The advantage to using "Note-On at
`· zero velocity" is that it can avoid sending additional status bytes when Running Status is employed.
`
`Due to this efficiency. sending Note-On messages with velocity values of zero is the most commonly
`used method. However. some keyboard instruments implement release velocity where a Note-Off code
`(8nH) accompanied by a "velocity off'' byte is used. A receiver must be capable of recognizing either
`method of turning off a note. and should treat them identically.
`
`The three methods of using Note-On (9nH) or Note-Off (8nH) are as follows:
`
`I. For a keyboard which does not implement Velocity. the note will be turned on using 9n.
`kkkkkkk, 64 (40H) and may be turned off using 9n. Okkkkkkk. 00000000 or 8n. Okkkkkkk.
`Oxxxxxxx (a value of 64 [40H) is used for x).
`
`10
`
`Channel Voice Messages
`
`Verizon Wireless
`Exhibit 1045-0016
`
`

`

`2. For a keyboard which incorporates Key On Velocity. but not Release Velocity the note is
`turned on using 9n Okkkkkkk. Ovvvvvvv and may be turned off using 9n. Okkkkkkk. 00000000
`or 8n. Okkkkkkk. Oxxxxxxx (a value of 64 (40H) is recommended for x).
`
`3. Where the kevbomd implements both Key On Velocity and Release Velocity. a note is turned
`on using 9n Okkkkkkk. Ovvvvvvv. and turned off using 8n. Okkkkkkk. Ovvvvvvv.
`
`CONTROL CHANGE
`
`The Control Change message is generally used for modifying tones with a controller other than a
`keyboard key It is not for setting synthesizer parameters such as VCF cut-off. envelope decay. etc.
`There are some exceptions to the use of the Control Change message. such as the special Bank Select
`message and the RPN/NRPN messagPs (listed below)
`
`CONTROLLER NUMBERS
`
`All controller number assignments are designated by agreement between the MMA and JMSC. The
`numbers listed in Table III are specified for standard musical instrument applications. However. many
`non-musical devices which implement MIDI, such as lighting controllers, may use designated controller
`numbers at their discretion. Due to the limited number of controller numbers it would be impossible to
`assign a number to every possible effect (musical and non-musical) used now and in the future. For this
`reason. controllers are generally assigned only for purposes associated with musical instruments.
`
`It is up to the manufacturer to inform their users of the fact that a device is using non-standard
`controller assignments. Though controllers may be used for non-musical applications. they must still be
`used in the format detailed in Table II. Manufacturers can request through the MMA or JMSC that
`logical controllers be assigned to physical ones as needed. A controller allocation table should be
`provided in the user's operation manual of all products.
`
`A manufacturer wishing to control a number of device-specific parameters over MIDI should used non(cid:173)
`registered parameter numbers and the Data Entry controllers (Data Entry Slider. Increment. and
`Decrement messages) as opposed to a large number of controllers. This alleviates possible conflict with
`devices responding to the same control numbers unpredictably.
`
`There are currently 120 controller numbers. from 0 through 119 (controller 120 was recently adopted as
`a Channel Mode Message and is no-longer considered a Control Change). As shown below. controller
`numbers 32 to 63 are used to define an LSB byte for corresponding controllers 0 through 31. Controller
`classifications are as follows:
`
`0
`32
`64
`96
`102
`
`through
`through
`through
`through
`through
`
`31
`63
`95
`101
`119
`
`=
`=
`
`=
`=
`
`MSB of most continuous Controller Data
`LSB for controllers 0 through 31
`Additional single-byte controllers
`Increment/Decrement and Parameter numbers
`Undefined single-byte controllers
`
`A numeric value (controller number) is assigned to the controllers of the transmitting instrument A
`receiver may use the message associated with a controller number to perform any operation or achieve
`any desired effect. Further, a single controller number may be used to change a number of parameters.
`controller numbers are classified by various categories. Each controller number corresponds to one byte
`of data.
`
`MIDI 1.0 Detailed Specification 4.2
`
`I I
`
`Verizon Wireless
`Exhibit 1045-0017
`
`

`

`Controller numbers 0 through 31 are for controllers that obtain information from pedals. levPr~. wheels.
`etc. Controller numbers :32 through 63 are reserved for optional use as the LSB (1.east Significant Byte)
`when higher resolution is required and correspond to 0 through :31 respectively. For example. controller
`number 7 (\Tolume) can repre,,enr 128 steps or increments of some controller's position. If controller
`number :39. the corresponding LSB number to controller number 7. is also used. 14-bit re:-,olution is
`obtained. This provides for resolution of 16.384 steps instead of 128.
`
`If 128 steps of resolution is sufficient the second b~·te (LSB) of the data value can be omitted. If both the
`l\ISB and LSB are sent initially. a subsequent fine adjustment only requires the sending of the LSB.
`The MSB does not have to be retransmitted. If a subsequent major adjustment is necessary the MSB
`must be transmitted again. When an MSB is received. the receiver should set its concept of the LSB to
`zero .
`
`.-\11 controller numbers 64 and above have single-byte values only. with no corresponding LSB. Of these.
`G4 through 69 have been defined for switched functions (hold pedal. etc.) \vhile 91 through 95 are for
`controlling the depth of certain external audio effects.
`
`Control numbers 64 through 69 are assigned to functions normally associated with switches (i.e sustain
`or soft pedals). However these controllers can be used to send any continuous value. The reverse can
`also be true for a continuous controller such as Modulation Wheel. \·rhile this controller is most often
`used as a variable control. an on/off modulation switch can also be used. This would be accomplished by
`senrling the Modulation Controller number (01) and a data byte of either 0 (off) or 127 (on).
`
`If a receiver is expecting switch information it should recognize 0-63 (00H-3FH) as "OFF" and 64-127
`(40H-7FH) as "ON". This is because a receiver has no way of knowing whether the message
`information is from a switch or a continuous controller. It is very important to always use an existing
`control number. The control numbers already adopted for use are listed in Table III. We will rliscuss
`some of them. but not all. below.
`
`GLOBAL CONTROLLERS
`
`If a receiving instrument is in Mode 4 (Omni Off/Mono) and is thus able to respond to more than one
`MIDI channel. it is possible to use a Global Controller to affect all voices regardless of MIDI channel.
`This is accomplished by sending any controller intended to affect all voices over the MIDI channel one
`below the basic channel of the receiver. For example. if a receiving synthesizer in Mode 4 is
`responding to channels 6 through 12. its basic channel is 6. Any controllers received on channel .5 would
`be Global Controllers and would affect all voices. If the Basic Channel is 1. then the Global Channel
`wraps to become 16. though not all receivers may provide this function.
`
`GENERAL PURPOSE CONTROLLERS
`
`Controller numbers 16-19 and 80-83 are defined as General Purpose Controllers. They may be used bv a
`manufacturer for an~· added functions able to send or receive some sort of control information needed.
`for a specific product. They do not have any intrinsic functions assigned to them. General Purpose
`Controllers 16-19 are two byte controllers (with controller numbers 48-51 for an optional LSB). General
`Purpose Controllers 80-83 are single byte controllers. As an example. an instrument with a special, user
`definable joystick or lever assignable to any internal parameter could send and receive General Purpose
`Controller numbers for sequencing.
`
`12
`
`Channel Voice Messages
`
`Verizon Wireless
`Exhibit 1045-0018
`
`

`

`CONTROLLER EFFECT
`
`All transmitters should send a value of 00 to represent minimum and 127 (7FH) to represent maximum.
`For continuous controllers without a center detented position. it is recommended that the minimum
`effect position correspond to 00. and the maximum effect position correspond to 127 (7FH).
`
`Yirtually all controllers are defined as 0 being no effect and 127 being maximum effect. There are three
`defined controllers that are notably different: Balance. Pan and Expression.
`
`BALA .... l\JCE:
`
`PAN:
`
`A Balance Controller has been adopted as continuous controller number 8
`(08H) with value 00 =full volume for the left or lower half. 64 (40H) = equal
`balance. and 127 (7FH) =full volume for the right or upper half. This
`controller determines the volume balance between two different sound
`sources.
`
`A Pan Controller has been adopted as continuous controller number 10
`(OAH) with value 00 =hard left. 64 (40H) =center. and 127 (7FH) =hard
`nght. This controller determines where a single sound source will be located
`in a stereo field.
`
`EXPRESSION:
`
`An Expression Controller has been adopted as continuous controller number
`11 (OBH). Expression is a form of volume accent above the programmed or
`main volume.
`
`BANK SELECT
`
`Bank Select is a special controller. The Bank Select message is an extension of the Program Change
`message and

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket