sábado, abril 09, 2011

Experiencias Intentando Aprender a Tocar Piano (I)

Experiencias Intentando Aprender a Tocar Piano (I)


Primero aclarar que no soy experto en piano, ni en música, en este primer artículo sobre el tema tan sólo quiero presentar mi poca experiencia y como he llegado a comprender algunas cosas sobre la música que me parecen interesantes para compartir, y por supuesto el artículo incluye un poco de matemáticas y otro poco de programación :-).

Creo que todos conocemos las notas musicales: Do, Re, Mi, Fa, Sol, La, Si. Así empezó todo hace mucho tiempo. Desde pequeño vemos en la televisión que en uno u otro programa las menciona sin ser necesariamente un programa que trate sobre música. Luego como 20 años después cuando ya tuve acceso a Internet y a las computadoras leí este artículo que explica sobre las notas musicales, Wikipedia.

Regresando al pasado, mientras estaba aún en secundaria llegó a mis manos un libro de la colección LIBROS DE ORO DEL SABER llamado MATEMÁTICAS edición de 1979, viejo pero considero que aún hoy día su contenido es excelente.

En dicho libro hay un capítulo llamado "Las Matemáticas y la Música", tremenda exposición en dos páginas con ilustraciones sobre como las vibraciones producen cada nota musical, inicia explicando que el número de vibraciones por segundo se llama frecuencia y se mide en Hertz. Luego explica la relación matemática de las frecuencias de cada nota en una escala musical escogiendo como base una cuerda que vibra 256 veces por segundo (o sea a 256 Hz) siendo esta la nota DO, y después de unos cuantos párrafos de explicación sobre notas dominantes, niveles y tónicas, todo se resume a lo siguiente:

Sea:

DO = 256 Hz

Entonces, la frecuencia correspondiente a las otras notas, en función del DO en la misma escala se puede calcular así:

RE = 9/8 del DO = 288 hz

MI = 81/64 veces el DO = 324 hz

FA = 171/128 veces el DO = 342 hz

SOL = 3/2 del DO = 384 hz

LA = 27/16 veces el DO = 432 hz

SI = 243/128 veces el DO = 486 hz

Y el siguiente DO:

DO2 = 2 veces el DO original = 512 hz

En el fondo todo está en relación a 3/2 para encontrar las notas dominantes. Para ampliar más al respecto puede leer: La música vista por un matemático. Hay algo también en la Wikipedia, o por supuesto el libro originalmente mencionado.


Fue interesante leer eso en su momento, pero yo no tenía teclado (piano), ni computadora para comprobarlo. Varios años después en la universidad, mientras estudiaba programación con lenguaje C, usando el famoso compilador Turbo C++ de Borland, por unos compañeros haciendo prácticas extraclase, llegué a conocer la función sound de la biblioteca dos.h, que super interesante, recibía como parámetro la frecuencia en la cual el speaker interno del CPU emitiría un sonido, inmediatamente recordé el artículo de frecuencias que había leído hace algún tiempo busqué el librito y cuando tuve tiempo hice mi experimento:

(Como dice un amigo: "En C todo se puede!")

#include<stdio.h>
#include<dos.h>


int main()
{
long int DO=256;

sound(DO);  // do
delay(600);

sound(9*DO/8);//re
delay(600);

sound(81*DO/64);//mi
delay(600);

sound(171*DO/128);//fa
delay(600);

sound(3*DO/2);//sol
delay(600);

sound(27*DO/16);//la
delay(600);

sound(243*DO/128);//si
delay(600);

sound(2*DO);//do
delay(600);
nosound();

return(0);

}

Para escribir este artículo fui a buscar a mi respaldo de la universidad el programa, y dado que esa versión del compilador prácticamente no se usa fue necesario hacer unos ajustes para compilarlo nuvamente en las versiones actuales de C para Windows, por si alguien lo desea probar aquí está:

#include <windows.h>

int main(int argc, char *argv[])
{
int DO=256;

Beep(DO, 600);
Beep(9*DO/8, 600);//re
Beep(81*DO/64, 600);//mi
Beep(171*DO/128, 600);//fa
Beep(3*DO/2, 600);//sol
Beep(27*DO/16, 600);//la
Beep(243*DO/128, 600);//si
Beep(2*DO, 600);//do

return 0;
}

/*
http://msdn.microsoft.com/en-us/library/ms679277.aspx
*/



(Probado con wxDev-C++).



Luego estuve trabajando en un piano, pero por tiempo nunca lo terminé, adjunto a continuación todo los fuentes mencionados quizás alguien lo termina:

Descargar fuentes.