programaciÓn de herramientas de ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/tfg-kaoutar el...

53
UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo Fin de Grado ______ PROGRAMACIÓN DE HERRAMIENTAS DE AFINACIÓN DE INSTRUMENTOS PARA DISPOSITIVOS MÓVILES Alumno: Kaoutar El alga Tutor: Prof. D. Pedro Vera Candeas Depto.: Ingeniería de Telecomunicación Febrero, 2015 Escuela Politécnica Superior de Linares

Upload: truongcong

Post on 14-Oct-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares

Trabajo Fin de Grado

______

PROGRAMACIÓN DE HERRAMIENTAS DE AFINACIÓN DE INSTRUMENTOS PARA DISPOSITIVOS MÓVILES

Alumno: Kaoutar El alga Tutor: Prof. D. Pedro Vera Candeas Depto.: Ingeniería de Telecomunicación

Febrero, 2015

E

scue

la P

olité

cnic

a S

uper

ior d

e Li

nare

s

Page 2: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

2

ÍNDICE DE CONTENIDOS 1. RESUMEN……………………………………………………………………………………5

2. INTRODUCCIÓN……………………………………………………………............………5

2.1. FÍSICA DEL SONIDO…………………..…………………………..…………….6

2.1.1. Modelado del sonido...............................................................................6

2.1.2. Percepción del sonido…………………………………………………….….7

2.1.3. Propiedades del sonido……………………………………………………...9

2.1.3.1. Tono o frecuencia……………………………………………………...9

2.1.3.2. Sonoridad……………………………………………………………….9

2.1.3.2. Timbre…………………………………………………………………...9

2.1.3.3. Sonoridad ………………………………………………………………9

2.1.3.4. Percepción de duración………………………………………………..9

2.1.3.5. Envolvente o articulación…………………………………………….10

2.1.3.6. Difusión…………………………………………………………………10

2.1.4. Ruido…………………………………..………………………………………11

2.2. TEORÍA MUSICAL…………………………………………..……………………..11

2.2.1. Tonalidad……………………………………………………………………...11

2.2.2. Escala cromática………………………………….………………………….12

2.3. AFINACIÓN……..…………………………………………..……………………..13

2.3.1. Historia…………………………………………………………………………13

2.3.2. Sistema de afinación………………………………….……………………...14

2.3.3. Afinador…………………………………………………………………………14

2.3.4. Creación del afinador ………………………………………………………..15

3. OBJETIVOS…………………………………………………………………………………..15

4. MATERIALES Y MÉTODOS………………………………………………………………..16

4.1. GUITARRA ELÉCTRICA………………………………………………………….16

4.1.1. Estructura…………….…………………………………………………………16

4.1.2. Funcionamiento…….………………………………………………………….17

4.2. MICRÓFONO DE AUDIO…………………………………………………………18

4.3. TARJETA DE SONIDO …….………………………………………………….... 18

4.4. TÉCNICAS PARA DETECCIÓN DEL PITCH………………………………......19

4.4.1. YIN………………………………………………………………………………19

4.5. PROGRAMA DESARROLLADO…………………………………………………23

4.5.1 Rango de operación……………………………….…………………………..26

4.5.2 Frecuencia de muestreo……………………………..………………………..27

4.5.3 Intervalos porcentuales de frecuencia….....…………………………..…….27

4.6. VISTA DE LA APLICACIÓN …………………………….……………………… 28

Page 3: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

3

5. RESULTADOS Y DISCUSIÓN………………………………………………………………29

5.1. TRABAJO FINAL OBTENIDO……………………………………………………..29

5.2. LÍNEAS DE FUTURO………………………………………………………………30

6. CONCLUSIONES……………………………………………………………………………..30

6.1. CONCLUSIONES OBTENIDAS………………………………………………..…26

7. PLIEGO DE CONDICIONES……………………………………………………..………….31

7.1. Requisitos de la aplicación………………………………………………………...31

7.2. Características del dispositivo de desarrollo…………………………………….31

8. ANEXOS…………………………………………………………………………………….….35

8.1. ANEXO I. MANUAL DE USUARIO……………………………………………… 35

8.1.1 INSTRUCCIONES PARA AFINAR…………………………………………….36

8.2. ANEXO II. DOCUMENTACIÓN TÉCNICA……………………………………....40

8.3. ANEXO III. ÍNDICE DE FIGURAS Y DE TABLAS……………………………….50

9. REFERENCIAS BIBLIOGRÁFICAS………………………………………………………..52

Page 4: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

4

Page 5: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

5

1. RESUMEN El presente proyecto consiste en el diseño de un afinador digital para instrumentos

musicales, a través el lenguaje C, que pueda ejecutarse en dispositivos móviles de Apple.

A lo largo de esta memoria se explicara la naturaleza del sonido y su modelado

matemático. Se incluye una breve teoría musical para preparar el ambiente lingüístico

musical. Además, se dan a conocer algunos detalles sobre la afinación.

Se describirán los componentes físicos necesarios para el afinador. En este caso,

se entra en detalle con la guitarra eléctrica que dispone la Escuela Politécnica Superior

de Linares, el micrófono y la tarjeta de sonido de la computadora, que convertirá la señal

recibida en una señal digital.

También se verá el estudio previo realizado, el desarrollo en sí de toda la aplicación

con sus problemas y soluciones, un pliego de condiciones y finalmente las clases y métodos

implementados para alcanzar el objetivo de este trabajo.

2. INTRODUCCIÓN

El actuar diario de una persona se rige por la forma en que interpreta la gran

cantidad y variedad de señales que recibe. Tales interpretaciones se ven afectadas por

una gran serie de factores; pero principalmente, requieren que la persona tenga la

capacidad para percibir óptimamente las señales, procesarlas rápidamente en su

cerebro, discriminar las partes que no sean de interés, y luego tomar una decisión en

base a los resultados. A veces, el cerebro no está lo suficientemente entrenado para

trabajar en alguna actividad específica. O bien, puede que existan limitaciones físicas en

la persona que no le permitan interpretar correctamente las señales necesarias para el

desempeño de una tarea.

Es allí donde se ve la necesidad de procesar señales por otros medios, más

eficientes, para tomar decisiones más acertadas. Para ello, se utiliza comúnmente

instrumental electrónico, que en su mayoría, incluyen un microprocesador. Estos

pequeños dispositivos son el cerebro de cada aparato electrónico. Tienen la capacidad

de realizar miles de operaciones matemáticas en una minúscula fracción de segundo. La

invención de los microprocesadores permitió reducir enormemente el tamaño de los

circuitos finales, que de cualquier otra forma hubieran complicado su implementación en

plataformas con reducido espacio de trabajo.

Como una aplicación moderna, y haciendo uso de una computadora, como

cerebro para el procesamiento, se elaboró el diseño de un afinador digital para

Page 6: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

6

instrumentos musicales para confirmar la superioridad de los sistemas digitales sobre los

sistemas analógicos.

2.1. FÍSICA DEL SONIDO

2.1.1. Modelado del sonido

Un ser humano percibe un sonido cuando el tímpano del oído es puesto en un

movimiento característico denominado vibración. Esta vibración es causada por una

fuente de sonido que hace pequeños cambios de presión en el aire para propagarse.

Cuando un patrón de vibración se repite en intervalos de tiempo iguales se conoce como

movimiento periódico. El intervalo de tiempo en el que el patrón de movimiento se repite

es llamado período y es denotado por la letra griega tau (𝜏).

Uno de los movimientos periódicos más simples de ejemplificar es el de un

péndulo. Una característica del mismo es que puede ser representado como la

proyección del movimiento de un círculo uniforme sobre un diámetro del círculo, como en

la figura 1.

A esta proyección se le conoce como movimiento armónico simple y también es

llamado movimiento sinusoidal porque puede ser representado por una función

trigonométrica llamado seno.

Figura 1. Movimiento armónico simple.

Algunas características del movimiento sinusoidal es que el tamaño de la onda

está limitado por su amplitud, el intervalo en el que el movimiento circular se repite lo

determina el período. Si el movimiento de la figura 1 comenzara en otro punto del círculo,

habría una diferencia entre posiciones angulares. A la diferencia respecto del patrón se le

Page 7: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

7

denomina fase del movimiento armónico simple, la cual se puede apreciar en la figura 2.

Figura 2. Diferencia de fase entre dos movimientos armónicos.

La importancia del movimiento sinusoidal es que cualquier forma de movimiento

periódico puede ser descrita como la suma de vibraciones armónicas simples.

2.1.2. Percepción del sonido

Una cantidad que es utilizada con mayor frecuencia que el periodo , es la

frecuencia:

𝑓 = 1 𝜏    𝐻𝑧                         1

La frecuencia representa el número de repeticiones de un patrón por unidad de

tiempo y se mide en hercios (Hz). La razón por la que se prefiere utilizar el término

