MIDI: Difference between revisions

Mention OSC
BudjarnLambeth (talk | contribs)
m See also: added link to orphaned page
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Wikipedia|MIDI}}
'''MIDI''' ('''Musical Instrument Digital Interface''') is a standard communications protocol for connecting musical instruments, computers, and related audio devices for playing, editing, and recording music.
'''MIDI''' ('''Musical Instrument Digital Interface''') is a standard communications protocol for connecting musical instruments, computers, and related audio devices for playing, editing, and recording music.


Line 11: Line 12:
*'''[https://www.midi.org/midi-articles/midi-polyphonic-expression-mpe MIDI Polyphonic Expression]''' ('''MPE''') - Allows controlling multiple parameters independently for each note, including pitch-bend.
*'''[https://www.midi.org/midi-articles/midi-polyphonic-expression-mpe MIDI Polyphonic Expression]''' ('''MPE''') - Allows controlling multiple parameters independently for each note, including pitch-bend.
*'''[https://www.midi.org/midi-articles/details-about-midi-2-0-midi-ci-profiles-and-property-exchange MIDI 2.0]''' - Allows for setting the pitch of each note independently, using the "[https://amei.or.jp/midistandardcommittee/MIDI2.0/MIDI2.0-DOCS/M2-104-UM_v1-0_UMP_and_MIDI_2-0_Protocol_Specification.pdf#page=34 Pitch 7.9]" attribute (which overrides the default pitch).
*'''[https://www.midi.org/midi-articles/details-about-midi-2-0-midi-ci-profiles-and-property-exchange MIDI 2.0]''' - Allows for setting the pitch of each note independently, using the "[https://amei.or.jp/midistandardcommittee/MIDI2.0/MIDI2.0-DOCS/M2-104-UM_v1-0_UMP_and_MIDI_2-0_Protocol_Specification.pdf#page=34 Pitch 7.9]" attribute (which overrides the default pitch).
([[Wikipedia:Open Sound Control|Open Sound Control]] (OSC) is sometimes suggested as a microtonal replacement for MIDI,<ref>{{Cite web|title=OSC question|url=https://groups.google.com/g/microtools/c/Gh1fFbCb6XI/m/aSssQIHAXEkJ|website=groups.google.com|access-date=2023-02-03}}</ref><ref>{{Cite web|title=linux-audio-dev: Re: [linux-audio-dev] Common synthesizer interf|url=https://ccrma.stanford.edu/mirrors/lalists/lad/2005/05/0016.html|website=ccrma.stanford.edu|access-date=2023-02-03}}</ref> however it is an open-ended communication protocol, without even a de facto standard for sending notes, so the protocol must be customized for each synthesizer/output.<ref>{{Cite web |title=Home · fabb/SynOSCopy Wiki |url=https://github.com/fabb/SynOSCopy |access-date=2022-12-31 |website=GitHub |language=en |quote=one of the reasons OSC has not replaced MIDI yet is that there is no connect-and-play … There is no standard namespace in OSC for interfacing e.g. a synth}}</ref><ref>{{Cite web |last=Supper |first=Ben |date=October 24, 2012 |title=We hate MIDI. We love MIDI. |url=https://focusritedevelopmentteam.wordpress.com/2012/10/24/we-hate-midi-we-love-midi/ |access-date=2023-01-01 |website=Focusrite Development |language=en |quote=OSC suffers from a superset of this problem: it’s anarchy, and deliberately so. The owners of the specification have been so eager to avoid imposing constraints upon it that it has become increasingly difficult for hardware to cope with it. … More severely, there is an interoperability problem. OSC lacks a defined namespace for even the most common musical exchanges, to the extent that one cannot use it to send Middle C from a sequencer to a synthesiser in a standardised manner}}</ref><ref>{{Cite web |title=OSC-Namespace and OSC-State: Schemata for Describing the Namespace and State of OSC-Enabled Systems |url=https://www.nime.org/proceedings/2014/nime2014_300.pdf |quote=OSC also introduces new obstacles. First, since there is no fixed set of messages, each participating server needs to know what messages it can send to the servers it intends to communicate with. Currently the OSC standard does not provide for a means of programmatically discovering all messages a server responds to}}</ref>)
([[Wikipedia:Open Sound Control|Open Sound Control]] (OSC) is sometimes suggested as a microtonal replacement for MIDI,<ref>[https://groups.google.com/g/microtools/c/Gh1fFbCb6XI OSC question]</ref><ref>linux-audio-dev: [https://ccrma.stanford.edu/mirrors/lalists/lad/2005/05/0016.html <nowiki>Re: [linux-audio-dev] Common synthesizer interface -or- microtonal alternative to MIDI?</nowiki>]</ref> however it is an open-ended communication protocol, without even a de facto standard for sending notes, so the protocol must be customized for each synthesizer/server.<ref>[https://github.com/fabb/SynOSCopy Home · fabb/SynOSCopy Wiki], GitHub, "one of the reasons OSC has not replaced MIDI yet is that there is no connect-and-play … There is no standard namespace in OSC for interfacing e.g. a synth"</ref><ref>[https://focusritedevelopmentteam.wordpress.com/2012/10/24/we-hate-midi-we-love-midi/ We hate MIDI. We love MIDI.] Ben Supper, October 24, 2012, Focusrite Development, "OSC lacks a defined namespace for even the most common musical exchanges, to the extent that one cannot use it to send Middle C from a sequencer to a synthesiser in a standardised manner"</ref><ref>[https://www.nime.org/proceedings/2014/nime2014_300.pdf OSC-Namespace and OSC-State: Schemata for Describing the Namespace and State of OSC-Enabled Systems], "there is no fixed set of messages, each participating server needs to know what messages it can send to the servers it intends to communicate with."</ref>)
 
= See also =
 
* [[New Tuning Method]]
* [[Mclaren-notation#Computer and MIDI formats]]
* [[Tuning per channel]] - [Is this one MTS scale per channel?]
* [[Hardware Synths]] - Lists devices that support MIDI Tuning Standard
* [[DAWs#Approaches to Microtonal Composition in a DAW]]
* [[List of microtonal software plugins]]
* [[Scala]] - can retune MIDI streams and files using pitch bend, supports MIDI sysex and file-based tunings
* [[402653184edo]] - a tuning system that allows for finer subdivisions within the standard 128-note MIDI scale based on [[12edo|12-EDO]], using 32-bit data.
* [[1536/1]] - the largest interval allowed by MIDI without pitch bends (using [[Pythagorean]] mapping)
 
== References ==
<references />
[[Category:MIDI]]
[[Category:Software]]
[[Category:Hardware]]