Frecuencia de las notas musicales


Si tienes que realizar una aplicación que trate con sonido y música, seguro que tarde o temprano tienes que trabajar con las notas musicales.

Un sonido no es más que una vibración del aire que nuestros oidos pueden captar. Un sonido que tiene un determinado tono, depende de la frecuencia a la cual vibra el aire. Las notas musicales son vibraciones de frecuencias determinadas. Por supuesto, en la creación de música intervienen muchos otros factores complejos, como por ejemplo, el timbre.

No obstante, una vibración sinusoidal a una frecuencia concreta, produce un sonido puro que nosotros percibimos como un pitido de un determinado tono.

En el sistema musical occidental, se ha acordado utilizar sólo unas frecuencias concretas, a las cuales llamamos notas.

Este artículo es una introducción básica acerca de la relación entre el tono de una nota musical y la frecuencia a la que vibra el aire cuando escuchamos esa nota.

Hablamos de manera muy elemental acerca de la matemática de ésta relación.
Desde un punto de vista musical, habría que tener en cuenta otras consideraciones, como por ejemplo, que hay distintas convenciones acerca de la afinación, y que muchas músicas del mundo no utilizan éste sistema.

Además, si dos instrumentos emiten la misma nota, cada uno de ellos tiene un timbre distinto: eso significa que ambos hacen vibrar el aire básicamente a la misma frecuencia, pero podemos distinguir uno de otro porque se producen vibraciones secundarias que se suman a la primera y le dan el timbre característico.

Aquí hablamos de la frecuencia fundamental de la nota, la que tiene más fuerza y que define el tono de la nota.

En la música occidental dividimos las posibles frecuencias en porciones que llamamos "octavas", y cada octava en 12 porciones que llamamos notas. Cada nota de una octava tiene exactamente la mitad de frecuencia que la misma nota en la octava superior.

Por ejemplo, las notas do, re y mi en dos octavas distintas... Al escucharlas correlativamente son perfectamente identificables.

Desde el punto de vista de las frecuencias, el do de la quinta octava produce una vibración del aire del doble de frecuencia... es decir, por cada vibración producida con el do de la cuarta octava, el do de la quinta octava produce dos vibraciones.

En el gráfico de arriba está representado un esquema de cómo podrían hacer vibrar el aire dos iguales, por ejemplo, dos notas do, pero de dos escalas consecutivas.

Si la vibración del do de la cuarta octava estuviera representado por la línea roja, un do de la octava siguiente hace vibrar el aire justo el doble de rápido, como en la línea azul.

En el eje X está representado el tiempo (no a escala), y en el eje Y está representada la amplitud de la vibración, la fuerza, por así decirlo, a la que se hace vibrar el aire. La amplitud proporciona el volumen de un sonido, pero la nota viene determinada por la frecuencia, la rapidez con la que se hace vibrar el aire.

A la cantidad de veces por segundo que se produce alguna cosa, como en nuestro caso, a la cantidad de veces que vibra el aire, se le llama un Hercio, o Hertz (abreviado Hz), en honor a Heinrich Rudolf Hertz (1857-1894)

El oido humano capta sólamente frecuencias que estén por encima de los 20Hz y por debajo de los 20.000Hz (muy aproximadamente). Así pues, y con mucha suerte, sólo podemos oir unas 10 octavas como mucho, con doce notas cada una.

Las 12 notas tienen distintas representaciones en el lenguaje musical, pero la diferencia de frecuencia entre cada nota y la siguiente es la que las caracteriza, y las que nos permite identificarla.

Las 12 notas de una octava, están separadas por lo que en música se denomina un semitono, y que es la mínima distancia tonal que puede haber entre dos notas cualesquiera (siempre hablando del esquema básico de la música occidental). Una melodía es una sucesión de "notas", que hacen vibrar el aire a frecuencias distintas.

En realidad, las ondas de sonido se parecen mucho a las ondas que se producen en la superficie del agua cuando tiramos algo, sólo que las ondas de sonido hacen vibrar el aire en todas direcciones desde su origen. Ondas en el agua

Observa que en la imagen de arriba se ve una onda grande que se desplaza en todas direciones, pero hay otras ondas mucho más pequeñas que están alrededor. La onda de arriba se produjo al tirar un palo al agua... las ondas pequeñas se produjeron debido a la forma del palo (con una esfera perfecta no hubieran surgido). En una vibración del aire, esas vibraciones adicionales nos ayudan a reconocer un clarinete frente a un piano, pero la frecuencia de la onda principal nos ayuda a identificar el tono.

La nota La sirve como referencia para todas las demás. A menudo se denomina nota de afinar. Se produce un La de afinar cuando el aire vibra 440 veces por segundo, es decir a 440 hertzios. Por convención, a la octava que contiene esta nota La se le suele considerar la cuarta.

