MIDI: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 2: Line 2:
== Introduction ==
== Introduction ==


== Technical ==
{{quotation|MIDI (Musical Instrument Digital Interface, pronounced /ˈmɪdi/) is an industry-standard protocol defined in 1982[1] that enables electronic musical instruments such as keyboard controllers, computers, and other electronic equipment to communicate, control, and synchronize with each other. MIDI allows computers, synthesizers, MIDI controllers, sound cards, samplers and drum machines to control one another, and to exchange system data (acting as a raw data encapsulation method for sysex commands). MIDI does not transmit an audio signal or media — it transmits "event messages" such as the pitch and intensity of musical notes to play, control signals for parameters such as volume, vibrato and pa}} ([http://en.wikipedia.org/wiki/Midi Musical Instrument Digital Wikipedia], retrieved 10:04, 26 May 2009 (UTC))


; Mimetype
The advantage of midi formats in educational technology and computer games, are twofold. Midifiles take little space and sounds can be dynamically generated with relative ease.
 
== File formats ==
 
=== Standard Midi ===
 
Standard Midi File (SMF) include the following information:
* Tracks with music (sounds) that are played on channels
* Each sound can have extra information about how it should be played
 
More technicall speaking, MIDI defines messages:
* MIDI messages include an eith-bit status byte plus one or two data bytes
* The most important MIDI messages are '''Channel messages'''.
* Channel messages are either '''Channel Voice messages''' (sounds) or '''Mode Messages''' that define how the instrument will play the sound.
 
=== General Midi ===
 
{{General MIDI or GM is a standardized specification for music synthesizers that respond to MIDI messages. [...] GM imposes several requirements beyond the more abstract MIDI 1.0 specification. While MIDI 1.0 by itself provides a protocol which ensures that different instruments can interoperate at a fundamental level (e.g. that pressing keys on a MIDI keyboard will cause an attached MIDI sound module to play musical notes)}} ([http://en.wikipedia.org/wiki/General_MIDI Wikipedia], retrieved 10:04, 26 May 2009 (UTC)).
 
GM was introduced in 1991, and is today a minimalist standard that ought be supported by most devices.
 
GM-compatible devices (e.g. synthesizers and sound-cards) are required to be able to:
* Define instrument sounds for each of the 128 possible program numbers. (Sometimes numbered between 0 and 127). These ''sounds'' or ''programs'' can then be associated with a channel. One channel can hold more than one track (!)
* Allow 24 voices to be active simultaneously (including at least 16 melodic and 8 percussive voices)
* Support 16 channels simultaneously (with channel 10 reserved for percussion)
* Support polyphony (multiple simultaneous notes) on each channel
* Controlling information for a sound: sound on/off, amount of modulation, overal volume, left-right pan, expression, sustain
 
=== General MIDI 2 ===
 
Introduced in 1999, this specification extends General MIDI, e.g. with a larger instruments palette, additional control messages, etc.
 
=== Downloadable Sounds (DLS) ===
 
{{quotation|DLS is a family of standardized file formats for digital musical instrument sound banks (collections of virtual musical instrument programs). The DLS standards also include detailed specifications for how MIDI protocol-controlled music synthesizers should render the instruments in a DLS file.}} ([http://en.wikipedia.org/wiki/DLS_format Wikipedia], retrieved 10:04, 26 May 2009 (UTC).
 
=== eXtensible Music Format ("XMF") ===
 
{{quotation|The Extensible Music Format (XMF) is a tree-based digital container format used to bundle music-oriented content, such as a MIDI file and optionally the sounds it uses, liner notes or other content grouped by language-codes.}} ([http://en.wikipedia.org/wiki/Extensible_Music_Format_(XMF) Wikipedia], retrieved 10:04, 26 May 2009 (UTC).)
 
=== Mimetypes ===


Type: audio/x-midi (or audio/midi)
Type: audio/x-midi (or audio/midi)
File extensions:  mid, midi
File extensions:  mid, midi
 
RFC 4613
Type: audio/dls
 
RFC 4723
Type: audio/mobile-xmf
 
== Software ==
== Software ==


; For users
* Quicktime can play midi
; Multimedia development
* [http://www.abumarkub.net/abublog/ midi-to-flash bridge] ([http://www.abumarkub.net/abublog/ Abumarkub]]
* [http://www.abumarkub.net/abublog/ midi-to-flash bridge] ([http://www.abumarkub.net/abublog/ Abumarkub]]


[[Category: Technologies]]
[[Category: Technologies]]
== Links ==
; Some Wikipedia entries
Wikipedia includes several articles [http://en.wikipedia.org/wiki/Category:MIDI_standards on MIDI standards], in particular:
* [http://en.wikipedia.org/wiki/Midi Musical Instrument Digital Interface] (Wikipedia)
* [http://en.wikipedia.org/wiki/Comparison_of_MIDI_standards Comparison of MIDI standards]
* [http://en.wikipedia.org/wiki/MIDI_usage_and_applications MIDI usage and applications] (Wikipedia).
* [http://en.wikipedia.org/wiki/General_MIDI General MIDI]
* [http://en.wikipedia.org/wiki/Extensible_Music_Format_(XMF) Extensible Music Format (XMF)]
; Tutorials
* [http://www.harmony-central.com/MIDI/Doc/tutorial.html Tutorial on MIDI and Music Synthesis], Jim Heckroth (1995). Good.
* [http://www.midisite.com/info/infomidi.htm MIDI Overview]
* [http://www.midiworld.com/mw_basic.htm MIDI Basics], by Eric Lipscomb (1989). (Short high-level overview)
; Repositories
* [http://www.freemidi.com/directory/ freemidi.com] Software for midi and karaoke and index of midi file sites
; Technical infos
* [http://www.midi.org/ midi.org/] (MIDI Manufacturers association). Includes the most important specifications.
* [http://www.indiana.edu/~emusic/cntrlnumb.html MIDI Controller Numbers] (GM ?)
* [http://www.midisite.com/info/synth/Control.htm Controllers]

Revision as of 12:04, 26 May 2009

Draft

Introduction

“MIDI (Musical Instrument Digital Interface, pronounced /ˈmɪdi/) is an industry-standard protocol defined in 1982[1] that enables electronic musical instruments such as keyboard controllers, computers, and other electronic equipment to communicate, control, and synchronize with each other. MIDI allows computers, synthesizers, MIDI controllers, sound cards, samplers and drum machines to control one another, and to exchange system data (acting as a raw data encapsulation method for sysex commands). MIDI does not transmit an audio signal or media — it transmits "event messages" such as the pitch and intensity of musical notes to play, control signals for parameters such as volume, vibrato and pa” (Musical Instrument Digital Wikipedia, retrieved 10:04, 26 May 2009 (UTC))

The advantage of midi formats in educational technology and computer games, are twofold. Midifiles take little space and sounds can be dynamically generated with relative ease.

File formats

Standard Midi

Standard Midi File (SMF) include the following information:

  • Tracks with music (sounds) that are played on channels
  • Each sound can have extra information about how it should be played

More technicall speaking, MIDI defines messages:

  • MIDI messages include an eith-bit status byte plus one or two data bytes
  • The most important MIDI messages are Channel messages.
  • Channel messages are either Channel Voice messages (sounds) or Mode Messages that define how the instrument will play the sound.

General Midi

{{General MIDI or GM is a standardized specification for music synthesizers that respond to MIDI messages. [...] GM imposes several requirements beyond the more abstract MIDI 1.0 specification. While MIDI 1.0 by itself provides a protocol which ensures that different instruments can interoperate at a fundamental level (e.g. that pressing keys on a MIDI keyboard will cause an attached MIDI sound module to play musical notes)}} (Wikipedia, retrieved 10:04, 26 May 2009 (UTC)).

GM was introduced in 1991, and is today a minimalist standard that ought be supported by most devices.

GM-compatible devices (e.g. synthesizers and sound-cards) are required to be able to:

  • Define instrument sounds for each of the 128 possible program numbers. (Sometimes numbered between 0 and 127). These sounds or programs can then be associated with a channel. One channel can hold more than one track (!)
  • Allow 24 voices to be active simultaneously (including at least 16 melodic and 8 percussive voices)
  • Support 16 channels simultaneously (with channel 10 reserved for percussion)
  • Support polyphony (multiple simultaneous notes) on each channel
  • Controlling information for a sound: sound on/off, amount of modulation, overal volume, left-right pan, expression, sustain

General MIDI 2

Introduced in 1999, this specification extends General MIDI, e.g. with a larger instruments palette, additional control messages, etc.

Downloadable Sounds (DLS)

“DLS is a family of standardized file formats for digital musical instrument sound banks (collections of virtual musical instrument programs). The DLS standards also include detailed specifications for how MIDI protocol-controlled music synthesizers should render the instruments in a DLS file.” (Wikipedia, retrieved 10:04, 26 May 2009 (UTC).

eXtensible Music Format ("XMF")

“The Extensible Music Format (XMF) is a tree-based digital container format used to bundle music-oriented content, such as a MIDI file and optionally the sounds it uses, liner notes or other content grouped by language-codes.” (Wikipedia, retrieved 10:04, 26 May 2009 (UTC).)

Mimetypes

Type: audio/x-midi (or audio/midi) File extensions: mid, midi

RFC 4613 Type: audio/dls

RFC 4723 Type: audio/mobile-xmf

Software

For users
  • Quicktime can play midi
Multimedia development

Links

Some Wikipedia entries

Wikipedia includes several articles on MIDI standards, in particular:

Tutorials
Repositories
  • freemidi.com Software for midi and karaoke and index of midi file sites
Technical infos