frecuencia se debe a que un aumento de frecuencia es percibido por el humano como un

aumento en la agudeza o altura del sonido. Una persona normal puede percibir

frecuencias entre 20 y 15,000 Hz.

Un sonido armónico simple con características constantes (frecuencia, amplitud y

fase) es denominado como tono puro. La música no está hecha de tonos puros. Sin

embargo, para llegar a comprender la manera en la que el ser humano percibe el sonido

musical, es recomendable partir de los efectos que se acontecen dentro del oído

producidos por tonos puros.

En el oído interno se encuentra la membrana basilar, que tiene una longitud de 34

milímetros aproximadamente y alrededor de 30,000 unidades receptoras llamados cilios.

Page 8: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

8

Los cilios son unos pelos minúsculos que entran en movimiento cada vez que una parte

de la membrana vibra. Cuanto los cilios actúan, envían pequeñas señales eléctricas al

nervio auditivo.

Colectivamente, todo esto forma parte del sonido en nuestro cerebro. Las

vibraciones en la membrana basilar están divididas de acuerdo a las frecuencias que

componen el sonido que se percibe.

Figura 3. Sensibilidad de la membrana basilar.

En la figura 3, se muestra una gráfica posición (en mm) en la membrana basilar

versus frecuencia. Se observa que casi dos tercios de la membrana perciben un rango de

frecuencias de hasta 4000 Hz y el tercio restante, la gran porción de frecuencias

restantes entre 4000 y 16,000 Hz. Las líneas discontinuas en la frecuencia parten de A3

es decir de 220 Hz y se van duplicando para A4, A5, etc. Como consecuencia, en la

región de la membrana basilar la duplicación de frecuencia representa un desplazamiento

constante sobre la sección de la membrana que percibe la frecuencia (eje vertical). Una

relación como la anterior se describe como logarítmica.

La percepción que tiene el oído humano respecto a pequeñas variaciones de una

frecuencia dada depende de la frecuencia. Por ejemplo para un tono de 2000 Hz, la

detección de algún cambio se da a partir de una diferencia de al menos 10 Hz, eso es un

0.5%. Pero para un tono de 100 Hz, la detección empieza ante una variación de al menos

3 Hz, que es un 3%. De lo anterior se hace la importante conclusión que la sensibilidad

Page 9: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

9

del oído a cambios en frecuencia es mayor a bajas frecuencias.

2.1.3. Propiedades del sonido

Existen 6 propiedades o atributos que pueden describir lo que un ser humano

experimenta al escuchar un sonido.

2.1.3.1. Tono o frecuencia

Se refiere a la rapidez de ocurrencia de las vibraciones que componen un tono.

Cuando la frecuencia aumenta, también lo hace el tono.

2.1.3.2. Sonoridad

Indica cuan fuerte o suave se escucha un sonido, y se refiere a la amplitud de la

onda vibratoria. La cantidad de compresión que sucede en las moléculas de aire, cuando

el sonido viaje a través de ellas, no implica la rapidez a la que se desplazan, sino cuanta

energía está almacenada en ellas.

2.1.3.3. Timbre

Se refiere a la calidad del sonido. Tanto como los instrumentos musicales y la voz

humana producen sonidos que son ricos en vibraciones de diferente frecuencia y que son

percibidos al mismo tiempo. La combinación de todas esas vibraciones, con diferentes

amplitudes también, es lo que se percibe como timbre.

Una forma sencilla de comprender este concepto es imaginar una flauta y la voz

de una persona emitiendo un tono de la misma frecuencia. Fácilmente puede notarse la

diferencia entre ambos sonidos. Colectivamente, el cerebro escucha lo anterior como un

cambio en el color del sonido.

El timbre es uno de los atributos del sonido más interesantes y complejos de

comprender. Pero es en el timbre donde radica la naturaleza del diseño digital del sonido,

pues tiene una gran facilidad para cambiar el color y el timbre del sonido rápidamente.

Para hacer lo anterior en el mundo acústico, se tendría que cambiar algo del instrumento

para cambiar el timbre.

Gracias al diseño digital del sonido, la mayor parte de la música que actualmente

escuchamos ha pasado por un proceso digital de refinación. Lo que la electrónica puede

hacer, que es tan impresionante, es cambiar fácilmente los timbres sólo manipulando

ciertos parámetros.

2.1.3.4. Percepción de duración

La duración no es un elemento fijo, sino algo que se percibe. Un ser humano

puede escuchar un sonido, proveniente de cualquier lado, que dura unas pocas

milésimas de segundo, o bien, varios minutos. Cuando se habla de lo que se está

experimentando, cualquiera puede decir que percibió un tiempo lento o un tiempo rápido.

Si se escucha una canción, ¿cómo se determina si la canción tiene un ritmo lento o

Page 10: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

10

rápido? Para ello, existe un punto estándar relativo, como referencia del tiempo, basado

en los latidos del corazón.

Los latidos del corazón rondan entre los 60, 70, y a veces hasta 80 latidos por

minuto si es nervioso. Un sonido se percibirá como de tiempo rápido si va más rápido que

los latidos y de tiempo lento, si va más lento. Así que cuando se habla de tiempo rápido y

de tiempo lento, el reloj interno del cuerpo es el encargado de proveer la información.

2.1.3.5. Envolvente o articulación

Muestra la forma del sonido en el dominio del tiempo basada en la forma en que

se interpreta un instrumento musical, incluyendo a la voz humana. La articulación se

refiere a lo que sucede en los primeros milisegundos de un sonido, y a la cantidad de

energía que se aplica a la nota. Por ejemplo, con un violín se puede aplicar una gran

cantidad de energía al tocar una nota, si se ejerce una presión inicial mayor con el arco

sobre la cuerda. Luego, se libera la mayor parte de la presión haciendo que el sonido se

estabilice hasta que suavemente desaparece.

Con un piano, la articulación es diferente, pues inicialmente se escucha un

martillazo, y luego, la nota que suavemente desaparece. Así, el piano tiene una

articulación percusiva, que gráficamente, representa un impulso inmediato. La envolvente

es importante para el diseño digital del sonido. Pues conociendo las envolventes de cada

instrumento, se pueden imitar los mismos. Y entonces, por medio de una computadora,

se puede tener todos los instrumentos musicales.

2.1.3.6. Difusión

Se refiere a capacidad del cerebro para localizar espacialmente la fuente de un

sonido. El cerebro tiene la capacidad de procesar simultáneamente múltiples sonidos de

diferentes fuentes y, ubicar espacialmente los mismos consciente o inconscientemente.

Por ejemplo, si se está en la calle hablando con un amigo, uno le pone mayor atención a

la conversación. Cuando se llega a una intersección, inconscientemente se procesan

sonidos de ciertos automóviles provenientes de ciertas direcciones. Y en ése momento,

se está teniendo la conversación, se están ubicando las fuentes de sonido de los coches,

y se está determinando si los mismos se están acercando o alejando.

La difusión es un atributo importante en el diseño digital del sonido, por ejemplo,

cuando se está escuchando una película en el cine. La experiencia auditiva resulta ser

más real en el cine por que el sonido proviene de diferentes fuentes. Esto hace que una

persona sienta que forma parte de la acción, y que sienta que forma parte de la película.

Aquí, el sonido es representado por una configuración de canales (2.1, 5.1, 7.1). Una

configuración 5.1 implica la existencia de 5 fuentes de sonido; y una de 2.1, sólo 2

fuentes. Ésta última configuración es mejor conocida como sonido estéreo.

Page 11: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

11

2.1.4 . Ruido

El Ruido en la música es una sensación frecuentemente desagradable, producida

por movimientos aperiódicos (irregulares), de altura impresa y proveniencia incierta. La

mayoría de los instrumentos musicales producen tanto Sonidos como Ruidos; desde

luego la intensidad de estos últimos es muy pequeña comparada con la de los primeros,

pero contribuyen a caracterizarlos.

El concepto anterior da a conocer que en ciertos casos el ruido hace parte de la

naturaleza propia de la señal y que hace posible siempre asociarlo a un sonido o una

referencia. Por ende desde el punto de vista de ingeniería el ruido como una señal

eléctrica no deseada requiere de análisis para su discriminación.

2.2. TEORÍA MUSICAL

Existen muchas formas de definir la música, pero se puede decir que es el arte de

ordenar los sonidos con el fin de crear una determinada emoción en el oyente. Los

sonidos musicales se representan por una serie de símbolos y nomenclaturas llamados

notas musicales. Las notas que forman el sistema musical occidental se representan con

las palabras o notas: Do, Re, Mi, Fa, Sol, La, Si.

En los países de habla inglesa, se emplean letras del alfabeto: C, D, E, F, G, A, B.

La C corresponde al Do; la D, al Re y así sucesivamente.

2.2.1. Tonalidad

