Re: Calculating the sine wave frequencies from the midi key

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Oct 19, 2008 at 08:00:26PM +0300, Arda Eden wrote:

> note_frqs[i] = (2.0 * 440.0 / 32.0) * pow(2,
> (((jack_default_audio_sample_t)i - 9.0) / 12.0)) / srate;
> 
> I couldn't catch the relationship in the calculation above.

Midi note numbers are just a count in semitones.
There are twelve semitones in an octave, which
is a frequency ratio of 2:1.

So given two note numbers that are N semitones apart,
the ratio of their frequencies is

2 ^ (N / 12), or in C:  pow (2.0, N / 12.0)

Now MIDI note number 9 (an 'A', note number 0 is the 'C'
below that) has the frequency 880 / 32 Hz, five octaves
below the 880 Hz 'A'.

So to get the scale right we use

F = 880.0 / 32 * pow (2.0, (i - 9) / 12.0)

For i = 9 this becomes 

F = 880.0 / 32 * pow (2.0, 0)
  = 880.0 / 32 * 1
  = 880.0 / 32

as required.

Ciao,


-- 
FA

Laboratorio di Acustica ed Elettroacustica
Parma, Italia

Lascia la spina, cogli la rosa.

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux