Here is some code I used to test the values as sent to the sound chip, to see
that I am calculating the correct frequency in the emulator.


#include <stdio.h>
#include <math.h>

void main()
{
  double New,Freq=55.0,Interval;
  int Octave;
  char Names[12][3]={ "A ","A#","B ","C ","C#","D ","D#","E ","F ","F#","G ","G#" };

    for (Octave=1;Octave<8;Octave++)
    {
      printf("Octave %d\n",Octave);
        for (Interval=0.0; Interval<12.0; Interval+=1.0)
        {
          New=pow( 2.0, (Interval/12.0) ); // factor of Intervalth semitone...
          New*=Freq; // base 'A' frequency * factor
          printf("  Note %s Frequency = %lf   ChipValue = %lf\n",
                 Names[(int) Interval],New,125000.0/New);
        }
      Freq*=2.0; // next octave is double the frequency
    }
}

/*
output as generated by the above code...
(The octave numbers may be 1 out)
Frequency is the physical frequency of the sound
ChipValue is the value that should be sent to the sound chip in the BBC to
produce the physical frequency
The chip values were compared to the values sent to the sound chip within
the emulator using the table of sound values from the BBC User Guide

Octave 1
  Note A  Frequency = 55.000000   ChipValue = 2272.727273
  Note A# Frequency = 58.270470   ChipValue = 2145.168892
  Note B  Frequency = 61.735413   ChipValue = 2024.769814
  Note C  Frequency = 65.406391   ChipValue = 1911.128216
  Note C# Frequency = 69.295658   ChipValue = 1803.864832
  Note D  Frequency = 73.416192   ChipValue = 1702.621678
  Note D# Frequency = 77.781746   ChipValue = 1607.060866
  Note E  Frequency = 82.406889   ChipValue = 1516.863471
  Note F  Frequency = 87.307058   ChipValue = 1431.728466
  Note F# Frequency = 92.498606   ChipValue = 1351.371722
  Note G  Frequency = 97.998859   ChipValue = 1275.525055
  Note G# Frequency = 103.826174   ChipValue = 1203.935334
Octave 2
  Note A  Frequency = 110.000000   ChipValue = 1136.363636
  Note A# Frequency = 116.540940   ChipValue = 1072.584446
  Note B  Frequency = 123.470825   ChipValue = 1012.384907
  Note C  Frequency = 130.812783   ChipValue = 955.564108
  Note C# Frequency = 138.591315   ChipValue = 901.932416
  Note D  Frequency = 146.832384   ChipValue = 851.310839
  Note D# Frequency = 155.563492   ChipValue = 803.530433
  Note E  Frequency = 164.813778   ChipValue = 758.431735
  Note F  Frequency = 174.614116   ChipValue = 715.864233
  Note F# Frequency = 184.997211   ChipValue = 675.685861
  Note G  Frequency = 195.997718   ChipValue = 637.762527
  Note G# Frequency = 207.652349   ChipValue = 601.967667
Octave 3
  Note A  Frequency = 220.000000   ChipValue = 568.181818
  Note A# Frequency = 233.081881   ChipValue = 536.292223
  Note B  Frequency = 246.941651   ChipValue = 506.192453
  Note C  Frequency = 261.625565   ChipValue = 477.782054 middle C?
  Note C# Frequency = 277.182631   ChipValue = 450.966208
  Note D  Frequency = 293.664768   ChipValue = 425.655420
  Note D# Frequency = 311.126984   ChipValue = 401.765217
  Note E  Frequency = 329.627557   ChipValue = 379.215868
  Note F  Frequency = 349.228231   ChipValue = 357.932116
  Note F# Frequency = 369.994423   ChipValue = 337.842930
  Note G  Frequency = 391.995436   ChipValue = 318.881264
  Note G# Frequency = 415.304698   ChipValue = 300.983834
Octave 4
  Note A  Frequency = 440.000000   ChipValue = 284.090909 concert A
  Note A# Frequency = 466.163762   ChipValue = 268.146112 
  Note B  Frequency = 493.883301   ChipValue = 253.096227
  Note C  Frequency = 523.251131   ChipValue = 238.891027
  Note C# Frequency = 554.365262   ChipValue = 225.483104
  Note D  Frequency = 587.329536   ChipValue = 212.827710
  Note D# Frequency = 622.253967   ChipValue = 200.882608
  Note E  Frequency = 659.255114   ChipValue = 189.607934
  Note F  Frequency = 698.456463   ChipValue = 178.966058
  Note F# Frequency = 739.988845   ChipValue = 168.921465
  Note G  Frequency = 783.990872   ChipValue = 159.440632
  Note G# Frequency = 830.609395   ChipValue = 150.491917
Octave 5
  Note A  Frequency = 880.000000   ChipValue = 142.045455
  Note A# Frequency = 932.327523   ChipValue = 134.073056
  Note B  Frequency = 987.766603   ChipValue = 126.548113
  Note C  Frequency = 1046.502261   ChipValue = 119.445514
  Note C# Frequency = 1108.730524   ChipValue = 112.741552
  Note D  Frequency = 1174.659072   ChipValue = 106.413855
  Note D# Frequency = 1244.507935   ChipValue = 100.441304
  Note E  Frequency = 1318.510228   ChipValue = 94.803967
  Note F  Frequency = 1396.912926   ChipValue = 89.483029
  Note F# Frequency = 1479.977691   ChipValue = 84.460733
  Note G  Frequency = 1567.981744   ChipValue = 79.720316
  Note G# Frequency = 1661.218790   ChipValue = 75.245958
Octave 6
  Note A  Frequency = 1760.000000   ChipValue = 71.022727
  Note A# Frequency = 1864.655046   ChipValue = 67.036528
  Note B  Frequency = 1975.533205   ChipValue = 63.274057
  Note C  Frequency = 2093.004522   ChipValue = 59.722757
  Note C# Frequency = 2217.461048   ChipValue = 56.370776
  Note D  Frequency = 2349.318143   ChipValue = 53.206927
  Note D# Frequency = 2489.015870   ChipValue = 50.220652
  Note E  Frequency = 2637.020455   ChipValue = 47.401983
  Note F  Frequency = 2793.825851   ChipValue = 44.741515
  Note F# Frequency = 2959.955382   ChipValue = 42.230366
  Note G  Frequency = 3135.963488   ChipValue = 39.860158
  Note G# Frequency = 3322.437581   ChipValue = 37.622979
Octave 7
  Note A  Frequency = 3520.000000   ChipValue = 35.511364
  Note A# Frequency = 3729.310092   ChipValue = 33.518264
  Note B  Frequency = 3951.066410   ChipValue = 31.637028
  Note C  Frequency = 4186.009045   ChipValue = 29.861378
  Note C# Frequency = 4434.922096   ChipValue = 28.185388
  Note D  Frequency = 4698.636287   ChipValue = 26.603464
  Note D# Frequency = 4978.031740   ChipValue = 25.110326
  Note E  Frequency = 5274.040911   ChipValue = 23.700992
  Note F  Frequency = 5587.651703   ChipValue = 22.370757
  Note F# Frequency = 5919.910763   ChipValue = 21.115183
  Note G  Frequency = 6271.926976   ChipValue = 19.930079
  Note G# Frequency = 6644.875161   ChipValue = 18.811490
*/