La tonalidad se define a un conjunto de sonidos, cuyo funcionamiento está regido

por un sonido principal llamado tónica. La tonalidad se basa en siete sonidos llamados

grados y que se corresponden con los siete nombres de las notas.

Para definir la tonalidad de cada nota, desde las más bajas a las más altas, el

sistema de nombres se repite. Después de cualquier Si viene otro Do. La distancia entre

una nota y la siguiente del mismo nombre (por arriba o por abajo) se llama octava. Dos

notas separadas por una octava suenan igual pero tienen diferentes tonalidades una es

más alta que la otra. Éste es un fenómeno natural, basado en que ambas notas están en

una proporción de 2:1.

La mejor referencia visual del sistema musical occidental se puede encontrar en el

teclado del piano, (ver figura 4). Las siete notas antes descritas están representadas por

las teclas blancas. Sin embargo, en el intervalo de las teclas blancas también hay cinco

teclas negras. Se nombran en relación con la nota blanca más próxima. Así, la nota de la

tecla negra situada entre Do y Re se llama Do sostenido (Do alto) o Re bemol (Re bajo).

Page 12: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

12

Figura 4. Una octava en el teclado del piano.

Estas notas que pueden recibir dos nombres se llaman enarmónicas y el contexto

en que se usan es lo que determina cual nombre es el apropiado. Para indicar que una

nota es sostenida se utiliza el símbolo numeral # y para cuando es bemol, la letra b

minúscula.

2.2.2. Escala cromática

Una escala es una serie consecutiva de notas que forman una progresión entre

una nota y su octava. La escala puede ir hacia arriba o hacia abajo, subiendo o bajando

una octava. Cualquier escala se puede distinguir de las demás por su diseño de

escalones o grados, es decir, por el modo en que las notas dividen la distancia

representado por la octava.

El intervalo entre la nota de una tecla blanca y la de la tecla negra siguiente es un

semitono. Dos semitonos son igual a un tono. Si se observa el teclado, se verá que entre

el Si y el Do y entre el Mi y el Fa no hay tecla negra. Esto se debe a que la octava de

siete notas no está realmente dividida en intervalos iguales. Del Si al Do y del Mi al Fa

hay semitonos, no tonos enteros.

Si se cuentan ascendentemente los semitonos desde el Do hasta el próximo Do

se contabilizarán 12 semitonos iguales en una octava, de donde se construye la escala

cromática que forma la base de la música occidental.

Para hacer que todos semitonos sean iguales se tiene una única solución: la

distancia musical entre cada una de las notas vecinas debe ser igual a la raíz doceava de

2, o sea,  2! !". El uso de la base dos se debe a la existente proporción 2:1, antes

mencionada, entre dos notas del mismo nombre pero con una octava de separación. Con

lo anterior, se puede calcular la frecuencia de cada nota en la escala cromática dado el

número de semitonos que la separan de la nota La en la tercera octava. Para ello, se

Page 13: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

13

utiliza la siguiente ecuación:

               𝑓 = 2! !"  . 440  𝐻𝑧                   2    

Donde n es el número de semitonos de separación, n toma un valor negativo

cuando la nota está por debajo. Si se observa en la ecuación, cada doce semitonos se

obtiene un entero, que indica que la nota La está en otra octava, superior o inferior.

Para el uso con el estándar MIDI una asignación de frecuencias se define como:

𝑝 = 69 + 12  . 𝑙𝑜𝑔!𝑓440      (3)

donde p es el número de nota MIDI.

2.3. AFINACIÓN

2.3.1. Historia

En la música para fijar la altura o frecuencia de los sonidos han sido creados

diversos sistemas de índices acústicos que consisten en ordenar todos los sonidos en

sentido ascendente y atribuir a cada nota un subíndice acústico propio u otra señal

convencional que se conserva para todas las notas de la octava siguiente :

Figura 5. Subíndices Acústicos.

Es un habito afinar las orquestas y los instrumentos en general tomando como

base la afinación del 𝐿𝐴! esta afinación ha variado considerablemente a través de la

historia, desde 373 ciclos (observado por Mersenne en 1648) hasta 461 ciclos durante el

siglo XIX en Norteamérica. En el siglo XVII, el desorden en lo referente a la afinación del

𝐿𝐴!  era tal, que se afinaba a distinta altura, según se ejecutara música sagrada (Chorton)

o profana (Kammerton). La tendencia general de la afinación ha sido ascendente,

buscando el brillo que trae consigo el ascenso, pero desde fines del siglo pasado

este ascenso ha sido contenido y estabilizado, pues la altura excesiva perjudica el timbre

de los instrumentos, volviéndolos estridentes.

En Viena se reunió en 1885 un congreso que fijo la frecuencia del 𝐿𝐴! en 435 Hz,

llamándose este LA, LA normal o internacional. Actualmente se utiliza el 𝐿𝐴!   de 440 Hz,

llamado LA brillante o de concierto, con el cual afinan casi todas las orquestas de

Page 14: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

14

importancia, establecido esto por una convención internacional reunida en Londres en

1939, y que fue definitivamente adoptada en 1953 por el “Congreso Técnico Internacional

de Acústica”.

2.3.2. Sistema de afinación

En la música existen distintos sistemas de afinación natural, estos sistemas parten

de cálculos matemáticos derivados de las proporciones naturales o intervalos naturales

deducidos del fenómeno Físico – Armónico, existiendo básicamente tres sistemas: El

sistema natural, El sistema temperado, y El sistema expresivo. Estos sistemas tienen un

aspecto en común: la afinación de un conjunto de notas (por ejemplo, los grados de una

escala) depende de la frecuencia base sobre la que se realice los cálculos. “El uso de

frecuencias de referencia que varíen según nuestras necesidades es la causa de que se

obtengan afinaciones relativas, lo que resulta un inconveniente, por ejemplo, para la

modulación a tonos lejanos. La frecuencia, por ejemplo, de 𝑀𝐼! no es la misma cuando se

calcula a partir de la serie armónica de 𝐷𝑂! que cuando se hace a partir de 𝐿𝐴! o de otro

sonido fundamental”

Con la invención del temperamento igual (de 12 sonidos) nacido de la contribución

de teóricos como Bartolome Ramos Pareja (1440-1522), Francisco de Salinas (1513-

1590), entre otros, se solventa este inconveniente.

De acuerdo a los sistemas de afinación se pueden clasificar los instrumentos

musicales, perteneciendo la guitarra eléctrica al sistema temperado, pues desde su

fabricación se ha diseñado para que su afinación funcione bajo este sistema. Es por ello

que los cambios de semitonos se vean representados en trastes los cuales a su vez

siguen reglas matemáticas basadas en el temperamento para ser dispuestos a lo largo

del diapasón.

2.3.3 Afinador

Afinar es el proceso de ajustar el tono de un sonido hasta que coincida con una

nota de referencia, momento en el que se considera afinado .

Hay muchos factores que inciden de manera negativa en los instrumentos

provocando su desafinación. Algunos instrumentos se desafinan por el paso del tiempo o

por la obsolescencia, cuando su sonido no sea eficiente y como consecuencia tendrá que

ser reparado. También los cambios en la temperatura y la humedad pueden afectar a

algunos instrumentos sensibles. Cuando las temperaturas fluctúan, los instrumentos

pueden dilatarse o contraerse. Asimismo, para instrumentos con cuerdas, dichas pueden

llegar a estar desafinadas si las clavijas son golpeadas o ajustadas.

Page 15: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

15

Con el fin de obtener notas afinadas, es de vital importancia contar con un

excelente oído musical que permita diferenciar notas. Aquí nace la esencia de la

aplicación desarrollada, que es permitir a personas inexpertas la posibilidad de afinar

fácilmente su instrumento.

2.3.4 Creación del afinador

Para la creación de un afinador capaz de analizar las notas provenientes de un

micrófono incorporado, se ha realizado una serie de pasos los cuales son citados a

continuación:

• Creación del algoritmo encargado de captar sonido del micrófono y dibujarlo

por pantalla.

• Uso del algoritmo YIN encargado de estimar la frecuencia fundamental del

sonido.

• Diseño de las vistas que aparecen en la aplicación con sus correspondientes

mensajes contextuales.

• Unificación de los distintos módulos que componen la aplicación,

sincronización de las hebras y depuración.

3. OBJETIVOS

El objetivo de este proyecto es familiarizarse con el lenguaje de programación C y

sistema operativo IOS para el desarrollo de un afinador para instrumentos musicales en

dicha plataforma e implementación del algoritmo de estimación de la frecuencia fundamental

del sonido para detectar las notas tocadas . Para conseguir lo citado se tiene que:

• Conocer los fundamentos teóricos del proyecto.

• Conocer la arquitectura del dispositivo en el que se pretende implementar.

• Configurar el entorno de programación, así como las herramientas

proporcionadas por la plataforma.

