Sunday, July 13, 2025

The Complete MIDI 1.0 Detailed Specification 96.1 - Fully Bookmarked + missing OCR

I have been working on a MIDI project so I bookmarked the MIDI 1.0 standard and OCR'ed a missing section. 

If this sounds of use to you here is the link to the document

The internet archive was my original source for the MIDI 1.0 96.1 3rd ed document.

I also came across some MIDI 2.0 docs via AMEI (you will have to translate the Japanese in your browser). The English PDF’s are here. You can access the Github pages deployment via their github if you want to download all the pdf’s in one zip. The current v.0.1.16 deployment is here. The full official Association of Musical Electronics Industry (AMEI is based in Japan) home page also has some pdf’s scattered around it associated with their MIDI Standard Committee work.

As it was pointed out in comment on my reddit post, the "complete" document found around the internet is not current (but likely close enough for my purposes). I then went back and checked the versions on the MIDI association website and made the following tables. Current as of this post. Dates are based upon details in the documents, or online references or copyrights (marked with ?)

MIDI 1.0 Core

ref: https://midi.org/midi-1-0-core-specifications

Stanard Desc Download Details Filename Size Version Date
MIDI 1.0 DETAILED SPECIFICATION This is 1996 revision of the MIDI 1.0 specification.
This document is a combination of the MIDI 1.0 Detailed Specification v 4.1.1 and the MIDI 1.0 Addendum v 4.2
Download Details M1_v4-2-1_MIDI_1-0_Detailed_Specification_96-1-4.pdf 537.88 KB 4.2.1 February 1996
MIDI TIME CODE For device synchronization, MIDI Time Code uses two basic types of messages, described as Quarter Frame and Full.
This document is reprinted from the MIDI 1.0 Detailed Specification v 4.1.1 and the MIDI 1.0 Addendum v 4.2
Download Details RP-004-008_v4-2-1_MIDI_Time_Code_Specification_96-1-4.pdf
81.09 KB 4.2.1 1994?
MIDI SHOW CONTROL The purpose of MIDI Show Control is to allow MIDI systems to communicate with and to control dedicated intelligent control equipment in theatrical, live performance, multi-media, audio-visual and similar environments. Download Details RP-002-014_v1-1-1_MIDI_Show_Control_Specification_96-1-4.pdf 176.19 KB 1.1.1 1995?
MIDI MACHINE CONTROL MIDI Machine Control is a general purpose protocol which initially allows MIDI systems to communicate with and to control some of the more traditional audio recording and production systems. Download Details RP-013_v1-0_MIDI_Machine_Control_Specification_96-1-4.pdf
3.6 MB 1.0 January 1992


MIDI 1.0 Addenda

ref: https://midi.org/midi-1-0-addenda

