I'm confused about the Midi Tuning Standard. The spec gives some examples of frequency data:
0xxxxxxx 0abcdefg 0hijklmn
xxxxxxx = semitone
abcdefghijklmn = fraction of semitone, in .0061-cent unitsExamples of frequency data:
00 00 00 = 8.1758 Hz (C – normal tuning of MIDI key no. 0)
00 00 01 = 8.2104 Hz
[...]
However,
to the best of my knowledge, 8.2104 Hz differs 7 cents from 8.1758 Hz. How do we arrive at 00 00 01 then?
I would expect a value of 7/0.0061 = 1147 which I think then would result in 00 08 7A instead?
Another way to reach the same confusion is to try the reverse calculation:
00 00 00 -> 8.1758 because 440*(2^((0 - 69)/12)) = 8.1758 (yay!)
00 00 01 should then be 440*(2^(0.0061 - 69)/12)) = 8.1787 (eh? standard example says "8.2104" ??)
Can anyone please clear this up? 
Maybe I completely misunderstand the system?
Thanks!
I just read over the spec, and I also feel that example is wrong.
Also note, your reverse calculation should be
440*(2^(( 0.0061/100 - 69)/12)) = 8.17583
because in the calculation 440*(2^((x-69)/12)), the x value is in semitones, not cents.
Yes, that table entry is wrong. Also, the table entries are rounded wrong — I can't reproduce what they did to get those numbers 😀 , but the correct numbers to four places are:
[code type=markup]
Input  Given      Actual
000000     8.1758     8.1758
000001     8.2104     8.1758
010000     8.6620     8.6620
0c0000    16.3516    16.3516
3c0000   261.6256   261.6256
3d0000   277.1827   277.1826
447f7f   439.9984   439.9984
450000   440.0000   440.0000
780000  8372.0190  8372.0181
780001  8372.0630  8372.0476
7f0000 12543.8800 12543.8540
7f0001 12543.9200 12543.8982
7f7f7e 13289.7300 13289.6566
[/code]
These errors have been there since the beginning yet no one bothered to correct them in the spec manuals.