• Utilizar un algoritmo de estimación de pitch .

• Programar cada uno de los módulos que compone el proyecto.

• Unir todos los módulos individuales para conseguir el correcto funcionamiento

del programa .

Page 16: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

16

4. MATERIALES Y MÉTODOS

En este apartado se entra en detalle con los componentes físicos más importantes que

hacen trabajar el afinador eficientemente y se darán explicaciones para su selección .

Además, se incluyen las técnicas más relevantes investigadas en el ámbito de la

estimación del pitch o frecuencia fundamental del sonido. Al final del capitulo se explica

todo el desarrollo de la aplicación mostrando su correspondientes vista y diagrama de

flujo.

4.1. GUITARRA ELÉCTRICA

4.1.1. Estructura

La guitarra eléctrica en su estructura física está compuesta por (ver Figura 6):

• Clavijas (TuningPegs): sirven para afinar la guitarra ajustando o

desajustando cada una de las cuerdas.

• Clavijero (Headstock): el clavijero es donde se encuentran instaladas las

clavijas.

• Trastes (Fingerboard and Frets): los trastes sirven para separar las notas,

los cuales deben de estar a una medida específica.

• Selector de pastillas o micrófono (Pick-up selector switch): sirve para

activar o desactivar los distintos micrófonos de nuestra guitarra.

• Control de tono y volumen: sirven para ajustar los tonos graves y agudos

de nuestra guitarra.

• Puente (Bridje): aquí se sostienen las cuerdas y se ajusta su altura con

respecto al brazo para evitar sonidos molestos, este también es el

soporte del VibratoArm.

• Pastilla o micrófono (Pickups): estos son los responsables de captar las

vibraciones de las cuerdas.

• VibratoArm: se usa con el fin de modificar la tensión de las cuerdas

momentáneamente para lograr diferentes sonidos.

• Conector de cable (Output Jack): aquí se conecta el cable que va directo

al amplificador, o a un pedal de distorsión.

• Al conjunto de brazo y clavijero se le llama mástil y al resto cuerpo.

Page 17: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

17

Figura 6. Elementos de una Guitarra Eléctrica Convencional.

El modelo presentado corresponde al modelo básico más usado actualmente.

Aunque existe una alta variedad de modelos, en esencia se caracterizan con la misma

estructura presentada anteriormente.

4.1.2. Funcionamiento

Una guitarra eléctrica utiliza el principio de inducción electromagnética para

convertir las vibraciones de sus cuerdas de metal en señales eléctricas. El sonido de la

guitarra se verá influido por la madera o el material empleado, la construcción del

instrumento (trasteado, afinación, octavación), así como la calidad de sus pastillas.

Dado que la señal generada es relativamente débil, esta se amplifica antes de

enviarla a un altavoz. Esta señal de salida de la guitarra eléctrica puede ser fácilmente

alterada mediante circuitos electrónicos para modificar algunos aspectos del sonido. A

menudo, la señal se modifica con efectos como reverberación y la distorsión.

Con el instrumento musical no hay elección compleja por hacer . Se ha elegido

testear la aplicación con la guitarra eléctrica dado a la gran cantidad de octavos (rango de

frecuencias) que es capaz de generar.

Page 18: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

18

4.2. MICRÓFONO DE AUDIO

El trabajo de un micrófono es el de tratar de capturar lo más fielmente posible el

sonido de un instrumento. Pero también se puede utilizar para que caracterice el sonido

final en una presentación. Así también, se puede usar un preamplificador para

representar un sonido con mayor precisión o darle textura y dimensión. Los micrófonos

de audio son sencillamente aquellos tipos de micrófonos que tienen características que

permiten captar con fidelidad distintos rangos de frecuencia, audibles para el oído

humano, además de permitir darle algún tipo de efecto.

Para este estudio, se trabajó con el micrófono interno del dispositivo móvil . La

lógica es sencilla, el objetivo principal en su elección es hacer funcionar el afinador con

componentes sencillos.

4.3. TARJETA DE SONIDO

También conocida como tarjeta de audio, la tarjeta de sonido es una tarjeta de

expansión interna para computadoras que facilita la entrada y salida de señales de audio

de y hacia una computadora bajo control de algún software específico. Su uso típico

incluye aportar la componente de audio de aplicaciones multimedia tales como

composición musical, edición de video o audio, presentaciones, entretenimiento, y

proyección de video.

Muchas usan un Conversor Digital Análogo (DAC), que convierte grabaciones o

datos digitales generados en formato analógico. La salida es conectada a unas bocinas

amplificadoras o a un dispositivo externo usando conexiones estándar, como un conector

RCA, por ejemplo.

La mayoría de tarjetas de sonido tiene una entrada de línea para una señal que

proviene de una fuente que tiene niveles de voltaje superiores a los de un micrófono. La

tarjeta puede digitalizar estas señales así como también transferir las muestras a una

memoria principal donde un software puede escribirlas al disco duro para su almacenaje,

edición, o posterior edición. Otro conector externo común es la del micrófono, para

señales provenientes de un micrófono o de dispositivos de entrada de baja señal.

Se utilizará la tarjeta de sonido interna del dispositivo móvil. Bien se podría utilizar

una tarjeta de sonido dedicada de una computadora de escritorio, pero el dispositivo

móvil servirá además, para representar una computadora con recursos limitados.

Page 19: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

19

4.4. Técnicas de estimación del pitch.

La estimación del pitch en señales monofónicas es un campo de investigación en

el área de procesado de señal, que aunque ha dado muchos frutos, sigue siendo uno de

los más activos y que requieren de un gran ingenio e innovación. En este proyecto se

pretende realizar la estimación del pitch en el dominio del tiempo, aunque también se

puede realizar en el dominio de la frecuencia con métodos muy fiables y efectivos.

A continuación se va a comentar de manera breve el método YIN, desarrollado por Alain

de Cheveigné y Hideki Kawahara [12] .

4.4.1. Yin

Este método es en el que esta basado la parte más importante de procesamiento

del afinador como se detallara posteriormente. El método comienza con el cálculo de la

función autocorrelación, los siguientes pasos de dicho método surgirán para solucionar

los problemas que presenta esta función y obtener resultados más precisos.

A. Primer paso: Método de la autocorrelación.

La autocorrelación de una señal discreta la podemos definir como:

𝑟! 𝜏 = 𝑥! · 𝑥!!!!!!!!!!!                                                                                              (4)

donde 𝑟!(𝜏) es la función de autocorrelación en un intervalo (𝜏) en un tiempo t y con un

tamaño de integración de ventana W. En procesado de señales es común utilizar una

expresión derivada de la anterior:

𝑟!! 𝜏 = 𝑥! · 𝑥!!!!!!!!!!!!!                                                                                         5

En esta expresión el tamaño de la ventana se reduce conforme van aumentando los

valores de 𝜏, con un resultado que se refleja en el decremento de la envolvente como

función de los intervalos. En la figura 7 se observa este efecto.

Page 20: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

20

Figura 7. Ejemplo de la forma de onda de la voz hablada. Autocorrelación de acuerdo

a la primera ecuación. Autocorrelación de acuerdo a la segunda ecuación.

En respuesta a una señal periódica, la función de autocorrelación muestra picos en

los múltiplos del periodo fundamental de dicha señal. El método de estimación de pitch

mediante la autocorrelación escoge el pico de mayor altura para un intervalo no cero

mediante una búsqueda en un rango de intervalos. Si el umbral inferior está muy cercano a

cero, el algoritmo puede llegar a escoger el pico del valor cero, lo cual supondría un error.

De la misma manera, si el umbral superior es demasiado grande, puede llegar a elegirse un

pico situado en un múltiplo de la frecuencia fundamental, lo cual también sería un error. Si

se atiende el resultado obtenido mediante la segunda expresión de la autocorrelación, el

error por escoger un pico en un valor múltiplo del periodo no se podría dar, ya que al ir

Page 21: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

21

decrementándose el valor de la envolvente, no va a haber ningún pico de mayor tamaño que

el del verdadero periodo de la señal. Sin embargo, el error de escoger el pico cercano a cero

no se soluciona tan fácilmente.

B. Segundo paso: La función diferencia.

Suponiendo que se trabaja con una señal 𝑥! que es una señal periódica de periodo

T, por definición invariante para un desplazamiento temporal de T:

𝑥! − 𝑥!!! = 0        𝑝𝑎𝑟𝑎  𝑡𝑜𝑑𝑜  𝑡                                                                                              (6)

Lo mismo se cumple después de elevar al cuadrado dicha expresión y promediarla a

lo largo de una ventana:

𝑥! − 𝑥!!!! = 0!!!

!!!!!                                                                                                                  (7)

Si esta suma se expresa como una función diferencia, y sus términos se expresan en

relación con la función de autocorrelación, se obtiene la siguiente expresión:

