Hi All,
"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.
It is already possible to do what John is requesting using the MIDI Tuning Standard in MIDI 1.0. Please see this excellent article by Jackie Ligon.
microtuning-and-alternative-intonation-systems
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.
Equal
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.
PureMajor
C–B
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.
PureMinor
C–B
The same as Pure Major, but designed for the minor scale.
Werckmeist
C–B
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.
Kirnberger
C–B
Johann Philipp Kirnberger, an 18th century composer, created this tempered scale to allow performances in any key.
Vallot&Yng
C–B
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.
1/4 Shift
—
This is the normal equal tempered scale shifted up 50 cents.
1/4 tone
—
Twenty-four equally spaced notes per octave. (Play twenty-four notes to move one octave.)
1/8 tone
—
Forty-eight equally spaced notes per octave. (Play forty-eight notes to move one octave.)
Indian
—
Usually observed in Indian music (white keys only).
Arabic 1
C–B
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
4.2.14.1 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.