FECHA DEL INFORME: 10/12/20141 Proyecto final: Afinador de instrumentos Laura L. Lugo, C´odigo 223569 David Sanabria, C´odigo 25441304 Estudiantes, Universidad Nacional de Colombia
[email protected] [email protected] Resumen—Este documento describe el desarrollo de una aplicaci´on para la afinaci´on de instrumentos musicales, el cual es capaz de identificar los sonidos producidos por un instrumento. El funcionamiento del afinador a desarrollar se compone b´asica˜ mente por tres etapas; la primera es el procesamiento de la senal, la segunda corresponde a la identificaci´on de la nota musical y la ´ ultima corresponde a la afinaci´on de una nota respectiva. Dicha ˜ ˜ aplicaci´on es disenada en el a´ mbito del estudio de las senales y los sistemas, utilizando el paquete de software de MATLAB. Abstract—This paper describes the development of an application for tuning musical instruments, which is able to identify the sounds produced by an instrument. Tuner Operation develop basically consists of three stages; The first is the signal processing, the second corresponds to the identification of the musical note and the latter corresponds to the pitch of a respective notes. This application is designed in the field of the study of signals and systems, using the software package MATLAB. ´ I. I NTRODUCCI ON L estudio de las se˜nales y sistemas permite el procesamiento y an´alisis de las variaciones producidas por una gran variedad de fen´omenos f´ısicos, la comprensi´on del proceso de soluci´on de un problema que incluya la captaci´on y administraci´on de una se˜nal f´ısica es esencial para afianzar los conocimientos previamente adquiridos sobre este tema. Este documento muestra el desarrollo de un afinador de cualquier instrumento musical, poniendo en pr´actica la teor´ıa de se˜nales y sistemas, para el reconocimiento de notas producidas e interpretadas como se˜nales de audio provenientes de ondas sonoras. Adem´as, esta aplicaci´on tendr´a la capacidad de reconocer y clasificar algunas de las notas producidas por una guitarra para posteriormente indicar su afinaci´on correcta o simplemente reconocer una nota como perteneciente a una frecuencia aceptada dentro de las diferentes escalas musicales que se manejan. Para el desarrollo de la aplicaci´on se har´a uso de un software para computador llamado MATLAB, es un lenguaje de alto nivel y un entorno interactivo para el c´alculo num´erico, visualizaci´on y programaci´on. Puede analizar los datos, desarrollar algoritmos y crear modelos y aplicaciones. Adem´as, se har´a uso de las herramientas te´oricas adquiridas en el curso de se˜nales y sistemas, tomado en la Universidad Nacional de Colombia, tal como la transformada de Fourier que facilitara la identificaci´on de las notas musicales mediante la frecuencia que emite la onda sonora. E II. notas musicales; Do, Re, Mi, Fa, Sol, La, Si equivalentes a C, D, E, F, G, A, B respectivamente en el sistema ingl´es. Entre cada nota hay una separaci´on de dos semitonos, excepto para los intervalos Mi-Fa y Si-Do que est´an separados por un tono. Entre esta separaci´on de dos semitonos existen las notas sostenidos y bemoles, completando as´ı 12 notas musicales. La frecuencia dada en Hertz (Hz) de las notas est´a estandarizada internacional mente, gui´andose por la frecuencia de La4 (440Hz) por ser esta una nota de gran estabilidad. A partir de esto se establece una relaci´on matem´atica para le determinaci´on de frecuencias de las dem´as notas musicales: En donde ”440Hz.es la frecuencia del ”La”fundamental, ”n.es la nota (n=1 para Do, n=2 para Do#, ..., n=12 para Si) y ”p.es la octava en la que se encuentra (p=1 hasta p=7). f (n, p) = 440Hz × 2(p−4)+ Adem´as en la m´usica existen unas formas llamadas escalas musicales, compuestas generalmente por 8 notas musicales con ciertos intervalos de separaci´on para cada nota. Existiendo escalas mayores y menores y otras escalas con diferentes intervalos. • Afinador: Un afinador es un dispositivo utilizado en el contexto musical para calibrar las frecuencias de las notas musicales utilizadas en los diferentes instrumentos, normalmente funcionan indicando si la nota est´a con frecuencia m´as alta o frecuencia m´as baja de lo necesario con respecto a una estandarizaci´on internacional. Los afinadores pueden variar en complejidad, desde la detecci´on de una sola nota (La 440Hz), la detecci´on de solamente las 6 notas de las cuerdas de la guitarra y la afinaci´on crom´atica que detecta las 12 notas musicales en sus diferentes octavas. La mayor´ıa de los afinadores ´ M ARCO T E ORICO • Conceptos musicales b´asicos: Una nota musical es un sonido determinado por una frecuencia sonora fundamental que es constante. Hist´oricamente se reconocen 7 (n−10) 12 Figura 1. Interfaz de afinador crom´atico las ondas al viajar generan vibraci´on en las part´ıculas del medio. la duraci´on que es el tiempo que dura el sonido. medida con una magnitud llamada fonio.99 Cuerda 2. M i2 que son respectivamente 329. en este caso un micr´ofono se reconoce la presencia de un sonido emitido y se procede a grabarlo para almacenarlo como informaci´on.88 Cuerda 3.406Hz)hastaelM i6 (1318. Re3 . La2 . Si3 . cuando al pulsar alguna cuerda de la guitarra. traste 6 F a# 369.25 Cuerda 5.13 Cuerda 3. se trat´o de realizar la aplicaci´on bas´andose en estos pasos. que dividen sus operaci´on en recepci´on del sonido. III-A. Entonces se le aplica la transformada de Fourier a la se˜nal de entrada para representarla en el dominio de frecuencia y poder trabajar esta se˜nal con m´as facilidad. traste 8 Do# 554. traste 8 Sol# 415. esta cuerda vibra y genera una onda sonora con una frecuencia espec´ıfica que se propaga en el medio por la vibraci´on de las part´ıculas con cierta amplitud. ya que en esta octava se encuentre la nota La4 que tiene frecuencia de 440Hz y es la nota utilizada para la afinaci´on de todos los instrumentos musicales 2 Figura 2. tratamiento de este sonido como una se˜nal.30 Cuerda 1.37 Cuerda 3. Detecci´on: Por medio de un dispositivo de hardware. 2. La guitarra maneja un rango de aproximadamente 4 octavas. estos se pueden identificar por medio de diferentes caracter´ısticas como la altura que es percibida como grave o aguda dependiendo de la frecuencia del sonido. Sol3 .23 Cuerda 2. traste 7 Re# 311. se encuentran en el intervalo de sensibilidad del o´ıdo humano. Las ondas sonoras generan sonidos. se debe establecer la frecuencia correcta de cada nota musical. an´alisis de esta se˜nal y salida de informaci´on correcta al usuario.63 Cuerda 2. traste 5 Fa 349. Generaci´on del sonido: Este es un fen´omeno f´ısico. la intensidad que es la cantidad de energ´ıa que tiene el sonido y el timbre que distingue a los diferentes instrumentos musicales y al tono de voz de las personas.00 Cuerda 3. traste 5 La# 493. traste 7 Sol 392. se deben tener en cuenta ciertos pasos a seguir. se decidi´o trabajar con las notas pertenecientes a la cuarta octava. que es dese 20Hz hasta 20000Hz. un circuito electr´onico para detectar la frecuencia y un display que indica la afinaci´on. Es por esto que los afinadores deben tomar un promedio de los registros guardados para tener una mayor veracidad de que la afinaci´on que est´a siendo indicada es la correcta.63Hz. que distinguen el sonido de un instrumento del de los dem´as y le dan su timbre particular.6Hz). Existen ondas infras´onicas. produciendo cambios de densidad y de presi´on. Cuadro I TABLA DE FRECUENCIAS DE LAS 12 NOTAS DE LA CUARTA OCTAVA Nota Frecuencia [Hz] Posici´on en la guitarra Do 523. Frecuencia b´asica para cada nota musical y arm´onicos Para la aplicaci´on de afinaci´on de guitarra y detecci´on de ciertas notas musicales. que analiza las frecuencias en una se˜nal muestreada. ultras´onicas y audibles. Estas ondas viajan a trav´es de cualquier medio material con una velocidad dependiente de las propiedades del medio. Las ondas audibles. Para la parte de detecci´on de notas.FECHA DEL INFORME: 10/12/2014 funcionan con un micr´ofono o un jack de input. empezando desde el M i2 (82.83Hz. traste 8 Mi 329. 82. A partir de estas etapas se establecieron unos pasos a seguir para el desarrollo de la aplicaci´on: 1. Teniendo en cuenta que cada instrumento musical presenta un patr´on de arm´onicos distinto. traste 7 III. La onda generada por un instrumento musical es de gran complejidad debido a que la frecuencia principal viene acompa˜nada de sus arm´onicos adem´as de los diferentes ruidos externos. 4. por lo que este instrumento cuenta con entre 43 y 49 notas musicales. 196Hz. La percepci´on de intensidad de sonido de estas ondas es conocida como la sensaci´on de sonoridad.67 Cuerda 3. Bas´andose en los afinadores de guitarra existentes en el mercado. originando regiones conocidas como condensaciones y rarefacciones. 110Hz. Generalmente se maneja una precisi´on de +0. Manipulaci´on de la se˜nal: Para el tratamiento de la se˜nal se utiliza la transformada de Fourier.25 Cuerda 3. dentro de las 12 existentes con sus diferentes valores en el rango de octavas que tiene el instrumento.41Hz.94Hz. que son las de importancia en este proyecto. • Ondas sonoras: Una onda sonora es una onda que se transmite en un medio el´astico y continuo y se asocia con un sonido. siendo los arm´onicos frecuencias m´ultiplos de la frecuencia fundamental una nota. 3. traste 9 Re 293. traste 4 La 440.1Hz o menor para afinadores m´as costosos. ˜ Y E TAPAS D ISE NO Etapas de aplicaci´on Para el desarrollo adecuado de la aplicaci´on. traste 6 Si 523. que hacen este desarrollo mucho m´as eficiente y completo y dan un orden de trabajo espec´ıfico.00 Cuerda 2. An´alisis: Se desarrolla un c´odigo en el programa MATLAB que utilice las se˜nales de entrada en el dominio del tiempo para verificar su frecuencia y compararla . 146. Para la afinaci´on del instrumento se deben tener las 6 frecuencias de las notas M i4 . Frecuencia de las respectivas notas de la guitarra. 246. Fs.FECHA DEL INFORME: 10/12/2014 3 con las frecuencias de las 12 notas fundamentales escogidas o con las frecuencias de las notas de las 6 cuerdas de la guitarra. Esta funci´on devuelve el n-´esimo punto de una Transformada Discreta de Fourier DFT. Figura 3. si es u´ til guardar la se˜nal para poder comprobar y verificar los resultados. C´odigo de la aplicaci´on Afinaci´on y detecci´on de notas Luego de tener las se˜nales recibidas en el dominio del tiempo por medio del uso de la transformada de Fourier se procede a definir la afinaci´on de los datos obtenidos. Detecci´on de la se˜nal El software MATLAB presenta funciones para la grabaci´on de se˜nales de audio. y = waverecord(t*Fs. Resultado: Finalmente se muestra un resultado del an´alisis al usuario. Figura 4. Fs. wavrecord(t*Fs.Ch) Luego de tener la funci´on grabada se guarda la grabaci´on. Si se capta que la nota recibida tiene una frecuencia m´as baja a la deseada. La interfaz muestre las opciones de grabar un Figura 5. A wavwrite(y. Esta es una funci´on que implementa la transformada de Fourier o la transformada inversa a un arreglo X con un tama˜no n. 5. Se detecta la cuerda que se desea afinar y la interfaz muestra cual es la cuerda que se est´a afinando en cierto momento. Uso de la Transformada de Fourier Luego de tener la se˜nal grabada y capturada en el programa se procede a sacarle la Transformada de Fourier a esta se˜nal por medio de una funci´on que posee MATLAB llamada FFT.Fs. siendo la de m´as arriba la cuerda m´as aguda M i4 y la de m´as abajo la m´as grave M i2 . aunque para usarla en el c´odigo de la afinaci´on no es necesario guardarla ya que la se˜nal queda como un archivo que se procesa inmediatamente. Se utiliza la funci´on WAVWRITE. Esta funci´on cuenta con los siguientes par´ametros: 1. en el caso contrario que la nota tiene una frecuencia m´as alta que la deseada la interfaz muestra que se debe distensionar la cuerda. Se˜nal original transformada. III-E. • Frecuencia de muestreo. • Nombre con el que se guarda la se˜nal grabada. III-D. 2 para stereo). indic´andole en una interfaz gr´afica si la nota que ha sido pulsada tiene la afinaci´on correcta o indicando la nota que ha sido reconocida III-B. que significa Fast Fourier Transform o Transformada de Fourier R´apida.n) • X: Es un arreglo • n: Es el tama˜no del arreglo X. sonido para que este sea analizado y muestre su afinaci´on. el programa en la interfaz muestra que se debe tensionar la cuerda. • Frecuencia de muestreo. Se utiliza el pico m´as cercano para que la transformada realice un ajuste alrededor de este. muestra en el costado superior derecho la se˜nal de entrada. B fft(X. Se˜nal original. La aplicaci´on del programa por medio de una interfaz que tiene como fondo el m´astil de una guitarra ac´ustica con sus 6 cuerdas. • Tipo de canal(1 para mono. . en el costado izquierdo la se˜nal de entrada en el dominio del tiempo y en la parte superior la frecuencia de la nota pulsada y la nota que pertenece a esta frecuencia. filename) • Dato almacenado en la variable y. Modelo base de la interfaz utilizada en la aplicaci´on. III-C. la funci´on utilizada para grabar las notas producidas por la guitarra es WAVRECORD. Ch) • Tiempo en segundos de captura de la se˜nal. la salida sera entonces. Figura 7. Para estas dos funcionalidades. la se˜nal de una nota musical con su respectiva frecuencia correspondiente. Para poder calcular la frecuencia maxima del sonido almacenado. es necesario de un previo an´alisis de los sonidos a identificar. el siguiente paso es un analisis a travez de la herramienta MATLAB. El ruido se conoce como una mezcla aleatoria de longitudes de onda. basados en el intervalo de frecuencias correspondientes a cada nota (ver I). Una vez obtenida la se˜nal. Figura 6. obtenemos un arreglo con valores complejos. tambien unos botones que permiten grabar el sonido a analizar. dependiendo el caso. y asi informar al usuario para que pueda afinar su guitarra. podemos obtener otro arreglo ahora no con la informacion de la grabacion. Para el reconocimiento de notas. en este caso el sonido. se crean mas arreglos que son empleados para un ajuste polinomial. para la grabaci´on de la se˜nal se tiene en cuenta que e´ sta posee una frecuencia. pues una mala se˜nal de entrada alterar´ıa por completo el proceso . la entrada en este caso corresponde a una se˜nal de la nota que se quiere analizar. se le asignar´a una cantidad de bits y un canal. la siguiente. para este caso en particular. Con dicha grabacion y usando un analisis usando transformada de fourier. se almacena en un arreglo con la infomacion corresponiente a el sonido con el fin de su posterior analisis. (ver figura 7 y 8 Interfaz de la aplicacion) Alli se muestra la guitarra de fondo. El programa sabr´a la diferencia entre la frecuencia recibida y una nota correspondiente a la frecuencia mas cercana. la primera es la relacionada al afinador de cuerdas. Como toda aplicaci´on moderna. el valor de frecuencia debe ser verificado y validado por el programa. lo que afecta directamente la se˜nal. esta cuenta con un entorno grafico para la facilidad y el manejo de la misma. el programa simplemente comparara la frecuencia de la se˜nal de entrada con una nota del intervalo. Es el mayor riesgo para la aplicaci´on. 4 En la figura 7 se puede observar un esquema general de la aplicaci´on. el llamado ruido de la se˜nal seria el culpable en este caso. o para compararla con otra y as´ı poder tomar la decisi´on de aflojar o tensionar una cuerda para obtener la respectiva nota deseada. En esta interfaz se muestran las frecuencias detectadas y su respectiva nota adem´as de mostrar las gr´aficas de la se˜nal de entrada y la se˜nal transformada usando Fourier.FECHA DEL INFORME: 10/12/2014 Para la inicializaci´on de la aplicaci´on y el desarrollo de la interfaz. en especial cuando la se˜nal de entrada no es lo suficientemente ”limpiac¸omo se esperar´ıa. estos se usan para un correcto uso y por la facilidad con la que se manejan los controles. V. La aplicaci´on tambien posee ciertos objetos graficos. usados en la interfaz grafica del usuario. los diferentes botones que permiten grabar y reproducir la nota tocada en la guitarra. El programa tambi´en puede tener fallas en su funcionamiento. cuya magnitud. esto con el fin de obtener la maxima frecuencia y compararla con el patron de frecuencias mensionado en la tabla 1. si el usuario toca una nota muy alejada del rango de notas. ´ U SO DE LA APLICACI ON El afinador usa la trasformada de Fourier y otros c´alculos matem´aticos. Para el correspondiente an´alisis se usa las herramientas inform´aticas. El programa considerara error en la afinacion si la frecuencia esta por fuera de una escala correspondiente. IV. ´ E STRUCTURA DE LA APLICACI ON La aplicaci´on consta de dos partes. luego. una frecuencia demaciado alta o´ baja. en vez de eso. ya sea para identificar la nota. mas unos peque˜nos graficos representativos de las se˜nales. representara la se˜nal en diferentes frecuencias. se comparara para afianr la cueda e identificar la se˜nal. por medio de este c´odigo (anexo 1) se cargan las im´agenes de la interfaz. el programa lo considerara un error. alli se podra tomar deciciones y realizar las acciones respectivas para el uso de la aplicaci´on. luego mostrar´a la nota correspondiente en pantalla. Se utiliza la funci´on de MATLAB nombrada anteriormente para sacarle la transformada de Fourier a la se˜nal de entrada y as´ı poder proseguir con la detecci´on de notas y adem´as graficarla en la interfaz. mostrando las gr´aficas de las frecuencias. Interfaz de la aplicaci´on. es la encargada de la identificaci´on de las notas. Esquema general de la aplicaci´on. se us´o MATLAB ya que cuenta con diversas herramientas y funciones que permiten un r´apido y f´acil an´alisis de diferentes se˜nales. la respectiva respuesta del analisis. con la nota correspondiente a la se˜nal de entrada y en caso de afinar una cuerda si hay que apretar o aflojar dicha cuerda. que posee una gran cantidad de notas provenientes de sus diferentes cuerdas. nombrados a continuaci´on. Funciones de MATLAB. Y por otro lado el de software. moduladores. sabiendo que estos son ondas sonoras que se interpretan como se˜nales de audio y se utilizan en diferentes programas de an´alisis. Prentice Hall. etc. Mapa de frecuncias de las cuerdas de la guitarra. como en este caso una onda sonora.edu. WILLSKY Alan. se pueden analizar sus diferentes sonidos emitidos. Music theory web. ya que al utilizar la tranformada de Fourier el trabajo se vuelve mas sencillo. Por medio de la transformada de Fourier se pueden analizar y procesar diferentes fen´omenos f´ısicos. el m´etodo de hardware: donde se incluyen filtros. adem´as esta transformada permite una simplificaci´on para un mejor an´alisis de estos fen´omenos. [2] En la web: Mathworks. el uso de transformada de Fourier. cortadores.com. donde se manipula la se˜nal de entrada mediante algoritmos que permiten separar la se˜nal requerida del ruido del entorno. R EFERENCIAS [1] OPPENHEIM Alan. [3] En la web: Presencias. para un instrumento musical como la guitarra. VI. Se˜nales y Sistemas: Transformada de Fourier. Para ello se pueden emplear diferentes m´etodos de soluci´on. Transformada de Fourier y funci´on fft en MATLAB. Teor´ıa musical. incluido entre estos. [5] En la web: Teoria. y consecuentemente los resultados. C ONCLUSIONES Se puede observar que el uso y aplicaci´on de las se˜nales y los sistemas son imprescindibles para este tipo de aplicaciones. Segunda Edici´on. [4] En la web: iaeste.net. De igual manera podemos concluir que.FECHA DEL INFORME: 10/12/2014 de an´alisis.com. 5 .