MIDI

From Xenharmonic Wiki
Revision as of 21:16, 3 February 2023 by ResonantFrequencies (talk | contribs) (More info about native MIDI vs extensions)
Jump to navigation Jump to search

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.

In the xenharmonic space, it is used for transmitting scores as .mid files, and for driving synthesizers from keyboards/instruments or scores.

Each MIDI link supports 16 channels (numbered 1–16, but encoded as 0–15), with 128 pitches each (numbered 0–127). In typical applications, these pitches are assigned to 12edo pitches from C−1 (8.2 Hz) to G9 (12.5 kHz), and the channels are used for different instruments. Pitch bend messages allow the pitch to be varied with more precision than a semitone, but apply the same bend to all notes sent on a channel.

There are a variety of hacks/extensions that allow for varying amounts of xenharmonicity:

  • Channel Rotation - This technique uses all 16 channels for a single instrument, rotating between them for subsequent notes, so that each note can have an independent pitch bend applied to it. For polyphonic music with long sustain of each note, this can still result in audible pitch bend collisions, however.
  • MIDI Tuning Standard (MTS) - Allows for both a bulk tuning dump message, giving a tuning for each of 128 notes, and a tuning message for individual notes as they are played.
  • MIDI Polyphonic Expression (MPE) - Allows controlling multiple parameters independently for each note, including pitch-bend.
  • MIDI 2.0 - Allows for setting the pitch of each note independently, using the "Pitch 7.9" attribute (which overrides the default pitch).