𝑑! 𝜏 = 𝑟! 0 + 𝑟!!! 0 − 2𝑟! 𝜏                                                                                    (8)

Los dos primeros términos están relacionados con la energía. La función diferencia

variaría de forma contraria a la función de autocorrelación, por lo que buscando los mínimos

de la función diferencia se podrá identificar el periodo fundamental de la señal. Si se

analizan los mínimos de la señal diferencia y se comparan con los máximos de la función de

autocorrelación, no siempre coinciden, aunque el error que se comete utilizando la función

diferencia es mucho menor que el que se comete utilizando la función autocorrelación.

C. Tercer paso. Función diferencia normalizada de media acumulativa

En la figura 7 se puede apreciar como la función diferencia toma el valor cero en el

intervalo cero y valores muy cercanos a cero, pero no cero absoluto, en el periodo. Esto es

debido a las imperfecciones en cuanto a periodicidad que presenta la función. A no ser que

se proponga un umbral inferior a la hora de determinar el nulo que se desea tomar, el

método siempre elegiría el mínimo en el intervalo cero.

Page 22: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

22

Figura 8. Representación de la función diferencia y de la función diferencia

normalizada de media acumulativa.

El problema de fijar un umbral es el que se produce si por cualquier causa la

frecuencia del primer formante presenta resonancia, lo cual llevaría a la función diferencia a

marcar en dicho formante una caída más profunda que para el caso de la frecuencia

fundamental.

La solución propuesta es reemplazar la función diferencia por una función diferencia

normalizada de media acumulativa.

𝑑!! 𝜏 =1,                              𝑠𝑖    𝜏 = 0!!(!)

!! · !!(!)!

!!!,        𝑒𝑛  𝑜𝑡𝑟𝑜  𝑐𝑎𝑠𝑜                                          (9)  

Esta nueva función se obtiene de dividir cada valor anterior por una media ponderada

de un intervalo reducido. La principal diferencia es que comienza en 1, por lo que no se tiene

el problema de la elección del mínimo en T=0.

Page 23: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

23

D. Cuarto paso. Umbrales absolutos.

Una situación muy probable que se puede presentar es que la caída a una frecuencia

múltiplo de la frecuencia fundamental sea más profunda que la caída del periodo. Si la caída

de orden superior está incluida dentro del rango de inspección el algoritmo va a tomar una

decisión errónea, lo cual se conoce como un error de octava.

La solución que este método propone es fijar un umbral absoluto y escoger el valor

mínimo de T que proporciona un valor 𝑑′ menor que el umbral fijado. Si ningún valor

satisface la condición, se toma el mínimo global.

E. Quinto paso. Interpolación parabólica.

Todos los pasos anteriores funcionan si la estimación del periodo Cada mínimo local

de la función diferencia normalizada junto con sus vecinos conforman una parábola, y la

ordenada del mínimo interpolado se usa en el proceso de selección de la caída. La abscisa

del mínimo seleccionado sirve para estimar el periodoera un múltiplo del periodo de

muestreo. Si esto no es así, la estimación puede llegar a ser incorrecta hasta un valor la

mitad del periodo de muestreo. Una solución para este problema es la interpolación

parabólica.. La interpolación de la función diferencia o de la función diferencia normalizada

es computacionalmente mucho más económica que sobre muestrear la señal.

F. Sexto paso. Estimación del mejor local.

A pesar de todo lo aplicado anteriormente, puede darse el caso en el que la

estimación no se estable o que fluctúe alrededor del periodo fundamental. Para asegurarse

de que el valor escogido es el mejor posible, este algoritmo propone un último paso, que se

encarga de realizar una optimización global mediante técnicas de programación difusa con

los valores pertenecientes a distintos intervalos cercanos al valor estimado en los pasos

anteriores.

4.5. PROGRAMA DESARROLLADO

Una vez que el instrumento musical emite un pulso mecánico, éste viaja a través

del aire y es recibido por el micrófono que lo convierte en un pulso eléctrico analógico,

idéntico al emitido, que se mezcla con el ruido del medio. La señal llega a la tarjeta de

sonido de la computadora que lo convierte en una señal digital de acuerdo a las

especificaciones dadas por el método audioIn (float * input, int bufferSize, int nChannels)

en el cual se inicializa el algoritmo Yin.mm a 512 de tamaño de buffer y a 0.15 de umbral,

Page 24: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

24

se hace un recorrido del buffer y posteriormente se pasan las muestras pares

normalizadas al canal izquierdo y las impares al canal derecho.

Cuando la información está almacenada en vector <float> left y vector <float> right

correspondientes a los canales izquierdo y derecho, se mostrará por pantalla la señal

almacenada a través de la función draw(). En esta última se definirá el escenario principal

del entorno gráfico de este proyecto como se explicara en el apartado 4.6.

Seguidamente se usa el método Yin_getPitch (Yin *yin,vector<float> buffer) para

calcular la frecuencia fundamental F0 del pulso recibido. Para revisar este proceso, dicho

método hace uso las siguientes funciones auxiliares :

• Yin_difference(Yin *yin,vector<float>buffer) : Calcula la diferencia al

cuadrado de la señal con una versión desplazada de sí misma.

• Yin_cumulativeMeanNormalizedDifference(Yin *yin) : Calcula la media

acumulada de la función anterior para su normalización.

• Yin_absoluteThreshold(yin) : Comprueba si la muestra de mayor potencia

en el dominio del tiempo supera el umbral YIN_DEFAULT_THRESHOLD

determinado experimentalmente. En caso que no se supere, entonces el

vector es descartado y se vuelve a tomar una nueva muestra de la señal

recibida por el micrófono; el procedimiento se repite hasta que la señal

recibida supere dicho umbral. Cuando se ha superado, se pasa la señal al

dominio de la frecuencia donde se normaliza de nuevo.

Una vez obtenida la F0, el programa indicará qué nota está más cercana a la

señal recibida, cuál es la desviación porcentual estimada correspondiente y cuál es la

escala. Para la presentación de estas informaciones en la interfaz gráfica de forma útil

para el usuario, se emplearon algunas funciones de las librerías ofxUI y ofxGUI.

En esta aplicación, se puede gestionar su función mediante el método

keyPressed: se define la tecla ‘s’ para empezar la ejecución de esta aplicación, la tecla

‘e’ para la finalización y la tecla ‘ f ’ para la grabación.

Todas las clases, métodos y variables mencionadas anteriormente están definidos

en el segundo anexo de este proyecto, Documentación técnica.

A continuación, se muestra en la figura 9 el diagrama de flujo que representa la

lógica de la actividad que conforma el programa desarrollado

Page 25: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

25

Figura 9. Diagrama de flujo de la aplicación

Page 26: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

26

Si se analiza esta actividad desde el punto de vista mas técnico, se debe de

explicar el esquema de sincronización utilizado entre tres hebras :

• Hebra encargada de capturar audio.

• Hebra encargada de calcular la F0 mediante el método YIN, de definir lo

que se debe dibujar por pantalla.

• La hebra de la interfaz de usuario encargada de gestionar la aplicación

mediante las teclas ‘s’ , ‘f’ y ‘e’.

La información que se intercambia en las diferentes hebras se representa en la figura

10 .

Figura 10. Sincronización de las hebras principales

En esta representación temporal se puede ver que al ejecutar la aplicación se

lanza primero la hebra de la interfaz de usuario que a su vez lanza una segunda hebra

para la captura de audio. Esta ultima recibe 512 muestras cada 22,68 microsegundos y

luego envía la señal recibida a la hebra grafica para calcular la frecuencia fundamental

del pulso. A partir de aquí se obtiene el resto de los parámetros : desviación, nota en

MIDI y escala; se actualiza la hebra UI y finalmente se dibujan por pantalla los resultados.

Este ciclo se repite continuamente hasta que la aplicación se detiene.

Las características y procedimientos más importantes se describen con mayor

detalle en el resto de secciones.

4.5.1 Rango de operación

El rango de operación es el rango de frecuencias sobre las cuales el sonido puede

ser detectado por la aplicación y está limitado en nuestro caso de 172 Hz a 44100 Hz

como indica el siguiente apartado. Esta información es necesaria para conocer las

Page 27: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

27

características del afinador desarrollado y entender su comportamiento.

4.5.2 Frecuencia de muestreo

En la aplicación , para el cálculo de la frecuencia fundamental de las notas

tocadas, se empleó el método YIN que consiste en una realización de búsqueda de los

múltiples periodos de la señal recibida haciendo uso la formula (7) . Se eligió un valor de

frecuencia de muestreo fs de 44100 Hz para dos razones : La primera es que limita el

rango frecuencial del afinador en 𝑓!"# =!

!!"#= !.!!

!= !.!!"##

!"#= 172,11  𝐻𝑧 , donde N= 512

