Talk:MIDI 1.0

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

WikiProject Video games template removed[edit]

Per a discussion at WT:VG, I've removed the WikiProject Video games scope template from this article. This article describes a technical specification for a technology often used to produce music in video games, but an article specifically about video game music would be more appropriate for inclusion in the project, and that in turn could link to this article. —Preceding unsigned comment added by KieferSkunk (talkcontribs)

Page move discussion[edit]

This article has been renamed from The MIDI 1.0 Protocol to MIDI 1.0 as the result of a move request.

The following is a closed discussion of the proposal. Please do not modify it. Subsequent comments should be made in a new section on the talk page. No further edits should be made to this section.

The result of the proposal was - Move.

Suggesting that we rename this page to MIDI 1.0 - the current name (The MIDI 1.0 Protocol) is not a proper title of a book, movie, game or other form of media. Alternative suggestion would be MIDI 1.0 protocol (note caps and lack of definite article). Please discuss. —Preceding unsigned comment added by KieferSkunk (talkcontribs)

MIDI 1.0 is probably the place for it. Andrewa (talk) 03:52, 9 January 2008 (UTC)[reply]

I'm gonna give it a couple more days. If no more discussion occurs, I'm going to go ahead and move it. — KieferSkunk (talk) — 00:56, 11 January 2008 (UTC)[reply]

Support. I don't feel "protocol" is required so simply MIDI 1.0 --Lox (t,c) 12:20, 12 January 2008 (UTC)[reply]

Done: Since yours was the only comment since I said I was going to do it, I'm moving it as non-controversial. :) — KieferSkunk (talk) — 19:37, 12 January 2008 (UTC)[reply]
The above discussion is preserved as an archive of the proposal. Please do not modify it. Subsequent comments should be made in a new section on this talk page. No further edits should be made to this section.

RTP MIDI Reference removed[edit]

There is a mention in the body of an external reference to RTP MIDI "below" but it was obviously removed a long time ago. Tsk Tsk. Charlie Richmond (talk) 05:59, 21 July 2008 (UTC)[reply]

Standard MIDI Files[edit]

Should this article mention the Standard MIDI File format (and/or have links to information about it)? Musanim (talk) 02:53, 25 August 2008 (UTC)[reply]

Table being worked on[edit]

Feel free to finish and paste into the article. 71.41.210.146 (talk) 23:56, 23 December 2010 (UTC)[reply]

A message begins with a status byte, in the range 128–255 (0x80–0xFF, high bit set), followed by a message-dependent number of data bytes, which are in the range of 0–127 (0x00–0x7F, high bit clear). 7 of the messages (status bytes from 0x80–0xEF) encode a channel number in the low nibble. Status bytes from 0xF0–0xFF are system-wide messages. These are further divided into system common messages from 0xF0–0xF7 and system real-time messages from 0xF0–0xF7. The latter have no data bytes and are specially permitted to appear anywhere in the MIDI data stream, even in the middle of other MIDI messages.

If two data bytes are combined into one 14-bit value, they are always sent least significant bits first.

MIDI message types
Note off 1000ccc
0nnnnnnn
0vvvvvvv
Note messages contain a note number and a velocity. The numbers have a precision of 1 semitone and can represent any note in the 10.5 octave range from C−1 (MIDI note 0, five octaves below middle C4 or 8.176 Hz in common Western musical tuning) to G9 (MIDI note 127, five octaves above the G above middle C or 12,544 Hz). A note-on message starts a note, and a separate note-off message is needed to end it. If running status is 'active', a note-on message with the velocity byte set to zero is used in place of a note-off message.
Note on 1001ccc
0nnnnnnn
0vvvvvvv
Aftertouch 1010ccc
0nnnnnnn
0vvvvvvv
Aftertouch messages (also known as Poly Pressure messages) are sent in some instruments to indicate pressure changes on the note while it is being played. The individual pressure sensors that aftertouch messages require are reserved mainly for expensive, high-end keyboards.
Control change 1010cccc
0nnnnnnn
0vvvvvvv
"Control Change" messages (frequently wrongly called Continuous Controller) are quite versatile; they are usually generated by a musician using knobs, sliders, footswitches, or pressure on a physical MIDI controller (or MIDI-equipped instrument). While the response to these messages is generally totally up to the receiving device, they are typically used to change the tone, timbre, or volume of an instrument's sound. In non-musical applications of MIDI, Control Change messages can be used to move motorized faders, to dim lights, or even to move a motorized joint in an animatronic figure.

For on/off controls, any value 0–63 is off, and any value 64–127 is on.

Controls 120–127 are reserved for special "channel mode messages".

