Apple_Logic_Tuning_Data

advertisement
The MIDI sysex, described below, is recommended for sending tuning data from hosts
to plug-ins. Apple-Logic actually sends its tuning messages by this data.
Note:
For plug-ins possessing own tuning means, either tuning tables or Hermode Tuning, it
is recommended that incoming tuning messages will have priority.
Additionally for plug-ins it is recommended to reset the tuning to equal temperament
at every new start. This is to avoid an out-of-key tuning, basing on the last incoming
tuning message.
MIDI Standard: SINGLE NOTE TUNING CHANGE (Real-Time)
F0 7F <device ID> 08 02 tt
F0 7F
<device ID>
08
02
tt
ll
F7
ll
(kk xx
yy
zz) F7
Universal Real Time SysEx header
ID of target device
Sub-ID#1 (MIDI Tuning Standard)
Sub-ID#2 (02H, note change)
tuning program number (0-127)
number of changes (1 change = 1 set of (kk xx yy zz))
kk = MIDI key number
xx yy zz = frequency data for that key (repeated „ll“ number of times)
EOX
Regarding tt (tuning program number):
The inventors of this data have been in doubt whether it could be useful to equip musical
instruments with different tuning tables. But as this doesn’ t make many sense, all actual
tuning applications send only one tuning table at the same time. Therefore, it isn’t necessary
to support tt.
Apple-Logic sends its tuning tables in principal with the following values:
<deviceID> = 7F
tt
= 00
The message is composed of both the following parameters:
1. The level of master tune (higher or lower than A = 440 Hz)
2. The individual tuning deviation from each note to a higher or lower position than with
equal temperament.
The level of master tune and the value of the individual deviation of each note from equal
temperament are added and exported with the values of “xx yy zz”.
Every new message will substitute the previous one. Every message retunes only the notes,
named by “kk”, the other notes keep their frequency.
For dynamic retuning messages, calculated by tuning programs, e.g. Hermode Tuning, it is
sufficient to send only the tuning messages of the notes having the status “On”.
For retuning messages caused by changes of master tune or by new selected fixed tuning
tables it is necessary to send a message for all 128 Midi notes.
How to set the values of kk xx yy zz
kk marks the Midi note number which has to be retuned.
xx tunes this Midi note number kk to the frequency values of MIDI note xx in equal
temperament. For example: xx = 45 controls the note kk to an A of 440 Hz, xx = 3C controls
the note kk to a C of about 261.6256 Hz.
The bytes yy and zz add microtuning values as plus-offsets to the value of xx. Their range of
128 * 128 = 16,384 steps corresponds to 100 Cents.
Remark:
MIDI defines the value of xx yy zz = 7F 7F 7F as “No change”. This is to prevent instruments
which do not use the full range of 128 Midi key numbers from sending erroneous tuning data
to instruments which do use the full range.
An example
Supposed the master tune level is set 7 Cents higher than A = 440 Hz, this corresponds to
an A of about 441.78 Hz.
Additionally the following notes have to be retuned:
− Midi note 3C, individually tuned to + 4 Cents (4 Cents higher than with equal
temperament).
− Midi note 40, individually tuned to - 10 Cents (10 Cents lower than with equal
temperament).
As a result of the addition of master tune and of the individual tuning values, these notes
will have the following distances to the level of equal temperament at 440 Hz
−
Midi note 3C = + 11 Cents
−
Midi note 40 = - 3 Cents
So the tuning message has to be:
F0 7F 7F 08 02 00 02 (3C 3C 0E 0A) (40 3F 7C 14) F7
Download