muestras y en 𝑓!"# = 𝑓  ! = 44100  𝐻𝑧. La segunda razón es que este valor permite

obtener mejor resolución para los sucesivos periodos estimados por el algoritmo.

4.5.3 Intervalos porcentuales de frecuencia

Para la desviación porcentual de cada nota musical se utilizaron 5 intervalos

ilustrados en la siguiente figura . Se puede ver que los intervalos no son de igual tamaño.

Eso se debe a que la distancia entre las notas aumenta entre notas consecutivas de

mayor frecuencia. Si la frecuencia percibida está en un intervalo porcentual de -30% a -

50%, o sea, por debajo de la frecuencia central de la nota más cercana, entonces se

considera que está desviada -40% de esa nota.

Figura 11. División porcentual de una nota musical en el espectro.

Para definir la desviación de la nota que esté sonando con respecto a su afinación

óptima definitiva, se utilizó la ecuación con la se obtienen las notas MIDI, pero con una

pequeña modificación indicada a continuación :

Page 28: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

28

                                                                                   𝑝 − 9 = 69 + 12. 𝑙𝑜𝑔!𝑓440       (11)

desviación =  𝑝 − 9 − 𝑟𝑜𝑢𝑛𝑑(𝑝 − 9) (12)

Ahora la ecuación(12) representa la desviación porcentual para cada nota.

4.6. VISTA DE LA APLICACIÓN

Este apartado explica el aspecto grafico de la interfaz que contiene la aplicación.

Pantalla principal :

Es la pantalla que aparece nada más ejecutar la aplicación. Como se puede

observar en la imagen insertada debajo de este párrafo aparece:

El menú en la parte izquierda donde el usuario puede elegir el color de fondo de la

pantalla y ver los parámetros que puede calcular el afinador ;en la parte del medio

aparece deslizante que indica el nombre de la nota tocada ( se ha elegido nombrar las

notas con las letras C, D , E, F, G, A, B ). Y finalmente, en la parte derecha se pueden

observar los valores de los parámetros como por ejemplo la desviación , la nota en MIDI,

la escala y el pitch.

Además , la aplicación indica con un mensaje en verde si la nota está afinada o en

rojo si está desafinada. Esta opción ayudará a los usuarios afinar su instrumento musical

rápidamente .

Los dos canales que aparecen en la parte inferior de la pantalla corresponden a

los canales de sonido y muestran la forma de onda del éste. También existen las

siguientes opciones :

• Guardar sonido presionando la tecla ‘f’

• Capturar sonido presionando la tecla ‘s’

• Detener la grabación presionando la tecla ‘e’ .

Page 29: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

29

Figura 12. Pantalla principal de la aplicación.

5. RESULTADOS Y DISCUSIÓN

5.1. TRABAJO FINAL OBTENIDO

El trabajo final obtenido es un simulador de oído que indica, con suficiente precisión,

si las notas tocadas están afinadas o desafinadas.

Se puso este trabajo a prueba para verificar su rendimiento. Para ello, se utilizó la

herramienta de instrumentos incluida en el compilador Xcode y se llegó a la conclusión de

que el elevado porcentaje dado por la unidad central del procesador CPU y el alto consumo

de batería significan que la aplicación requiere mucha energía para la realización de una

gran cantidad de operaciones aritméticas y lógicas.

Otra información a incluir sobre la eficacia del programa es que de manera

experimental nuestro sistema de afinación opera en entre 172 Hz y 1200 Hz que es el rango

de funcionamiento de la guitarra eléctrica.

Page 30: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

30

5.2. LÍNEAS DE FUTURO

El trabajo fin de grado desarrollado se puede complementar con diferentes ideas

surgidas durante la implementación de la aplicación de afinador de instrumentos musicales

para dispositivos móviles. A continuación se citan algunas de estos ideas interesantes la

cuales pueden ser incluidas para futuros trabajos fin de grado.

• Historial de errores.

• Estadísticas.

• Afinación micro tonal.

• Exhibición de altura del sonido .

• Pantalla de osciloscopio para calibrar la afinación.

• Invento de afinaciones personalizadas.

• Automatización del proceso de afinación para minimizar la intervención

humana.

6. CONCLUCIONES

6.1. CONCLUSIONES OBTENIDAS

• El afinador digital es apto para ejecutarse en computadoras de Apple para

cualquier tipo de hardware. Al funcionar aceptablemente en dispositivos móviles,

como computadoras de bajos recursos, resulta evidente que funcionará en

cualquier otra computadora con mejores características. Se percibieron muy

pocas diferencias en el desempeño del afinador al utilizar una computadora de

escritorio con un potente procesador.

• Además de los factores comunes en el procesado digital de sonido, se dieron a

conocer otros factores que se pueden aprovechar al utilizar el compilador Xcode y

se demostró la facilidad con que se pueden ejecutar algoritmos que, en cualquier

otro lenguaje, serían mucho más complicados de implementar o presentar similar

eficiencia.

• La sencillez de la interfaz gráfica elaborada para el afinador permitió que los

usuarios, con distintos niveles de conocimiento de música, pudieran afinar

cómodamente un instrumento musical en cuestión de minutos.

Page 31: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

31

7. PLIEGO DE CONDICIONES

7.1. REQUISITOS DE LA APLICACIÓN

El trabajo de fin de grado desarrollado, una aplicación de afinación llamada DIGITAL

TUNER, necesita de una dispositivo móvil que soporte la plataforma Mac OS o IOS la cual

debe de presentar una versión reciente de dicho sistema operativo para su correcto

funcionamiento.

Como se ha nombrado anteriormente, la aplicación ha sido probada a lo largo de

todo el proceso en un Mac 10.9.5 , con una velocidad de CPU de 2,4 GHz , por lo que

para computadoras con mayor procesador no debe existir ningún problema. No se ha

podido probar para iPad o para iPhone con inferior CPU pero si ha sido probado en

Xcode simulando una plataforma IOS y ha respondido correctamente.

7.2. CARACTERÍSTICAS DEL DISPOSITIVO DE DESARROLLO

A continuación se muestran las características aportadas por el fabricante del

dispositivo utilizado para la realización de todo el banco de pruebas durante el desarrollo de

la aplicación. Se ha trabajado con un Mac OS 10.9.5

Dimensiones y peso

Alto: 2,74 cm

Ancho: 33,03 cm

Fondo : 23,17 cm

Peso: 2,13 kg

Procesador y memoria

• Core 2 Duo de Intel a 2,4 GHz con 3 MB de caché de nivel 2 compartida

integrada

• Bus frontal a 1.066 MHz

• 2 GB de SDRAM DDR3 (en dos módulos SO-DIMM de 1 GB) a 1.066

MHz; dos ranuras SO-DIMM admiten hasta 4 GB

Comunicaciones

• Acceso a redes inalámbricas 802.11n con la AirPort Extreme2 compatibles

con las 802.11a, b y g del IEEE

Page 32: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

32

• Tecnología inalámbrica Bluetooth 2.1 + EDR (Enhanced Data Rate)

integrada

• Ethernet Gigabit 10/100/1000BASE-T (conector RJ-45)

Rendimiento acústico

Tabla 1.Emisiones acústicas declaradas en conformidad con la norma ISO 9296

• LWAd indica el nivel de potencia acústica ponderada A del límite superior

estadístico (redondeado al 0,1 B más cercano).

• LpAm indica el nivel medio de presión de sonido ponderada A calculado en

la posición del operador (redondeado al dB más cercano).

• 1 B (belio) = 10 dB (decibelio).

Pantalla

Pantalla panorámica brillante retroiluminada por LED de 13,3 pulgadas (en

diagonal) capaz de reproducir millones de colores

Resoluciones compatibles:

1.280 por 800 (nativa), 1.152 por 720, 1.024 por 768, 1.024 por 640, 800 por 600,

800 por 500, 720 por 480 y 640 por 480 píxeles a una relación dimensional de 16:10;

1.024 por 768, 800 por 600 y 640 por 480 píxeles a una relación dimensional de 4:3; y

720 por 480 a una relación dimensional de 3:2

Gráficos y vídeo :

• Procesador gráfico GeForce 320M de NVIDIA con 256 MB de SDRAM

DDR3 compartida con la memoria principal3.

• Escritorio ampliado y vídeo en espejo: admite simultáneamente la

Page 33: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

33

resolución nativa completa en la pantalla integrada y hasta 2.560 por 1.600

píxeles en una pantalla externa, ambas con capacidad para millones de

colores.

• Cámara iSight

• Puerto Mini DisplayPort

Audio

• Altavoces estéreo

• Micrófono omnidireccional

• Entrada de línea y de auriculares combinada (admite salida digital)

• Compatibilidad con los auriculares estéreo con micrófono para el iPhone

de Apple

Conexiones y ampliación

• Toma de corriente MagSafe

• Puerto Ethernet Gigabit

