- Description
- Index
- Documentation
- Releases
- Files
- lv2-midi.doap.ttl
- midi.h - Documentation
- midi.ttl
| URI | http://lv2plug.in/ns/ext/midi |
|---|---|
| Version | 1.8 (2012-10-14) |
| Prefixes | atom dcs doap ev foaf lv2 midi owl rdf rdfs xsd |
| Discuss | devel@lists.lv2plug.in (subscribe) |
This specification defines a data type for a MIDI message, midi:MidiEvent,
which is normalised for fast and convenient real-time processing. MIDI is the
Musical Instrument Digital Interface
, a ubiquitous binary standard for
controlling digital music devices.
For plugins that process MIDI (or other situations where MIDI is sent via a generic transport) the main type defined here, midi:MidiEvent, can be mapped to an integer and used as the type of an LV2 Atom or Event.
This specification also defines a complete human and machine readable description of the MIDI standard (except for standard controller numbers). These descriptions are detailed enough to express any MIDI message as properties.
| Sub-class of | midi:SystemRealtime |
|---|---|
| midi:status | FE |
| Sub-class of | midi:VoiceMessage | ||||
|---|---|---|---|---|---|
| midi:chunk |
| ||||
| midi:chunk |
| ||||
| midi:statusMask | A0 |
| Sub-class of | midi:VoiceMessage | ||||||
|---|---|---|---|---|---|---|---|
| midi:chunk |
| ||||||
| midi:statusMask | E0 |
| Sub-class of | midi:VoiceMessage | ||||
|---|---|---|---|---|---|
| midi:statusMask | D0 | ||||
| midi:chunk |
|
A series of contiguous bytes (usually one) in a message.
| In domain of | midi:byteNumber |
|---|---|
| midi:property |
| Sub-class of | midi:SystemRealtime |
|---|---|
| midi:status | F8 |
| Sub-class of | midi:SystemRealtime |
|---|---|
| midi:status | FB |
| Sub-class of | midi:VoiceMessage | ||||
|---|---|---|---|---|---|
| midi:chunk |
| ||||
| |||||
| midi:statusMask | B0 |
A hexadecimal byte, which is a xsd:hexBinary value <= FF
| In range of | midi:status | ||||||
|---|---|---|---|---|---|---|---|
| midi:velocity | |||||||
| midi:statusMask | |||||||
| owl:withRestrictions |
| ||||||
| owl:onDatatype | xsd:hexBinary |
A single raw MIDI message (i.e. a sequence of bytes).
This is equivalent to a standard MIDI messages, except with the following restrictions to simplify handling:
If a midi:MidiEvent is serialised to a string, the format should be xsd:hexBinary, e.g. (in Turtle notation):
[] eg:someEvent "901A01"^^midi:MidiEvent .
| Sub-class of | atom:Atom |
|---|---|
| ev:Event | |
| In range of | midi:binding |
| owl:onDatatype | xsd:hexBinary |
| Sub-class of | midi:VoiceMessage | ||||
|---|---|---|---|---|---|
| midi:statusMask | 80 | ||||
| midi:chunk |
| ||||
|
| Sub-class of | midi:VoiceMessage | ||||
|---|---|---|---|---|---|
| midi:statusMask | 90 | ||||
| midi:chunk |
| ||||
| midi:chunk |
|
| Sub-class of | midi:VoiceMessage | ||||
|---|---|---|---|---|---|
| midi:statusMask | C0 | ||||
| midi:chunk |
|
| Sub-class of | midi:SystemCommon |
|---|---|
| midi:status | F1 |
| Sub-class of | midi:SystemRealtime |
|---|---|
| midi:status | FF |
| Sub-class of | midi:SystemCommon | ||||||
|---|---|---|---|---|---|---|---|
| midi:status | F2 | ||||||
| midi:chunk |
|
| Sub-class of | midi:SystemCommon |
|---|---|
| midi:status | F3 |
| Sub-class of | midi:SystemRealtime |
|---|---|
| midi:status | FA |
| Sub-class of | midi:SystemRealtime |
|---|---|
| midi:status | FC |
| Sub-class of | midi:SystemMessage |
|---|
| Sub-class of | midi:SystemMessage |
|---|---|
| midi:status | F0 |
| Sub-class of | midi:MidiEvent |
|---|---|
| midi:statusMask | F0 |
| Sub-class of | midi:SystemMessage |
|---|
| Sub-class of | midi:SystemCommon |
|---|---|
| midi:status | F6 |
| Sub-class of | midi:MidiEvent |
|---|---|
| midi:statusMask | F0 |
The value of a pitch bender (-8192 to 8192).
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:short |
The MIDI event to bind a parameter to. This describes which MIDI events should be used to control a port, parameter, or other object. The binding should be a midi:MidiEvent but the property that represents the control value may be omitted. For example, to bind to the value of controller 17:
port midi:binding [ a midi:Controller ; midi:controllerNumber 17 ] .
| OWL Type | Object Property |
|---|---|
| Range | midi:MidiEvent |
The 0-based index of a byte which is part of this chunk.
| OWL Type | Datatype Property |
|---|---|
| Domain | midi:Chunk |
| Range | xsd:unsignedByte |
The channel number of a MIDI message.
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:unsignedByte |
A chunk of a MIDI message.
| Range | xsd:byte |
|---|---|
| xsd:hexBinary |
The numeric ID of a controller (0 to 127).
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:byte |
The value of a controller (0 to 127).
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:byte |
The numeric ID of a note (0 to 127).
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:byte |
Key pressure (0 to 127).
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:byte |
The numeric ID of a program (0 to 127).
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:byte |
The property this chunk represents.
| OWL Type | Object Property |
|---|---|
| Domain | midi:Chunk |
| Range | rdf:Property |
The numeric ID of a song (0 to 127).
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:byte |
Song position in MIDI beats (16th notes) (-8192 to 8192).
| OWL Type | Datatype Property |
|---|---|
| Range | xsd:short |
The exact status byte for a message of this type.
| OWL Type | Datatype Property |
|---|---|
| Range | midi:HexByte |
The status byte for a message of this type on channel 1, i.e. a status byte with the lower nibble set to zero.
| OWL Type | Datatype Property |
|---|---|
| Range | midi:HexByte |
The velocity of a note message (0 to 127).
| OWL Type | Datatype Property |
|---|---|
| Range | midi:HexByte |