Join us on May, 23, 2020 at 10 AM US Pacific Time, 6 PM London, England for the "MIDI 2.0 for Developers" webinar!
At the time of the event, simply go to https://www.midi.org/live and click the "Go Live!" button.
And yes, I'm fully aware of the tuning standard. I've been using MIDI in many ways since the late eighties.
I even bought the MIDI 1.0 standards book plus GM2 from the MMA before it became available as a pdf file.
I've been using the one note of the octave to a MIDI channel (as taught by John Sankey 'Harpsichordist to the Internet) for many years in order to get alternate tunings and up to 16 notes per octave (usually enough). But very difficult to play in due to the limitations of twelve note per octave keyboards.
The MMA way of doing things has always seemed rather complicated, especially so when compared to the SCALA method of specifying tunings.
This method is used, for example, in the Abbey Road Yamaha CFX, and is IMV a very easy one to grasp and implement.
This is the 'advanced' window with the appropriate areas highlighted.
One can not only easily set a temperament by choosing the scale in a Scala .scl file but also the pitch of A and the centre of tuning.
Here's the selection of a few scala files.
Here is an example of the definition of Pythagorean 12 note scale, all in ratios,
"Simply adding an optional extra two bit value to the MIDI note number would have allowed e.g. 00H for E.T., 01H for true sharp, 10H for true flat.
No need here for 64 bit values!"
Those 2 bits might have been fine for Western classical music, but one of the goals of MIDI 2.0 was to increase the capability of both non-keyboard implementations and also non classical 12 tone Western traditional scales. For that we need much more precise control of pitch.
Also many, many modern MIDI tone generators have internal tuning tables which allow you to select a key (for example E flat) and select Pure Major or Minor intonation.
Here are the scale choices from a popular synth's manual.
The “compromise” tuning used for most of the last 200 years of Western music, and found on most electronic keyboards. Each half step is exactly 1/12 of an octave, and music can be played in any key with equal ease. However, none of the intervals are perfectly in tune.
This tuning is designed so that most of the intervals (especially the major third and perfect fifth) in the major scale are pure. This means that other intervals will be correspondingly out of tune. You need to specify the key (C – B) you will be playing in.
The same as Pure Major, but designed for the minor scale.
Andreas Werckmeister, a contemporary of Bach, designed this tuning so that keyboard instruments could be played in any key. Each key has a unique character.
Johann Philipp Kirnberger, an 18th century composer, created this tempered scale to allow performances in any key.
Francescatonio Vallotti and Thomas Young (both mid-1700s) devised this adjustment to the Pythagorean tuning, in which the first six fifths are lowered by the same amount.
This is the normal equal tempered scale shifted up 50 cents.
Twenty-four equally spaced notes per octave. (Play twenty-four notes to move one octave.)
Forty-eight equally spaced notes per octave. (Play forty-eight notes to move one octave.)
Usually observed in Indian music (white keys only).
Usually observed in Arabic music.
So the reality is that for many products this is simply not an issue and has already been addressed in other ways.
Here is the section of the MIDI 2.0 specification that deals with Pitch
4.2.14 MIDI 2.0 Notes and Pitch
The MIDI 2.0 Protocol preserves all the tuning definitions of the MIDI 1.0 Protocol, including Note Number, MIDI Tuning Standard, Master Tuning RPN 01 and RPN 02, and Pitch Bend. In addition, the MIDI 2.0 Protocol adds new mechanisms for Per-Note Tuning and Pitch control.
Pitch of a Note is determined by any combination of the following message components, some of which override (take priority over) others:
• Messages that Set the Default Pitch as done in the MIDI 1.0 Protocol (pitch is only roughly defined):
• Note On with Note Number
• Messages that Set Pitch (override Default) with Persistent State for Subsequent Note Ons:
• MIDI Tuning Standard
• Registered Per-Note Controller #3: Pitch 7.25
• Messages that Set Pitch (override Default) for One Note Only:
• Note On With Attribute #3 Pitch 7.9
• Messages that Modify Pitch Relatively from Any Existing Pitch State:
• Master Tuning RPN 01 and RPN 02
• Per-Note Pitch Bend
• Pitch Bend
220.127.116.11 MIDI Tuning Standard
The MIDI 1.0 Protocol and the MIDI 2.0 Protocol both support the existing MIDI Tuning Standard, which is formatted as a System Exclusive message. For fundamental functions and details of MIDI Tuning Standard, see the MIDI 1.0 Specification [MMA01].
It is easy to imagine a future application that uses the Registered Per-Note Controller #3: Pitch 7.25 (which is persistent so you would only have to send the controllers once) and has tables of different scalar settings to do "sharps and flats". It is also more than possible that type of functionality would be integrated into DAWs and PlugIns in the future.
There are more ways to control Pitch in MIDI than ever before, but we also maintained backwards compatibility with MIDI 1.0.
THE MIDI ASSOCIATION (TMA)
The community of people who work, play and create with MIDI
Very, very disappointed to see, amongst all this innovation, that one of the basic needs of allowing the differences between sharps and flats to be recognised, is being completely ignored by the MMA. For those not in the know, sharps and flats are only the same on fixed pitch instruments like the piano, strings are able to play the 1/55 octave division difference, or whatever, according to temperament.
Frequency is one of the areas, unlike volume/loudness, where the ear is most sensitive, hence the pitch bend wheel being singled out as the only controller to have 14 bits allocated in the original MIDI specification.
A question about this was deemed unsuitable for considering during the webinar. May I ask "Why?"
To me this seems a major oversight by the designers of MIDI 2.0.
Simply adding an optional extra two bit value to the MIDI note number would have allowed e.g. 00H for E.T., 01H for true sharp, 10H for true flat.
No need here for 64 bit values!
Here was an opportunity to address the well worn topic of tuning and temperament and allow composers and players alike to enjoy some of the musical freedoms of our forebears.
Sure, I can apply microtonal adjustments of pitch bend to every note in an SMF if I so choose, but it's massively labour intensive.
Surely there needs to be an industry standard way of specifying accidentals conforming to a specific temperament. Yes, I'm aware of applying an attribute to a note according to the new UMP format and adding pitch information above the note.. This doesn't really address the issue IMV
From Peter Prelleur's (1705 -1741) art of playing on the violin.
Come on MMA.
(I hear Bach turning in his grave and tearing up his Wohltemperirte Clavier!)