Download TFG-KAOUTAR EL ALGA - TAuja

Document related concepts

Afinación del piano wikipedia , lookup

Octava wikipedia , lookup

Batimiento wikipedia , lookup

Acústica del piano wikipedia , lookup

Guitarra eléctrica wikipedia , lookup

Transcript
Escuela Politécnica Superior de Linares
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
Í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
2
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
3
4
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
5
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
6
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.
7
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
8
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
9
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.
10
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).
11
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
12
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
13
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 (15131590), 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.
14
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 .
15
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.
16
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.
17
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.
18
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.
19
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
20
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.
21
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.
22
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,
23
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
24
Figura 9. Diagrama de flujo de la aplicación
25
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
26
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 :
27
𝑝 − 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’ .
28
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.
29
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.
30
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
31
•
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
32
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; CDR 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
33
•
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
34
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.
35
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
36
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
37
Figura 16. Pantalla de afinador : Cuerda desafinada
Figura 17. Ajustes de la cuerda desafinada
38
Figura 18. Pantalla de afinador : Cuerda afinada después de ajustarla
3) Se repite este procedimiento para las seis cuerdas de la guitarra.
39
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)
40
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
41
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
42
#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.
43
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"
44
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
45
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
46
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
47
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
Especifica un único punto de una forma. Para ser llamado entre
ofVertex()
ofEndShape()
ofBeginShape y 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
48
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
Escribe datos
fwrite()
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
49
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
50
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
51
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
52
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.
53