• Puerto Mini DisplayPort

• Dos puertos USB 2.0 (hasta 480 Mb/s)

• Entrada/salida de audio

• Ranura de seguridad Kensington

Almacenamiento

• Disco duro Serial ATA de 250 GB a 5.400 rpm; disco opcional de 320 o

500 GB a 5.400 rpm4

• SuperDrive a 8x de carga por ranura (DVD±R DL [doble capa], DVD±RW

y CD-RW) Velocidad máxima de grabación: DVD-R y DVD+R a 8x; DVD-R

DL (doble capa), DVD+R DL (doble capa), DVD-RW y DVD+RW a 4x; CD-

R a 24x; y CD-RW a 10x Velocidad máxima de lectura: DVD-R, DVD+R y

DVD-ROM a 8x; DVD-ROM (DVD-9 de doble capa), DVD-R DL (doble

capa), DVD+R DL (doble capa), DVD-RW y DVD+RW a 6x; y CD a 24x

Batería y consumo

• Hasta 10 horas de productividad inalámbrica

• Batería de polímeros de litio de 63,5 vatios integrada

Page 34: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

34

• Adaptador de corriente MagSafe de 60 vatios con sistema de recogida de

cable

• Toma de corriente MagSafe

Requisitos eléctricos y de funcionamiento

• Tensión: de 100 a 240 V de CA

• Frecuencia: de 50 a 60 Hz

• Temperatura de funcionamiento: de 10 a 35 °C

• Temperatura de almacenamiento: de -24 a 45 °C

• Humedad relativa: del 0 al 90 % sin condensación

• Altitud máxima de funcionamiento: 3.000 m

• Altitud máxima de almacenamiento: 4.500 m

• Altitud máxima de transporte: 10.500 m

Page 35: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

35

8. ANEXOS

8.1 ANEXO I. Manual de usuario

Este manual explica al usuario como utilizar el programa de afinación para

instrumentos musicales. No es necesario que el usuario sea un experto en música, es

suficiente si conoce el nombre de las cuerdas si es un instrumento de cuerdas y el

nombre de las teclas si es un instrumento de percusión .

Descripción de las teclas ( key pressed ) :

‘s’ : Si se marcó, el afinador creara un fichero para guardar el sonido captado por el

micrófono de la computadora .

‘f’ : Si se marcó, el afinador guardara los datos del sonido en el fichero creado

anteriormente .

‘e’ : El funcionamiento del afinador y la grabación del sonido se detienen .

Descripción de los Pitch Sliders:

C : emite el tono de la nota Do

C#: emite el tono de la nota Re b

D : emite el tono de la nota Re

D#: emite el tono de la nota Mi b

E : emite el tono de la nota Mi

F : emite el tono de la nota Fa

F# : emite el tono de la nota Sol b

G : emite el tono de la nota Sol

G #: emite el tono de la nota La b

A : emite el tono de la nota La

A #: emite el tono de la nota Si b

B : emite el tono de la nota Si

Una vez iniciada la aplicación y recibida la pulsación del instrumento, el afinador

mostrará en la pantalla la nota tocada en ese momento , la frecuencia ‘Pitch’ ,la interfaz

digital de instrumentos musicales ‘MIDI’ , la escala y la desviación ‘ Deviation ’ indicando

a que porcentaje se está de la nota indicada en la pantalla, puede ser un 20 o 40 por

ciento sobre o por debajo de la misma.

Page 36: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

36

El afinador también puede indicar si el instrumento esta desafinado o no , esta

opción es muy útil para personas sin conocimientos sobre música.

Si el afinador no detecta la nota, eso significa que:

• La frecuencia recibida de mayor potencia es muy baja y no corresponde a

ninguna nota musical.

• La frecuencia recibida es muy alta o sólo está detectando ruido lo que se le puede

atribuir a que la potencia recibida no es suficiente para ser detectada. En el último

caso, se puede corregir si se acerca el micrófono al instrumento o viceversa.

Puede ser también que el micrófono no esté funcionando.

8.1.1. INSTRUCCIONES PARA AFINAR :

Se realizaron las pruebas sobre una guitarra eléctrica en diferentes estados

concernientes a calidad en las clavijas y cuerdas. Las figuras 13, 14, 15, 16, 17 y 18

muestran el proceso realizado para la afinación del instrumento.

Pasos :

1) Se enchufa la guitarra, luego se toca una cuerda y se observa la pantalla del afinador

digital; si aparece el mensaje “ Tuned “ eso significa que la cuerda está afinada. Por

tanto no hace falta ajustarla.

Figura 13. Prueba de afinación de la sexta cuerda

Page 37: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

37

Figura 14. Pantalla de afinador : Cuerda afinada

2) Si se toca la cuerda y se observa por pantalla el mensaje “ Detuned ” eso significa

que se debe ajustar la afinación moviendo la clavija de la correspondiente cuerda .

Figura 15. Prueba de afinación de la segunda cuerda

Page 38: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

38

Figura 16. Pantalla de afinador : Cuerda desafinada

Figura 17. Ajustes de la cuerda desafinada

Page 39: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

39

Figura 18. Pantalla de afinador : Cuerda afinada después de ajustarla

3) Se repite este procedimiento para las seis cuerdas de la guitarra.

Page 40: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

40

8.2. ANEXO II. Documentación técnica

Files List

Include/ofApp.h

Implementation for DIGITAL TUNER

app utilities

Include /Yin.h Implementation of pitch extraction

Src/ofApp.mm Implementation of DIGITAL TUNER app

Src/Yin.mm Implementation of pitch extraction

Src/main.mm

Implementation of pitch extraction Yin.mm

#include "iostream.h"

#include <stdlib.h>

#include "Yin.h"

#include <math.h>

#include <stdio.h>

using namespace std;

Functions

void Yin_init(Yin *yin, float bufferSize, float threshold)

Inicializa los campos de la estructura Yin .

float Yin_getPitch(Yin *yin,vector<float> buffer)

Ejecuta el algoritmo Yin encargado de calcular la frecuencia fundamental

void Yin_difference(Yin *yin,vector<float>buffer)

Paso 1 del método Yin : Calcula la diferencia al cuadrado de la señal con

sí misma desplazada en el tiempo

void Yin_cumulativeMeanNormalizedDifference(Yin *yin)

Paso 2: Se calcula la media acumulada de la diferencia normalizada calculada

en el paso 1

float Yin_absoluteThreshold(Yin *yin)

Page 41: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

41

Paso 3: Realice una búsqueda entre la matriz media acumulada normalizada

y devuelve valores que están por encima del umbral

Detailed Description

Implementation of pitch extraction.

Author:

Kaoutar El alga

Definition in file yin.mm.

Function Documentation

Yin_init ( Yin *yin,

float bufferSize,

float threshold )

Inicializa los campos de la estructura Yin.

Parameters:

yin Yin objeto para inicializar el método de detección de pitch

bufferSize Longitud del búfer de audio para analizar.

threshold Umbral que permite la incertidumbre

Yin_getPitch ( Yin *yin,

vector<float> buffer)

Ejecuta el algoritmo Yin .

Parameters:

yin Yin objeto para inicializar el método de detección de pitch

buffer Vector para almacenar datos del sonido

Page 42: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

42

Returns:

Devuelve la frecuencia fundamental de la señal en Hz. Devuelve -1 si no se puede

encontrar valores que están por encima del umbral .

Yin_difference ( Yin *yin,

vector<float>buffer )

Calcula la diferencia al cuadrado de la señal con sí misma desplazada en el tiempo para

la mitad de las muestras.

Parameters:

yin Yin objeto para inicializar el método de detección de pitch

buffer Vector donde almacenar datos del sonido

Yin_cumulativeMeanNormalizedDifference(Yin *yin)

Calcula la diferencia al cuadrado de la señal con sí misma desplazada en el tiempo para

la mitad de las muestras.

Parameters:

yin Yin objeto para inicializar el método de detección de pitch

Yin_absoluteThreshold (Yin *yin)

Realice una búsqueda en la matriz media acumulada normalizada

Parameters:

yin Yin objeto para inicializar el método de detección de pitch

Returns:

Devuelve valores que están por encima del umbral predefinido.

Implementation of pitch estimation Yin.h

Page 43: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

43

#include "ofMain.h"

#include <stdint.h>

#include <fstream>

Typedefs

ypedef struct _Yin Yin

Contiene todas las variables necesarias para detectar el pitch

Defines

YIN_SAMPLING_RATE Presenta el valor de la frecuencia de muestreo

YIN_DEFAULT_THRESH Presenta el valor del umbral elegido

Functions

void Yin_init(Yin *yin, float bufferSize, float threshold)

Inicializa los campos de la estructura Yin .

float Yin_getPitch(Yin *yin,vector<float> buffer)

Ejecuta el algoritmo Yin encargado de calcular la frecuencia