Hay otra nota La, de una "octava" superior (la quinta octava) cuando el aire vibra a 880 hertzios, y otra más cuando vibra a 880*2 (sexta octava), y otra a 880*2*2 (séptima octava), etc, del mismo modo que hay un La que se produce cuando el aire vibra a 440/2 (tercera octava) y otra a 440/2/2 (segunda octava).

Por convención, al La de la cuarta octava se le denomina La4, y análogamente al resto de las notas... con su nombre y el número de la octava en minúscula. Por ejemplo, Re#2 es el Re sostenido (o Mi bemol, que viene a ser lo mismo) de la segunda octava.
Estas convenciones se encuentran estandarizadas desde 1939, y se conoce como Índice Acústico Científico.

Cada octava se extiende a través de un rango de frecuencias que es del doble del tamaño que el rango de frecuencias de la octava anterior

Rango de frecuencias de las octavas

Para hallar la frecuencia de una nota cualquiera mediante una expresión matemática, se suele coger una frecuencia de referencia, por ejemplo el La de afinar (La4, 440 Hertzios) y se multiplica por la raiz duodécima de 2 elevado al número de semitonos que separa el la de afinar de la nota que estamos buscando.

Por ejemplo, si buscamos el Do de la quinta octava (Do5, está separado 3 semitonos por encima del La4. Su frecuencia la podemos calcular multiplicando 440 por la raiz duodécima de 2 elevado a 3. Si buscásemos el Fa4, está cuatro semitonos por debajo del La4. Los semitonos hacia abajo los consideraremos negativos. Así pues, su frecuencia se obtiene multiplicando 440 por la raiz duodécima de 2 elevado a -4.

Con caracter general, una nota n (n=1 para Do, n=2 para Do#... n=12 para Si) de la octava o (o desde 0 hasta 10) tiene una frecuencia f(n,o) que podemos calcular de ésta manera:

fórmula primera

Esta expresión puede ser dificil de codificar en algunos lenguajes de programación, ya que es muy probable que no dispongan de funciones matemáticas para hallar una raíz duodécima. Adaptarla un poco es muy sencillo, ya que la raíz duodécima de 2 se puede calcular como 2 elevado a 1/12, con lo que la expresión quedaría de ésta manera:

fórmula segunda

Aún así es posible que no podamos codificarla si no disponemos de una función que nos permita potencias de cualquier exponente. No obstante, tampoco supone problema. Todos los lenguajes que se precien disponen al menos de una función para hallar logaritmos (por ejemplo, naturales) y otra para hallar potencias de e (la base de los logaritmos naturales).

Una potencia cualquiera, por ejemplo xy puede ser calculada con potencias de e y logaritmos naturales (en realidad, podría hacerse con cualquier base).

Veamos.... Si tenemos una potencia k=xy podemos tomar logaritmos a ambos lados de la expresión y manipularla un poco...

Partimos de ésta expresión:

  • ln(k)=ln(xy)

y la manipulamos un poco aplicando las reglas de manipulación de los logaritmos

  • ln(k)=ln(x)y
  • ln(k)=y·ln(x)

finalmente, tomamos potencias de base e en ambos lados de la ecuación

  • eln(k)=ey·ln(x)

Así que podemos concluir que

  • k=ey·ln(x)

Utilizando esta expresión en nuestra fórmula de la frecuencia para quitarnos de enmedio la potencia, finalmente queda de ésta manera:

fórmula final

Así pues, ya es muy sencillo obtener un pseudocódigo que dada una nota y una octava, nos devuelva la frecuencia, suponiendo que exp(n) sea una función que calcula el valor de en, y ln(n) una función que calcula el logaritmo natural de n, es decir, la operación inversa de la anterior.

frecuencia(nota,octava) = 440.0 * exp(((octava-4)+ (nota-10)/12.0) *ln(2)))

Para esta función, octava es un entero entre 0 y 10, y "nota" es un entero en el rango de 1 a 12, de tal manera que Do=1, Do#=2, Re=3, Re#=4, Mi=5, Fa=6, Fa#=7, Sol=8, Sol#=9, La=10, La#=11, Si=12.

Esta expresión ya puede utilizarse prácticamente en cualquier lenguaje de programación con mínimas capacidades de cálculo matermático. Por ejemplo, en C# podríamos construir un método de éste estilo:

double frecuencia(double nota, double octava) 
  {
     return (440.0 * Math.Exp(((octava-4)+(nota-10)/12.0)*Math.Log(2)));
  }

o en javascript, una función como ésta:

function freq(nota, octava) {
  return 440.0*Math.exp(
    (
      (octava-4)+
      (nota-10)/12.0
    )
    *Math.log(2.0)
  );
}

Ojo: Debemos asegurarnos de que la división se realiza con decimales.

Una prueba:

Tabla de frecuencias

Utilizando ésta última fórmula, hemos construido la tabla que sigue con las frecuencias de las octavas que se utilizan habitualmente en la música occidental. La última octava, la 10 ya tiene notas prácticamente inaudibles.

Octava 0

Nota Frecuencia
Do0 16,351598 Hz
Do#0 17,323914 Hz
Re0 18,354048 Hz
Re#0 19,445436 Hz
Mi0 20,601722 Hz
Fa0 21,826764 Hz
Fa#0 23,124651 Hz
Sol0 24,499715 Hz
Sol#0 25,956544 Hz
La0 27,500000 Hz
La#0 29,135235 Hz
Si0 30,867706 Hz

Octava 1

Nota Frecuencia
Do1 32,703196 Hz
Do#1 34,647829 Hz
Re1 36,708096 Hz
Re#1 38,890873 Hz
Mi1 41,203445 Hz
Fa1 43,653529 Hz
Fa#1 46,249303 Hz
Sol1 48,999429 Hz
Sol#1 51,913087 Hz
La1 55,000000 Hz
La#1 58,270470 Hz
Si1 61,735413 Hz

Octava 2

Nota Frecuencia
Do2 65,406391 Hz
Do#2 69,295658 Hz
Re2 73,416192 Hz
Re#2 77,781746 Hz
Mi2 82,406889 Hz
Fa2 87,307058 Hz
Fa#2 92,498606 Hz
Sol2 97,998859 Hz
Sol#2 103,826174 Hz
La2 110,000000 Hz
La#2 116,540940 Hz
Si2 123,470825 Hz

Octava 3

Nota Frecuencia
Do3 130,812783 Hz
Do#3 138,591315 Hz
Re3 146,832384 Hz
Re#3 155,563492 Hz
Mi3 164,813778 Hz
Fa3 174,614116 Hz
Fa#3 184,997211 Hz
Sol3 195,997718 Hz
Sol#3 207,652349 Hz
La3 220,000000 Hz
La#3 233,081881 Hz
Si3 246,941651 Hz

Octava 4

Nota Frecuencia
Do4 261,625565 Hz
Do#4 277,182631 Hz
Re4 293,664768 Hz
Re#4 311,126984 Hz
Mi4 329,627557 Hz
Fa4 349,228231 Hz
Fa#4 369,994423 Hz
Sol4 391,995436 Hz
Sol#4 415,304698 Hz
La4 440,000000 Hz
La#4 466,163762 Hz
Si4 493,883301 Hz

Octava 5

Nota Frecuencia
Do5 523,251131 Hz
Do#5 554,365262 Hz
Re5 587,329536 Hz
Re#5 622,253967 Hz
Mi5 659,255114 Hz
Fa5 698,456463 Hz
Fa#5 739,988845 Hz
Sol5 783,990872 Hz
Sol#5 830,609395 Hz
La5 880,000000 Hz
La#5 932,327523 Hz
Si5 987,766603 Hz

Octava 6

Nota Frecuencia
Do6 1046,502261 Hz
Do#6 1108,730524 Hz
Re6 1174,659072 Hz
Re#6 1244,507935 Hz
Mi6 1318,510228 Hz
Fa6 1396,912926 Hz
Fa#6 1479,977691 Hz
Sol6 1567,981744 Hz
Sol#6 1661,218790 Hz
La6 1760,000000 Hz
La#6 1864,655046 Hz
Si6 1975,533205 Hz

Octava 7

Nota Frecuencia
Do7 2093,004522 Hz
Do#7 2217,461048 Hz
Re7 2349,318143 Hz
Re#7 2489,015870 Hz
Mi7 2637,020455 Hz
Fa7 2793,825851 Hz
Fa#7 2959,955382 Hz
Sol7 3135,963488 Hz
Sol#7 3322,437581 Hz
La7 3520,000000 Hz
La#7 3729,310092 Hz
Si7 3951,066410 Hz

Octava 8

Nota Frecuencia
Do8 4186,009045 Hz
Do#8 4434,922096 Hz
Re8 4698,636287 Hz
Re#8 4978,031740 Hz
Mi8 5274,040911 Hz
Fa8 5587,651703 Hz
Fa#8 5919,910763 Hz
Sol8 6271,926976 Hz
Sol#8 6644,875161 Hz
La8 7040,000000 Hz
La#8 7458,620184 Hz
Si8 7902,132820 Hz

Octava 9

Nota Frecuencia
Do9 8372,018090 Hz
Do#9 8869,844191 Hz
Re9 9397,272573 Hz
Re#9 9956,063479 Hz
Mi9 10548,081821 Hz
Fa9 11175,303406 Hz
Fa#9 11839,821527 Hz
Sol9 12543,853951 Hz
Sol#9 13289,750323 Hz
La9 14080,000000 Hz
La#9 14917,240369 Hz
Si9 15804,265640 Hz

Octava 10

Nota Frecuencia
Do10 16744,036179 Hz
Do#10 17739,688383 Hz
Re10 18794,545147 Hz
Re#10 19912,126958 Hz
Mi10 21096,163642 Hz
Fa10 22350,606812 Hz
Fa#10 23679,643054 Hz
Sol10 25087,707903 Hz
Sol#10 26579,500645 Hz
La10 28160,000000 Hz
La#10 29834,480737 Hz
Si10 31608,531280 Hz