Channel Mode Message 1010cccc
01111nnn
0vvvvvvv
A variety of special channel messages can be sent this way. The simplest is n=0, v=0, "All notes off" which silences a channel, even if a note-off message got lost.
Program Change 1100cccc
0ppppppp
Program change messages are sent to an instrument on a particular channel to instruct it to recall another patch, or program. The MIDI protocol uses 7 bits for this message, supporting only 128 programs to change to. Many devices which are more modern than the MIDI specification store far more than 128 programs. To overcome the limitation, a bank-switching method has been added to the spec (Each bank of 127 programs can be selected using a controller message, enabling access to 127² = 16129 programs).
Channel pressure 1101cccc
0vvvvvvv
Another aftertouch feature, this channel pressure changes the pressure for the entire instrument, not just one note. The channel pressure messages are more commonly implemented in most synthesizers, while the individual pressure sensors that aftertouch messages require are reserved mainly for expensive, high-end synthesizers.
Pitch wheel change 1110cccc
0aaaaaaa
0bbbbbbb
Pitch-bend messages range in ±2 semitones (sometimes adjustable with Registered Parameter Numbers), with precision of 1/8192 semitone (The human ear cannot hear the difference between adjacent pure tones that differ by less than 1/20 semitone). Most synthesizers allow you to adjust the pitch bend range over several octaves. The first byte encodes the least-significant bits, while the second byte encodes the most significant bits.
System 1111xxxx System messages contain meta-data about other MIDI messages. A sequencer, for example, often sends MIDI clock messages during playback that correspond to the MIDI timecode, so the device receiving the messages (usually a synthesizer) will be able to keep time. Also, some devices will send Active Sense messages, used only to keep the connection between the sender and the receiver alive after all MIDI communication has ceased.
MIDI system common messages
System common messages 11110xxx These communicate various system-wide information
System exclusive 11110000
0ccccccc
0ddddddd
0ddddddd…
11110111
Manufacturer's System Exclusive messages (also known as Manufacturer SysEx, Manuf Sysx, etc.) are defined by the manufacturer of the sequencer/synthesizer and can be any length. These messages are commonly used to send non-MIDI data over a MIDI connection, such as patch settings, a sound sample, or a sequencer's memory dump. Because they are defined by the device's manufacturer, they are mainly used for backup purposes and rarely (if ever) useful in another MIDI device.

The first data byte is a manufacturer code which identifies the devices that should listen to the remaining bytes. A first byte of 126 or 127 identifies special "universal system exclusive" messages that can be understood by any device.

Midi time code 11110001
0nnnvvvv
MIDI time code quarter frame. 8 consecutive messages (with values of n from 0 to 7) form a 32-bit abbreviated SMPTE timecode, beginning with the low nibble of the frame number and ending with tens of hours. Only one bit of the latter is used, with two other bits identifying the frame rate (24, 25, 29.97 or 30 frames/s), and one bit unused. Unlike the standard SMPTR timecode, no user bits are provided. These messages are sent every quarter frame, to it takes 2 frames to assemble a complete time code.
Song position pointer 11110010
0aaaaaaa
0bbbbbbb
This indicates the point to begin playing a pre-programmed sequence, in units of 1/16 notes (6 timing clock messages).
Song select 11110011
0vvvvvvv
This selects one of 128 pre-programmed songs to play.
11110100 (reserved)
11110101
Tune request 11110110 Requests analog synthesizers to tune themselves. No data. Essentially obsolete.
End system exclusive 11110111 Marks the end of a system exclusive message.
MIDI system real-time messages
System real-time messages 11111xxx System real-time messages may be sent at any time, even in the middle of other MIDI messages (including manufacturer's system exclusive messages). They never have associated data bytes.
Timing clock 11111000 Sent 24 times per quarter note when a sequence is playing.
MIDI tick 11111001 Sent once per 10 ms when absolute timing is in use.
Start 11111010 Start playing a pre-programmed sequence at the beginning. Equivalent to Song Position Pointer 0 + Continue.
Continue 11111011 Continue (unpause) at the point a sequence was stopped.
Stop 11111100 Stop (pause) a playing sequence.
11111101 (reserved)
Active sensing 11111110 Used to detect disconnected cables, once the first active sensing message is sent, all devices start a 300 ms watchdog timer. If no active sensing message is detected for 300 ms, devices will stop playing all notes and return to normal (not active sensing) operation.
Reset 11111111 Reset all MIDI devices.

Redirect to MIDI[edit]

I don't understand why we need this article.

  • Notable, relevant, encyclopaedic information about midi 1.0 should be covered in the MIDI article.
  • This article seems only to comprise extensive tables of technical information. This might be useful to those seeking technical information about midi, particularly how to use it, but that is not the purpose of Wikipedia (see WP:NOT). We should serve a general readership (see WP:TECHNICAL).
  • As per WP:INDISCRIMINATE, Wikipedia is not an indiscriminate collection of information. As the policy says, To provide encyclopedic value, data should be put in context with explanations referenced to independent sources.
  • The article has very few sources, which is a fundamental requirement of Wikipedia (see WP:CITE).

Let's redirect it to MIDI. Popcornfud (talk) 15:38, 7 March 2020 (UTC)[reply]