fundamental del sonido

Detailed Description

Implementation of pitch estimation.

Los pasos seguidos para la implementación del algoritmo Yin vienen explicados en :

"YIN, a fundamental frequency estimator for speech and music". Alain de Cheveigné and

Hideki Kawahara. Journal of the Acoustical Society of America, 111 (4), April 2002. [12]

Definition in file yin.h.

Page 44: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

44

Function Documentation

Yin_init ( Yin *yin,

float bufferSize,

float threshold )

Inicializa los campos de la estructura Yin.

Parameters:

yin Yin objeto para inicializar el método de detección de pitch

bufferSize Longitud del búfer de audio para analizar.

threshold Umbral que permite la incertidumbre

Yin_getPitch ( Yin *yin,

vector<float> buffer)

Ejecuta el algoritmo Yin .

Parameters:

yin Yin objeto para inicializar el método de detección de pitch

buffer Vector para almacenar datos del sonido

Implementation for DIGITAL TUNER app utilities

#include "ofMain.h"

#include <iostream.h>

#include <stdlib.h>

#include <stdint.h>

#include "Yin.h"

#include <fstream>

#include "ofxUI.h"

#include "ofxGui.h"

Page 45: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

45

Variables

float vector <float> left

Vector para almacenar los datos provenientes del canal izquierdo

float vector <float> right

Vector para almacenar los datos provenientes del canal derecho

int bufferCounter

Cuenta las muestras del buffer

FILE *file

Puntero encargado de escribir los datos de los canals en un fichero

Yin yin

Se declara el objeto Yin

float pitch

Es la frecuencia fundamental en Hz

float midi

Es la frecuencia de la nota en MIDI

ofSoundStream soundStream

Controla y lee el sonido

ofxUISperCanvas *gui, *gui1

Punteros para la interfaz , función de la librería ofxUI

int escala

Presenta la escala de la nota tocada

Classes

ofApp Hereda de la clase OfBaseApp

Clase principal de la aplicación

Methods

void Setup ( )

Inicialización de las variables y de las funciones

Page 46: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

46

void Update ( )

Actualización de las variables y de las funciones

void Draw()

Para dibujar

void audioIn(float * input, int bufferSize, int nChannels)

Analiza audio de entrada

void threadedFunction()

Se encarga de leer el mensaje AFINADO , DESAFINADO

Detailed Description

Implementation for DIGITAL TUNER app utilities.

Function Documentation

audioIn( float * input,

int bufferSize,

int nChannels)

Método llamado cada vez que el sistema detecta sonido del micrófono

Parameters:

input Puntero a la matriz de datos

bufferSize Tamaño del buffer

nChannels Numero de canales de sonido

frequencyComparison (float pitch)

Compara las frecuencias de las notas musicales predefinadas y las notas musicales

tocadas .

Parameters:

pitch Es el valor calculado por el método Yin

Page 47: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

47

Implementation for DIGITAL TUNER app

#include "ofApp.h"

#include<unistd.h>

#include <stdio.h>

#include "Yin.h"

#include <stdlib.h>

#include "Note.h"

using namespace std;

Functions of setup ()

ofSetVerticalSync()

Ayuda a dibujar suavizamente objetos

ofBackground() Segun las coordenadas de RGB , asigna un color u otro a la pantalla

left.asign() Inicializa el buffer del canal izquierdo

right.asign() Inicializa el buffer del canal derecho

soundStream.setup Se utiliza para obtener más acceso de bajo nivel en el búfer de sonido

Functions of draw ()

ofDrawBitmapString Muestra por pantalla texto

ofNoFill() Dibuja líneas

ofPushStyle() Permite a los usuarios tener más control de ciertos elementos gráficos

Page 48: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

48

ofPushMatrix() Guarda el sistema actual de coordenadas

ofTranslate Modifica posiciones gráficas

ofSetColor() Establece el color empate con r, g, b, 0-255.

ofSetLineWidth() establece el ancho de las ofLines

ofRect() Dibuja un rectángulo desde el punto x, y con una anchura y una altura dada.

ofBeginShape() para empezar a dibujar una nueva forma

ofVertex()

Especifica un único punto de una forma. Para ser llamado entre

ofBeginShape y ofEndShape ().

ofEndShape()

Indica al programa que su forma está terminado y que ahora debe

elaborar a la pantalla

ofPopMatrix() Restaura el sistema de coordenadas

ofPopStyle();

Restaura los ajustes de estilo anteriores

addSlider()

Añadir deslizante, función de la librería ofxUI

Page 49: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

49

setWidgetPosition() Establecer Widget Posición , función de la librería ofxGUI

addSpacer()

Añadir espacio, función de la librería ofxGUI

addTextArea() Añadir espacio para texto , función de la librería ofxUI

Functions of keyPressed ()

fopen()

Abre un fichero

fwrite() Escribe datos

fclose()

Cierra el fichero

Functions Documentation

audioIn( float * input,

int bufferSize,

int nChannels)

Método llamado cada vez que el sistema detecta sonido del micrófono.

Parameters:

input Puntero a la matriz de datos

bufferSize Tamaño del buffer

nChannels Numero de canales de sonido

Page 50: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

50

8.3. ANEXO III.

Índice de figuras

1. Movimiento armónico simple ..................................................................................6

2. Diferencia de fase entre dos movimientos armónicos ...............................………..7

3. Sensibilidad de la membrana basilar......................................................................8

4. Una octava en el teclado del piano ...................................................................... 12

5. Elementos de una Guitarra Eléctrica Convencional...............................................13

6. Ejemplo de la forma de onda de la voz hablada……………………………………..17

7. Representación de la función diferencia y de la función diferencia

normalizada de media acumulativa……………………………………………………20

8. Representación de la función diferencia y de la función diferencia normalizada

de media acumulativa………………………………………………………………….….22

9. Diagrama de flujo de la aplicación………………………………..…………………...25

10. Sincronización de las hebras principales……………………………………………26

11. División porcentual de una nota musical en el espectro…………………………..27

12. Pantalla principal de la aplicación……………………………………………………29

13. Prueba de afinación de la sexta cuerda……………………………………………..36

14. Pantalla de afinador : Cuerda afinada………………………………………………..37

15. Prueba de afinación de la segunda cuerda…………………………………………..37

Page 51: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

51

16. Pantalla de afinador : Cuerda desafinada…………………………………………...38

17. Ajustes de la cuerda desafinada………………………………………………………38

18. Pantalla de afinador : Cuerda afinada después de ajustarla………………………39

Índice de tablas

1.Emisiones acústicas declaradas en conformidad con la norma ISO 9296……….32

Page 52: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

52

9. REFERENCIAS BIBLIOGRÁFICAS

[1] EMSIA. Curso intensivo de sonido. España: Excen Cap, 2002. 10 p.

[2] Constantino Pérez Vega. El sonido y audición. Universidad de Cantabria.

[3] F.sicaBy Raymond A. Serway, Jerry S. Faughn, P.gina 444 capitulo 14 sonido.

[4] Estructura y partes que componen una guitarra eléctrica.

http://www.guitaracordes.com/cursoguitarra/3-Estructura_Guitarra.php

[5] Juan Sebastián Guevara Sanin. Teoría de la música. 2010

[6] HERRERA, Enric. Teoría musical y armonía moderna Vol. I. España: Antoni Bosch,

2001.133 p.

[7] ROEDERER, Juan G. The physics and psychophysics of music. New York: Springer

Science, 2008. 228 p.

[8] R. A. Rasch y R. Plomp (1982), Apuntes de "ThePerception of Musical Tones".

http://www.eumus.edu.uy/docentes/jure/teoria/plomp/plomp.html

[9] VOLKOV, Andrei. ¿Cómo se produce la música? [en línea]

www.musicaperuana.com/espanol/mm.htm

[10] Ciencia de afinar instrumentos musicales,

http://es.get-tuned.com/ciencia-de-afinacion.php

[11] http://openframeworks.cc/tutorials/

[12] Método YIN , http://www.cs.tut.fi/~digaudio/htyo/lahteet/2002_JASA_YIN.pdf

[13] Start Developing Mac Apps Today , https://developer.apple.com

[14] Interfaz de usuario , https:://www.syedrezaali.com/#/cinderui/

[15] BecomeAnXcoder

Page 53: PROGRAMACIÓN DE HERRAMIENTAS DE ... - …tauja.ujaen.es/bitstream/10953.1/2173/1/TFG-KAOUTAR EL ALGA.pdf · UNIVERSIDAD DE JAÉN Escuela Politécnica Superior de Linares Trabajo

53

https://docs.google.com/file/d/0B82hpQT0csVQYmg4R1RqWjNkdEE/edit>

[16] Professional C++ http://it-ebooks.info/book/769/

[17] Acústica Musical y Organología, Tirso de Olazabal . Buenos Aires, Argentina.