Standard Description Download Details Filename Size Version Date
MIDI Implementation Chart version 2 This revised version of the standard MIDI Implementation Chart is designed as a quick reference guide that allows users to identify at a glance which MIDI messages and functions are implemented by the device. Download Details midi_chart-v2.pdf 72.63 KB 2.0 25 June 2019 or earlier ????
Renaming of CC91 and CC93 Due to the fact that so many manufacturers use Control Change #91 and #93 in the same way, they should be renamed according to their common usage. Download Details rp23.pdf 26.82 KB Approved by MMA 02/99 / Approved by AMEI 05/99. Contents Copyright 1999-2004
Sound Controller Defaults (Revised) CC 70 through 79 are defined as Sound Controllers. Some have default names, and some are left undefined. Control Change (CC) #75-78 (Sound Controllers 6-9) have been given default names. Download Details rp21.pdf 28.12 KB
Approved by MMA 02/99 / Approved by AMEI 05/99. Contents Copyright 1999-2004
Response to Data Increment/Decrement Controllers This is a recommendation for expected response to Data Increment (MIDI controller #96) and Data Decrement (MIDI controller #97) MIDI messages. Download Details rp18.pdf 31.86 KB Approved by MMA 9/97 / Approved by AMEI 10/97. Contents Copyright 1997-2004
Response to Reset All Controllers Defines a consistent response to the Reset All Controllers Channel Mode message (#121) Download Details rp15.pdf 32.88 KB Approved by MMA 11/98 / Approved by AMEI 05/99. Contents Copyright 1997-2004
File Reference SysEx Message This message allows computer based MIDI devices to access files on a shared file system or network using a URL-style file specification. It allows the sounds in these files to be played using simple MIDI messages. Download Details ca18.pdf 51.96 KB 11/4/98 (Revised 10/27/99)
Three Dimensional Sound Controllers This specification defines MIDI Registered Parameter Number (RPN) controllers corresponding to the parameters that would be involved in order to allow synthesizers to render MIDI in 3D, and to allow content authors to create compelling 3D MIDI sequences. Download Details rp49public.pdf 124.82 KB 1.0 July 23, 2009
High Resolution Velocity Prefix Defines MIDI Continuous Controller 88 (58H) as High Resolution Velocity Prefix to the subsequent Note On / Note Off message. Download Details ca31.pdf 29.68 KB 22 Feb 2013 or earlier ????
Default Pan Formula Over the course of the development of MIDI, different manufacturers have implemented their own responses to CC#10. In addition, various AMEI/MMA Specification (such as GM2 and DLS2) have recommended response curves that are not all the same. Download Details rp36.pdf 29.33 KB Approved by MMA 08/02 / Approved by AMEI 11/02. Contents Copyright 2002-200
MIDI Bank Index Offset Extension to File Reference SysEx Message This is an extension to the File Reference SysEx message (“CA-018”) providing a means of offsetting the mapping information in a DLS file by a MIDI bank index offset. Download Details ca28.pdf
46.18 KB Jan 21 2001
Redefinition of RPN01 and RPN02 (Channel Fine/Coarse Tuning) With the approval of CA-025 (“Master Fine/Coarse Tuning”) there arises a naming conflict with existing Registered Parameter Numbers (RPNs) in the MIDI 1.0 Detailed Specification called Master Tuning. Download Details rp22.pdf 27.31 KB Approved by MMA 02/99 / Approved by AMEI 05/99. Contents Copyright 1999-2004
Sample Dump Size/Rate/Name Extensions This CA adds an Extended Dump Header, capable of handling sample object sizes up to 32 GB (Gigabytes) with greater precision in calling out the sample rate; a new Extended Loop Point message for longer loops; and a Sample Name Transmission / Request pair, all implemented under the Sample Dump Extensions command tree. Download Details ca19.pdf 56.63 KB 11/5/98 (rev 8/24/99 & 12/01/00)
MIDI Visual Control This specification defines a way for MIDI to be used for control of visual presentation devices or systems. MIDI has expanded far beyond its original intention of being a control language for musical instruments. Download Details rp50 MIDI Visual Control.pdf 154.17 KB 1.0 February 15, 2011
MIDI Tuning (Updated Specification) The MIDI Tuning specification allows the sharing of “microtunings” (user-defined scales other than 12-tone equal temperament) among instruments, and the switching of these tunings during real-time performance. Download Details MIDI Tuning Updated Specification.pdf 71.26 KB Approved by MMA 02/99 / Approved by AMEI 05/99. Contents Copyright 1999-2004
Controller Destination Setting This proposal enables selecting the destination for Control Change messages, plus Channel Pressure and Polyphonic Key Pressure, using Universal Real Time System Exclusive messages. Download Details ca22 Controller Destination SysEx Message.pdf 49.97 KB 2/28/99
Key-Based Instrument Controllers The Key-Based Instrument Controller message is intended to be a standard method of providing individual key-based instruments with the same performance control that is available for Channel-based instruments. Download Details ca23 Key-based Instrument Controller SysEx Message.pdf 47.15 KB 2/28/99
Global Parameter Control This proposal allows the editing of global parameters in a device using Universal Real-Time System Exclusive messages. Download Details ca24 Global Parameter Control SysEx Message.pdf 55.81 KB 3/05/99
Master Fine/Course Tuning These two new Universal Real Time SysEx messages are additional Device Control messages which control the overall tuning of a device. Download Details ca25 Master Fine & Coarse Tuning SysEx Message.pdf 49.08 KB 3/02/99
Modulation Depth Range RPN This proposal defines Registered Parameter Number (RPN) #05 as Modulation Depth Range to be used to scale the effective range of Control Change 1 (Modulation Wheel). Download Details ca26 RPN05 Modulation Depth Range.pdf 47.35 KB 3/02/99
5 Pin DIN Electrical Specs The MIDI 1.0 Specification includes an Electrical Specification which uses a 5-Pin DIN connector and 5 Volt electronics as was common at that time. Download Details ca33 5 PIn DIN Electrical Spec.pdf
240.21 KB 2014