 # Converting Notes to Frequencies Email
 Submitted on: 1/6/2015 3:18:00 PM By: Lawilog (from psc cd) Level: Beginner User Rating:     By 9 Users Compatibility: C, C++ (general), Microsoft Visual C++, Borland C++, UNIX C++ Views: 5661

here i describe how can convert notes used in music (like c, d, e, f, g, a, b, c sharp, g flat,...) into frequencies you can use e.g. for the pc-speeker or whatever you like. if you think it's usefull, please vote!

 ``` Converting Notes to Frequencies OK. To calculate any frequency, you need to know three things: First: The fact, that a tone (note ?, i'm from germany...), that sounds one octave higher has a dobbeld frequency.So, if e.g. C has a frequency of 264 Hz, C one octave higher has 264 Hz * 2 = 528 Hz...still one octave higher it is 528 Hz * 2 = 1056 Hz - and so on. Second, you need a start frequency of one special tone to create a function that calculates all the others. e.g. ("concert pitch") A = 440 Hz And last but not least: in music it is said, that one octave has 12 halftones. (7 white and 5 black keys ;-)... ) Now, it is up to you, which halftone you suppose your concert pitch to be. On an normal (non-professional) piano keyboard concert pitch A would be the 58th one. which means, that there are still 4 lower octaves. (A is the 10th out of the 12, and 10 + 4*12 = 58) ...all these mathamitical and musical theorie, sorry... Growing exponentially, the function has the following form: f(n) = k * a^n. You know, the 58th halftone has a freq of 440. One octave higher, the 70th halftone (58+12=70) has a dobbeled freq of 880. good. that means: 440 = k * a^58 and 880 = k * a^70 Now you transform both equqtions to "k = ...", set them equal, and calculate a with 2^(1/12). Now you use the caclulated a in one equation to get k with 440 * 2^(-58/12). Now, you have your equation f = 440 * 2^(-58/12) * (2^(1/12))^n which is equal to: f = 440 * 2^((n - 58)/12) And that's it ! I will give you some examples: note / tone n frequency in Hz ......... B (one octace below)48246.9 C49261.6 C sharp (D flat)50277.2 D51293.7 D sharp (E flat)52311.1 E53329.6 F54349.2 F sharp (G flat)55370.0 G56392.0 G sharp (A flat)57415.3 A58440 A sharp (B flat)59466.2 B60493.9 C (next octave)61523.3 ......... So far, so good. Now, it is up to you, to create a code, that can play meldoies. Maybe you would like to have a function first, that converts the note-string ("c", "g", "d flat", "g sharp",...) to a frequency. Than you may need a good way of storing the melodie-data (with note length and so on); a playing engine; even a midi-driver is possible... :D But this is not what I am going to do for you. :D```

Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

(The article with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)