Logo Studenta

diseno_acordeon_Italiano_zambrano_2013

¡Este material tiene más páginas!

Vista previa del material en texto

1. TIPO DE DOCUMENTO: Trabajo de grado para optar por el título de INGENIERO DE 
SONIDO. 
2. TÍTULO: DISEÑO DEL ACORDEÓN ITALIANO FIROTTI PARA DISPOSITIVO MÓVIL TABLET 
3. AUTORES: Camilo Zambrano y Gildardo David Rubio. 
4. LUGAR: Bogotá, D.C. 
5. FECHA: Noviembre 2013 
6. PALABRAS CLAVES: Dispositivo móvil, aplicaciones, Xcode, iOS, Audio units, motor de 
audio, interfaz gráfica, algoritmo, librería de audio, simulación. 
7. DESCRIPCIÓN DE TRABAJO: El objetivo principal de este proyecto es el diseño de una 
aplicación para un dispositivo móvil iPad mediante la implementación de un algoritmo de 
programación, que simule el comportamiento del acordeón italiano FIROTTI a través de 
una interfaz gráfica y sea posible interpretarlo en tiempo real. 
8. LÍNEAS DE INVESTIGACIÓN: Línea de investigación USB: Tecnologías actuales y sociedad -> 
Análisis y procesamiento de señales -> Acústica y audio. 
9. FUENTES CONSULTADAS: App, Developers. ”XcodeUser Guide”, App, Developers. ” 
iOSTechnologyOverview, App, Developers.” Core Animation Programming 
GuideSeptiembre “, App, Developers. ” Core Audio Overview“, App, Developers. ” Audio 
QueueServicesProgramming, App, Developers.” Audio Unit Hosting Guide for iOSGuide“. 
10. CONTENIDOS: Se diseña una aplicación para un dispositivo móvil iPad que simule el 
comportamiento de un acordeón Italiano Firotti. Se implementa a través de X-Code, 
software para el desarrollo de Aplicaciones en dispositivos móviles Apple. Se requiere 
lograr reproducir los archivos de audio de una librería previamente capturada en estudios 
de grabación, de manera instantánea, es decir, con los más bajos niveles de latencia 
posibles, además, relacionar este proceso con la interfaz gráfica diseñada, de tal forma 
que se perciba visualmente la interacción con el instrumento digital. El usuario podrá 
interactuar mediante una interfaz gráfica que contiene las partes más importantes del 
instrumento: teclas y botones, los cuales accionarán los sonidos del instrumento que 
fueron garbados previamente, al tener contacto “Touch” con la superficie del dispositivo. 
Un problema adicional es la reproducción simultánea de dos o más archivos de audio, lo 
que comúnmente se conoce como el número de voces. 
11. METODOLOGÍA: El desarrollar una aplicación por medio del software X-Code para 
sistemas operativo iOS es haciendo uso de la herramienta que ofrece Core Audio; Audio 
Units, motor de audio especializado para realizar aplicaciones que demandan 
procesamiento de audio avanzado, con bajos niveles de latencia. 
12. CONCLUSIONES: La respuesta de la aplicación en las simulaciones y prueba de 
funcionalidad cumple con los objetivos planteados, se requiere la optimización de la 
aplicación con el uso del multigestual del dispositivo. 
 
 
DISEÑO DEL ACORDEÓN ITALIANO FIROTTI PARA DISPOSITIVO 
MÓVIL TABLET 
 
 
 
 
 
 
 
 
CAMILO ZAMBRANO 
GILDARDO DAVID RUBIO M. 
 
 
 
 
 
 
 
 
 
UNIVERSIDAD DE SAN BUENAVENTURA 
FACULTAD DE INGENIERÍA 
PROGRAMA DE INGENIERÍA DE SONIDO 
 
 
 
 
BOGOTÁ, DC - 2013 
DISEÑO DEL ACORDEÓN ITALIANO FIROTTI PARA DISPOSITIVO 
MÓVIL TABLET 
 
 
 
 
CAMILO ZAMBRANO 
GILDARDO DAVID RUBIO M. 
 
 
 
 
Trabajo presentado como requisito parcial para optar al título de 
profesional en Ingeniería de Sonido 
 
Asesor: 
Ingeniero Shimmy García 
 
 
 
 
 
 
 
UNIVERSIDAD DE SAN BUENAVENTURA 
FACULTAD DE INGENIERÍA 
INGENIERÍA DE SONIDO 
 
BOGOTÁ, D.C. - 2013 
Índice 
Pág. 
Introducción 
1. Capítulo 1. Formulación del Problema 
 
1.1. Antecedentes……………………………………………………….……………………………………………….1 
1.2. Descripción y Formulación del Problema…………….…………………………………………………2 
1.3. Justificación….…………………………………………………………………………………………………..…..3 
1.4. Objetivos 
1.4.1. Objetivo General………………………………………………………………………………..…………..…3 
1.4.2. Objetivos Específicos………………………………………………………………………..…………….…4 
1.5. Alcances y Limitaciones 
1.5.1. Alcances…………………………………………………………………………………………………………….4 
1.5.2. Limitaciones……………………………………………………………………………………………………...4 
 
2. Capítulo 2. Marco de Referencia 
 
2.1. Marco Teórico 
2.1.1. Dispositivos Móviles.……………………………………………………………………………………..…5 
2.1.2. Phonegap………………………………….…………………………………………………………………..…5 
2.1.3. Herramientas de desarrollo de Aple………………….…………………………………………..…6 
2.1.3.1. X-Code……..……………………………………………………………………………………..…7 
2.1.3.2. Estructura de X-Code………………………………………………………..……………….8 
2.1.3.3. iOS…………………………………………………………………………………..……………….14 
2.1.3.4. CocoTouch……………………………………………………………………………………….15 
2.1.3.4.1. CoreAnimation…………………………………………………………………….17 
2.1.3.4.2. Core Audio…………………………………………………………………..………20 
2.1.3.4.2.1. Audio Queue…………………………………………………………………24 
2.1.3.4.2.2. Audio Units……………………………………………………………………29 
2.1.3.4.2.3. Av Fundation…………………………………………………………………35 
2.1.4. Acordeón 
2.1.4.1. Tipos de acordeón……………………………………………………………………………36 
2.1.4.1.1. Acordeón cromático piano…………………………………………………..36 
2.1.4.1.2. Acordeón cromático de botones………………………………………….37 
2.1.4.1.3. Acordeón diatónico……………………………………………………………..37 
2.1.5. Grabación de librería de audio 
2.1.5.1. Señal de audio………………………………………………………………………………….38 
2.1.5.2. Muestreo…………………………………………………………………………………………39 
2.1.5.3. Técnico de Captura…………………………………………………………………………..40 
2.1.5.4. Micrófono………………………………………………………………………………………..41 
2.1.5.4.1. Patrón de directividad 
2.1.5.4.1.1. Cardiode…………………….…………………………………………………41 
2.1.5.4.1.2. Bidireccional…………………………………………………………..……..42 
2.1.5.5. Ecualización 
2.1.5.5.1. Ecualizador grafico……………………………………………………………...43 
2.1.5.5.2. Ecualizador semiparametrico………………………………………………43 
2.1.5.5.3. Ecualizador paramétrico………………………………………………………44 
2.1.6. Conceptos dentro del algoritmo de desarrollo……………………………………………….44 
2.2. Marco legal…………………………………………………………………………………………………………46 
 
3. Capítulo 3. Metodología. 
 
3.1. Líneas de Investigación………………………………………………………………………………………47 
3.2. Hipótesis……………………………………………………………………………………………………………47 
3.3. Variables 
3.3.1. Variables Independientes……………………………………………………………..…48 
3.3.2. Variables dependientes…………………………………………………………………..48 
 
4. Capítulo 4. Desarrollo Ingenieril 
 
4.1. Grabación librería de audio…………………………………………………………………………………………49 
4.2. Algoritmo…………………………………………………………………………………………………………………….56 
4.3. Desarrollo interface……………………………………………………………………………………………………..63 
 
5. Capítulo 5. Presentación y análisis de resultados 
 
5.1. Librería de Audio………………………………………………………………………………………………………….67 
5.2. Algoritmo…………………………………………………………………………………………………………………….70 
5.3. Simulador iOS………………………………………………………………………………………………………………72 
5.4. Prueba de funcionalidad………………………………………………………………………………………………74 
5.5. Recomendaciones………………………………………………………………………………………………………..76 
 
6. Capítulo 6. Conclusiones…………………………………………………………………………………………………….77 
7. Capítulo 7. Bibliografía.……………………………………………………………………………………………………..79 
8. Capítulo 8. Anexos 
8.1. Anexo A………………………………………………………………………………………………………………………83 
8.2. Anexo B………………………………………………………………………………………………………………………84 
 
 
 
 
 
 
Índice de Tablas Figuras y cuadros 
 
Figuras. 
 Pag. 
Figura 1.1. Acordeón Alex Komartov Inc.……………………………………..…………………………………………………1 
Figura 1.2. Acordeón Hohner……………………………………….…………………………………………………………………2 
 
Figura 2.1.Dispositivos Móviles……………………………………………………………………………………………………...5 
Figura 2.2. Visualización Estructura Plataforma X-Code.…………………………………………………………………9 
Figura 2.3. Estructura del navegador……………………………………………………………………………………….……10 
Figura 2.4.InterfaceBuilder.…………………………………………………………………………………………………………11 
Figura 2.5.Storyboards.………………………………………………………………………………………………………………..11 
Figura 2.6. Editor de código………………………………………………………………………………………………………….12 
Figura 2.7.Área de inspección.……………………………………………………………………………………………………..12 
Figura 2.8.Área de biblioteca………………………………………………………………………………………………………..13 
Figura 2.9. Slider……………………………………………………………………………………………………………………..……13 
Figura 2.10. IOS en dispositivos móviles……………………………………………………………………………………….15 
Figura 2.11. Capas iOS………………………………………………………………………………………………………………….15 
Figura 2.12. Estructura CoreAnimation.………………………………………………………………………………………..17 
Figura 2.13.Modificación por medio de Propiedades……………………………………………………………………18 
Figura 2.14. Capas CoreAnimation en iOS………………….…………………………………………………………………20 
Figura 2.15. Arquitectura Core Audio…………………………………………………………………………………………..21 
Figura 2.16.Arquitectura Core Audio en Sistema operativo IOS……………………………………………………23 
Figura 2.17. Esquema Audio Queue………………………………………………………………………………………………28 
Figura 2.18. Ejemplo flujo de señal Audio Units……………………………………………………………………………30 
Figura 2.19. Estructura Unidad I/O……………………………………………………………………………………………….33 
Figura 2.20. Ejemplo Audio Graph………………………………………………………………………………………………..34 
Figura 2.21.AV Fundation……………………………………………………………………………………………………………..35 
Figura 2.22. Acordeón Cromático de Piano…………………………………………………………………………………..36 
Figura 2.23.Acordeón Cromático de botones……………………………………………………………………………….37 
Figura 2.24. Acordeón Diatónico…………………………………………………………………………………………………..38 
Figura 2.23.Acordeón Firotti..……………………………………………………………………………………………………….39 
Figura 2.24. Diagrama Lengüetas Acordeón. ………………………………………………………………..………………40 
Figura 2.25. Lengüetas Acordeón. ………………………………………………………………………………..………………40 
Figura 2.26. Cardiode……………………………………………………………………………………………………………………42 
Figura 2.27.Bidireccional………………………………………………………………………………………………………………42 
Figura 2.28. Ecualizador Grafico……………………………………………………………………………………………………43 
Figura2.29. Ecualizador Paramétric………………………………………………………………………………………………44 
 
Figura 4.1. Estructura acordeón cromático…………………………………………………………………………………..50 
Figura 4.2. Rengo del espectro en frecuencia de los Bajos. …………………………………………………………51 
Figura 4.3. Rengo del espectro en frecuencia de las altas…………………………………………………………….52 
Figura 4.4. Micrófono AT 4050……..………………………………………………………………………………………………53 
Figura 4.5. Técnica MS………………….………………………………………………………………………………………………54 
Figura 4.6. Plano de planta Estudio B USB.……………………………………………………………………………………55 
Figura 4.7. Ubicación Paneles acústicos Live Room.……………………………………………………………..………55 
Figura 4.8 Ubicación micrófono Live Room…………………………………………………………………………………..56 
Figura 4.9. Diagrama de bloque flujo de señal………………………………………………………………………………56 
Figura 4.10. Funcionamiento de la aplicación..……………………………………………………………………………………58 
Figura 4.11.Diagrama de bloques funcionamiento del algoritmo..………………………………………………..59 
Figura 4.12. Diagramas de bloques de las clases. ……………………………………………………………………………….62 
Figura 4.12. Interface gráfica………..………………………………………………………………………………………………66 
 
Tabla 5.1. Espectro Técnica de grabación M-S..……………………………………………………………………………69 
Figura 5.2. Diagrama del funcionamiento en tiempo real..……………………………………………………………71 
Figura 5.3.Menú Principal. …………………………………………………………………………………………………………..72 
Figura 5.4.Créditos. ……………………………………………………………………………………………………………………..73 
Figura 5.5. Interfaz Gráfica..………………………………………………………………………………………………………….73 
Figura 5.6.Diagrama StoryBoard de la aplicación.………………………………………………………………….……..76 
Figura 5.7. Menú…………………………………………………………………………………………………………………………..75 
Figura 5.8. Prueba de funcionalidad……………………………………………………………………………………………..75 
Figura 5.9. Créditos………………………………………………………………………………………………………………………75 
 
Tabla 2.1 Unidades de Audio Units.………………………………………………………………………………………………31 
Tabla 4.1. Analogía instrumento musical y aplicación..…………………………………………………………………49 
Tabla 4.2 Java Fx y Cocoa Touch……………………………………………………………………………………………………64 
Tabla 4.3.Capas Interfaz Gráfica……………………………………………………………………………………………………65 
Tabla 5.1. Normalización intensidad y tiempo de las muestras…………………………………………………….68 
Tabla 5.2. Descripción proceso Post Producción…………………………………………………………………………..68 
Tabla 5.3. Tiempo e intensidad muestras finales………………………………………………………………………….69 
 
 
 
 
 
 
 
 
Introducción. 
 
 
Dentro de la historia, la evolución tecnológica ha traído consigo el desarrollo de innumerables 
instrumentos, desde computadoras de escritorio pasando por computadoras portátiles, hasta la 
invención de dispositivos de mano capaces de suplir necesidades de tipo ingenieril, entre muchas 
otras. La implementación del internet es sin duda una necesidad diaria de la humanidad, 
evidenciando el avance en el campo de las telecomunicaciones, razón por la cual la gama de 
productos que integran diversas herramientas en un solo dispositivo hoy en día es bastante 
amplia. 
El gran auge de los dispositivos móviles ha llevado a las compañías que compiten en dicho 
mercado a pensar en el mañana, generando continuamente avances e innovaciones que impactan 
a favor del crecimiento cuantitativo de sus usuarios. Un ejemplo claro es la empresa Apple, 
quienes han desarrollado dispositivos móviles con una evidente innovación tecnológica en su 
funcionamiento, su apariencia y su interacción con el usuario. El concepto vanguardista de 
interacción táctil en iPod, iPhone y iPad, cuyo funcionamiento se basa en la tecnología “Touch”, ha 
revolucionado el uso de los móviles y ha generado un concepto de software llamado aplicaciones, 
dando a los desarrolladores y programadores una cabida amplia a nivel mundial . 
Las aplicaciones pueden ser herramientas tan básicas como complejas, desde calculadoras, juegos, 
aplicaciones de comunicación, redes sociales y miles mas que cubren gran cantidad de áreas 
investigativas como electrónica, economía, idiomas, producción musical, etcétera; desencadenado 
un mundo infinito de conocimiento e investigación que forja altas demandas en el mercado. 
En consecuencia, el permanente desarrollo de aplicaciones para estos dispositivos, representa un 
campo de acción apto para la creación de nuevas herramientas tecnológicas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
1 
 
1. Formulación del problema. 
 
1.1. Antecedentes. 
 
En la universidad de San Buenaventura, sede Bogotá, se han realizado aplicaciones 
para el sistema operativo Mac OSX y dispositivos Andriod, sin embargo, no existen 
antecedentes o referencia sobre aplicaciones para dispositivos móviles como iPad. 
 
A nivel nacional existen diferentes empresas que desarrollan aplicaciones que 
relacionan audio para dispositivos móviles (Android & Apple) como por ejemplo 
juegos. 
 
A nivel internacional, dentro del mercado para dispositivos móviles, se destacan dos 
desarrollos que cumplen con las características principales de este proyecto; 
reproduce una librería de muestras de audio en tiempo real con baja latencia y 
además cuenta con una interfaz gráfica que recrea la forma original del instrumento. 
 
Alex Komartov Inc.[1
] Desarrolló un acordeón diatónico con un máximo de 3 voces 
musicales, compatible con tecnología iOS y Android, consta de 19 teclas y 8 botones 
llamado ACORDEÓN. 
 
El objetivo principal de la aplicación es brindar al usuario la experiencia de poder 
interpretar los sonidos del acordeón a través del contacto “Touch” con las teclas de la 
interface gráfica. En el mercado esta aplicación tiene un valor aproximado de 4 
dólares. 
 
 
 
 
 
 
 
 
 
 
 
Figura 1.1.[1] Acordeón Alex Komartov Inc. 
 
 
1
Alex, Komarov Inc.” Accordéon” Copyright 2010 Alex Komarov Inc. y Sergeyrachok disponible en http://accordion.akomarov.com/ 
http://accordion.akomarov.com/
 
2 
 
THE HONNER SQUEEZ BOX.[2]Es otra aplicación que desarrolla laempresa Honner, 
consta de cinco clases de acordeón HohnerBbebAb, Hohner ADG, Hohner GCF, 
Hohner FBbeb y Hohner EAD, están basados en su clásico acordeón diatónico Corona. 
El intérprete puede implementar un máximo de tres voces musicales, consta de 31 
botones y fue desarrollada para tecnología Apple y Android, estos acordeones están 
diseñados como un juego y suena como el instrumento tradicional. Es muy sensible y 
contiene un diapasón de tres filas. 
 
También se puede utilizar con fines educativos donde el usuario puede practicar 
acordes, escalas y canciones. Además facilita el aprendizaje al mostrar los nombres de 
las notas que corresponde cada botón. 
 
 
 
Figura 1.2. [3] Acordeón Hohner. 
 
1.2. Descripción y formulación del problema. 
 
Se quiere crear una aplicación para un dispositivo móvil iPad que simule el 
comportamiento de un acordeón Italiano Firotti. Se implementara a través de X-Code, 
software para el desarrollo de Aplicaciones en dispositivos móviles Apple. 
 
Se requiere lograr reproducir los archivos de audio de una librería previamente 
capturada en estudios de grabación, de manera instantánea, es decir, con los más 
bajos niveles de latencia posibles, además, relacionar este proceso con la interfaz 
 
2
Apple Inc.” La HohnerSqueezeBox”, [En línea]. 2013, [10 de Mayo del 2013]. Disponible en http://www.tradlessons.com/HohnerSqueezeBox.html 
3
Apple Inc.,” Hohner-GCF”. Copyright © 2013 Apple Inc, Disponible en https://itunes.apple.com/us/app/hohner-gcf-
squeezebox/id418689935?mt=8 
http://www.tradlessons.com/HohnerSqueezeBox.html
https://itunes.apple.com/us/app/hohner-gcf-squeezebox/id418689935?mt=8
https://itunes.apple.com/us/app/hohner-gcf-squeezebox/id418689935?mt=8
 
3 
 
gráfica diseñada, de tal forma que se perciba visualmente la interacción con el 
instrumento digital. 
 
El usuario podrá interactuar mediante una interfaz gráfica que contiene las partes más 
importantes del instrumento: teclas y botones, los cuales accionarán los sonidos del 
instrumento que fueron garbados previamente, al tener contacto “Touch” con la 
superficie del dispositivo. 
 
Un problema adicional es la reproducción simultánea de dos o más archivos de audio, 
lo que comúnmente se conoce como el número de voces. 
 
Todo esto nos lleva a formular una pregunta: 
 
¿Cómo desarrollar una aplicación por medio de la plataforma X-code para lograr la 
reproducción de archivos de audio en tiempo real en un dispositivo iPad? 
 
1.3. Justificación. 
 
Este proyecto nace al ver nuestra necesidad como estudiantes y futuros ingenieros de 
sonido de la Universidad de San Buenaventura, de incurrir en disciplinas como el 
desarrollo de software para trabajar con tecnología de vanguardia y nuevos lenguajes 
de programación, en este caso las aplicaciones para dispositivos móviles. Esta 
industria representa un campo laboral importante que puede integrar diferentes 
ramas de la carrera como por ejemplo: técnicas de grabación, síntesis electrónica de 
sonido, programación y DSP, entre otras, para generar software aplicado al audio. 
 
Al hacer una breve investigación en los proyectos de la Universidad de San 
Buenaventura sede Bogotá, se encontró que la gran mayoría se desarrollan para 
tecnología Android, por esto motivo se decidió incursionar en el desarrollo de 
aplicaciones para dispositivos móviles iPad con sistema operativo iOS. 
 
1.4. Objetivos. 
 
Objetivo General 
 
Diseñar una aplicación para un dispositivo móvil iPad mediante la implementación de 
un algoritmo de programación, que simule el comportamiento del acordeón italiano 
FIROTTI a través de una interfaz gráfica y sea posible interpretarlo en tiempo real. 
 
 
 
 
 
4 
 
Objetivos Específicos 
 
Crear una librería de audio que contenga un banco de grabaciones del acordeón 
italiano Firotti, realizando capturas del instrumento dentro de un estudio de 
producción a través de técnicas de grabación, edición de las tomas y procesamiento 
dinámico como compresión y ecualización paramétricas. 
 
Crear el algoritmo de programación dentro de la plataforma X-Code compatible con el 
sistema operativo iOS para dispositivos móviles de la empresa Apple, en el cual se 
relacionen los controles con los archivos de audio finalizados y donde intervenga el 
motor ROM de la aplicación. 
 
Crear la interfaz gráfica de la aplicación mediante CocoaTouch o Java FX, la cual será 
enlazada con el algoritmo realizado en X-Code. 
 
Realizar la simulación de la aplicación en la plataforma de simulación de iOS del 
sistema operativo Mac OSX dentro de X-Code. 
 
Realizar la prueba de funcionalidad dentro del dispositivo móvil iPad de tercera 
generación. 
 
1.5. Alcances y limitaciones. 
 
Alcances. 
 
Uno de los grandes propósitos a futuro es hacer parte del mercado dentro de 
AppStore, empresa desarrolladora de aplicaciones para dispositivos móviles. 
 
Generar y fomentar el campo investigativo de sistemas de DSP para dispositivos 
móviles, como consecuencia de la formación académica de ingenieros en la 
Universidad de San Buenaventura, sede Bogotá. 
 
Generar reconocimiento a la Universidad de San Buenaventura dentro del campo de 
diseño de software para dispositivos móviles. 
 
Limitaciones. 
 
Las tomas que se utilizan en la aplicación del acordeón, se limitan a la cantidad que se 
necesitan realmente para hacer viable ingenierilmente el desarrollo del proyecto. 
 
El número de botones y teclas del instrumento dependerá del tamaño de la interfaz 
gráfica y de la organización de los controles. 
 
5 
 
2. Marco de Referencia. 
 
2.1. Marco Teórico. 
 
2.1.1. Dispositivos Móviles. 
 
En el documento de “Dispositivos móviles” [4] de la Universidad de Oviedo 
define a un dispositivo móvil como cualquier aparato de pequeño tamaño, con 
algunas capacidades de procesamiento, con conexión permanente o 
intermitente a una red, con memoria limitada, diseñados específicamente 
para una función, pero que pueden llevar a cabo otras funciones más 
generales. 
 
Hoy en día podemos encontrar una multitud de dispositivos móviles, donde 
los teléfonos y tablets son los tipos de dispositivos más utilizados y conocidos 
en la actualidad que ofrecen una variedad de aplicaciones multimedia y 
presentan un continuo campo de evolución. 
 
 
Figura 2.1.Dispositivos Móviles.[5] 
2.1.2. Phonegap. 
 
BeginningPhoneGap[6] define a phongap como una plataforma para 
desarrollar aplicaciones para dispositivos móviles, compatible con eclipse y X-
Code, permitiendo crear aplicaciones para dispositivos iPhone, iPad, Androids, 
BlackBerries y dispositivos web´s. 
 
 
4Arturo, Baz .” Dispositivos móviles “,[10 de Mayo del 2013], pág. (1-10) 
5Sinónimo, “Dispositivos móviles”, disponible en http://blog.antevenio.com/2012/05/espana-lidera-tasas-apertura-emailing-
dispositivos-moviles/ 
6Tomas Myer, ”Beginning Phongap “,[10 de Mayo del 2013], pág.(2-17) 
 
6 
 
PhoneGap se basa en lenguaje web HTML y JavaScript, significa que se utiliza 
tecnología web implementada previamente, obteniendo acceso a muchos de 
las características nativas del dispositivo: brújula, cámara, la lista de contactos 
y mucho más. También se puede exportar el código web para varios 
dispositivos diferentes con simples cambios en su programación. 
 
PhoneGap resuelve dos problemas para los desarrolladores: 
 
 Utiliza un lenguaje familiar como lo es el HTML y JavaScript. 
 
 El código puede ser exportado en otra plataforma de forma rápida y 
sencilla. 
PhoneGap es un framework para el desarrollo de aplicaciones móviles 
producido por Nitobi y comprado posteriormente por Adobe Systems.1 2. 
Principalmente, PhoneGap permite a los programadores desarrollar 
aplicaciones para dispositivos móviles utilizando herramientas genéricas talescomo JavaScript, HTML5 y CSS3. 
Las aplicaciones resultantes son híbridas, es decir que no son realmente 
aplicaciones nativas al dispositivo, ya que el renderizado es realizado 
mediante vistas web y no con interfaces gráficas específicas a cada sistema; 
pero tampoco se trata de aplicaciones web. 
 
PhoneGap maneja APIs que permiten acceder a elementos como el 
acelerómetro, cámara, contactos en el dispositivo, red, almacenamiento, 
notificaciones, etc. PhoneGap además permite el desarrollo ya sea ejecutando 
las aplicaciones desde un navegador web, sin tener que utilizar un simulador 
dedicado a esta tarea y, además, brinda la posibilidad de soportar funciones 
sobre frameworks como SenchaTouch o JQuery Mobile. 
 
PhoneGap puede ser considerado como una distribución de Apache Cordova 
3, la aplicación fue llamada primero "PhoneGap" y luego "Apache Callback", 
Apache Cordova es un software de código abierto. 
 
2.1.3. Herramientas de desarrollo de Apple. 
 
La información de X-Code que se suministra a continuación fue consultada en 
los documentos de App Developers suministrados por AppleDevelopers[7]. 
 
 
7
App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(12-138) 
 
7 
 
 
 
2.1.3.1. X-Code. 
 
Plataforma diseñada por Apple para el desarrollo de aplicaciones en 
sistemas operativos iOS y Mac OSX. Interfaz integrada que incluye editores 
para diseñar e implementar el código de la aplicación y una interfaz de 
usuario. X-Code puede mostrar errores en la sintaxis en tiempo real e 
incluso proponer soluciones. Tiene una sola ventana, denominada ventana 
de trabajo, que contiene la mayor parte de la información que necesita. El 
conjunto de herramientas X-Code incluye el IDE de X-Code, el generador 
de interfaz y el compilador Apple LLVM. 
 
X-Code ID: Interfaz donde el usuario y el programador puede digitar el 
código fuente para la depuración e incluso el código que interactúa con la 
interfaz gráfica de usuario. Al presentarse un error en el código que se 
está digitando, el software inmediatamente pondrá en alerta al 
programador sobre una inconsistencia dentro de su código y aparecerán 
iconos indicando su ubicación y el acceso a la descripción del mismo. 
 
LLVM compilador: Tecnología que integra lenguajes de programación 
como C, C++ y Objective-C, proporcionando versatilidad y calidad al 
programador para el desarrollo del algoritmo. A medida que se digita o 
implementa el código, Apple LLVM identifica posibles errores y una 
posible solución. 
 
Simulador de iOS: Permite simular el funcionamiento de la aplicación 
dentro de cualquier dispositivo iOS para poder visualizar el 
comportamiento. 
 
X-Code 4 es la última versión de X-Code. Ofrece una nueva interfaz con 
herramientas rediseñadas con el objetivo de facilitar el desarrollo de 
aplicaciones para iOS y Mac OSX. Además de una nueva interfaz visual, 
Apple implementa mejoras notables dentro de sus componentes 
principales, permitiendo una mayor flexibilidad para programar. 
 
Dentro de las mejoras de X-Code 4 se destaca la optimización de: 
 
Apple LLVM compilador: Compilador que trabaja a partir de un conjunto 
de librerías optimizadas. Mejoras en su sintaxis, resaltado de funciones, 
opciones de completar la digitación, métodos y clases, entre otras, hacen 
parte de las nuevas características del compilador. 
 
8 
 
 
Nuevo Depurador: Introduce LLDB, nuevo motor de depuración 
desarrollado por Apple. Fue diseñado para consumir menos memoria y 
mayor rapidez en su rendimiento. Cuando una aplicación se está 
ejecutando, el navegador podrá mostrar un seguimiento paso a paso de lo 
que pasa en la depuración del programa. 
 
Instrumentos de Xcode 4: Interfaz optimizada que facilita la creación de 
una aplicación. La implementación de OpenGl mejora el rendimiento 
gráfico en cuanto a la asignación de memoria; existen opciones de 
automanejo ARC (Automatic Reference Counting) y ya no se requiere 
liberar la memoria. 
 
2.1.3.2. Estructura de la plataforma X-Code. 
 
Según X-codeUserGuide[11]un proyecto de X-Code tiene una gran cantidad 
de información acerca de qué archivos constituyen el proyecto y la forma 
en que se van a utilizar en la complementación de la aplicación, como por 
ejemplo: 
 
 Archivos de código fuente. 
 Recursos como íconos, imágenes o archivos de sonido. 
 Instrucciones al compilador para determinar sucesivamente lo que 
la aplicación va necesitando a medida de su depuración. 
 
La interfaz de X-Code está conformada por: 
 
 Izquierda: está el panel navegador. 
 Centro: se encuentra el editor. 
 Derecha: está el panel de utilidades. 
 Parte inferior: se encuentra el panel depurador. 
 
La ventana de X-Code puede variar dependiendo del gusto del 
programador. En la figura 2.2 se puede observar un ejemplo de la 
estructura de la plataforma extraída del documento X-CodeUserGuide[8]. 
 
 
 
8
App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(12) 
 
9 
 
 
 
Figura 2.2. Visualización Estructura Plataforma X-Code.[9] 
 
En el navegador de proyectos el usuario puede visualizar proyectos, 
grupos, carpetas y archivos: 
 
El proyecto: contiene los grupos, carpetas y archivos del proyecto. 
Un grupo: ícono de un proyecto. Recopila archivos del proyecto pero no 
representa una carpeta en el disco (capeta amarilla figura 2.3). 
Una carpeta: ícono de un proyecto. El contenido de la carpeta refleja el 
contenido de la carpeta en el disco (carpeta azul figura 2.3). 
Un Archivo: referencia a un archivo. 
 
En la figura 2.3 extraída del documento de X-CodeUserGuide [9] se puede 
observar la distribución del navegador. 
 
 
9
App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(19) 
 
10 
 
 
Figura 2.3. Estructura del navegador.[10] 
 
El navegador tiene una ventana en la parte superior que ofrece las 
siguientes opciones: 
 
 Navegador del Proyecto. 
 Jerarquía de clases. 
 Navegador de búsqueda. 
 Navegador de errores 
 Navegador de BreakPoints. 
 
El desarrollo de aplicaciones en X-Code se implementa a través de dos 
ventanas: una donde se realiza la digitalización del código y otra donde se 
gestiona la interfaz gráfica. 
 
La figura 2.4 extraída del documento X-CodeUserGhide[10] ilustra la 
Interface Builde, ventana de edición que se utiliza para el diseño la interfaz 
gráfica de usuario; contiene una biblioteca de controles con 
características únicas para la interfaz de usuario. 
 
Se integra completamente en el IDE de X-Code por lo que se puede escribir 
y editar código ligado directamente a la interfaz de usuario. 
 
Los archivos que componen la interfaz gráfica son llamados archivos nib. 
Para aplicaciones de iOS se puede utilizar los storyboards en lugar de 
archivos nib, como se muestra en la figura 2.5. 
 
10
App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(34) 
 
11 
 
 
Figura 2.4.Interface Builder.[11] 
En aplicaciones iOS se utiliza Storyboards (figura 2.5[11]), que consiste en 
escenas o vistas que conforman la interfaz de usuario. El programador 
puede diseñar cada camino posible gráficamente a través de su aplicación, 
lo que reduce la cantidad de código. 
 
 
 
Figura 2.5.Storyboards.[12] 
 
La figura 2.6 extraída del documento X-CodeUserGhide[12] ilustra el editor 
de código, ventana por la cual el programador puede implementar el 
código fuente. Es flexible, permite establecer puntos de depuración, 
autocorrección de código y diferentes formas de configurar su visual 
atribuyéndoles los colores que el usuario desee.11
App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(92) 
12
App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(35) 
 
12 
 
 
Figura 2.6. Editor de código.[13] 
 
De acuerdo a la figura 2.2, UtilityAre está compuesta por dos áreas: 
 
Área de inspección: como se observa en la figura 2.7 [13], en esta zona se 
puede visualizar las propiedades de los contenidos que se estén 
ejecutando en el editor principal. 
 
 
Figura 2.7.Área de inspección.[14] 
 
Área de biblioteca: como lo muestra la figura 2.8.[14], contiene plantillas 
de archivos o controles de interfaz de usuario que se pueden utilizar en el 
desarrollo de la aplicación; por cada plantilla que se utilice se adhieren 
fragmentos de código al código que se esté implementando. 
 
13
App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(47) 
14
App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(48) 
 
13 
 
 
Figura 2.8.Área de biblioteca.[15] 
 
Tipos de botón: X-Code ofrece una librería nativa de botones para 
implementar la interfaz gráfica dentro de la plataforma X-Code. Cada 
botón tiene características únicas e importantes. 
 
 UISlide: un control deslizante (UISlider) representa un valor 
continuamente ajustable entre un mínimo y un máximo. A medida 
que el usuario realice cambios de posición, el regulador informa 
un valor modificado de eventos de control. 
 
Figura 2.9. Slider.[16] 
Tipos de ejecución de botón: existen diferentes maneras de ejecución 
para los botones de la librería de x- que componen la interfaz gráfica de 
usuario. A continuación se explica los estados que se implementaron en las 
imágenes .png (teclas-botones) para generar la sensación Tocuh que se 
requiere para el desarrollo de la aplicación: 
 touchUpinside: el evento touch se ejecuta al presionar el botón. 
 touchDown: el evento touch se ejecuta después de haber 
presionado el botón. 
 
15
 App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(50) 
16
 App, Developers. ”XcodeUser Guide”, 4 de Abril del, [10 de Mayo del 2013], pag.(54) 
 
14 
 
TouchEvent: representa la ejecución de un evento cuando hay un contacto 
entre tacto y pantalla touch del dispositivo móvil. Cada toque es descrito 
por la posición, el tamaño y la forma, la cantidad de presión y el elemento 
de destino. 
Image View: en español “Vista de objetos de imagen”, proporciona un 
contenedor basado en vistas para mostrar ya sea una sola imagen o la 
animación de una serie de imágenes. Para la animación de las imágenes, la 
clase UIImageView proporciona controles para ajustar la duración y la 
frecuencia de la animación. También puede iniciar y detener la animación 
libremente. 
Imágenes PNG: es un formato gráfico compatible con la plataforma X-
Code basado en un algoritmo de compresión sin pérdida de bitmaps. 
Permite almacenar imágenes con una mayor profundidad de contraste y 
otros importantes datos. 
ViewController: controlador de vistas en una aplicación. Una aplicación 
puede contener varias vistas, asociadas a diferentes clases, mediante la 
implementación de un storyboard. 
Action: una “action” o acción es un mensaje emitido por una instancia de 
una subclaseUIControl. Las subclases UIControlson todos los objetos de 
interfaz por los cuales el usuario puede interactuar directamente, como un 
botón, un interruptor, una corredera. (UISlidero un campo de texto) 
2.1.3.3. iOS. 
 
iOS es el sistema operativo que se ejecuta en dispositivo iPhone, iPod 
touch, y iPad. Gestiona el hardware del dispositivo y proporciona las 
tecnologías necesarias para implementar las aplicaciones; incluye varias 
aplicaciones nativas de Apple como teléfono y safari. 
 
iOS cuenta con la denominada biblioteca del desarrollador, un recurso útil 
en el desarrollo de aplicaciones pues contiene guías de programación, 
código de ejemplo, observaciones de las versiones de iOS entre un grupo 
bastante amplio de recursos que ofrecen consejos y orientación al 
momento de crear sus aplicaciones. Se accede a la biblioteca para 
desarrolladores desde el sitio web para desarrolladores o desde Xcode. 
 
 
 
 
 
 
15 
 
 
 
 
 
 
 
Figura 2.10. IOS en dispositivos móviles.[ 17] 
 
2.1.3.4. CocoaTouch. 
 
De acuerdo al documento “iOSTechnologyOverview”[18],la capa de 
CocoaTouch contiene los marcos necesarios para la creación de 
aplicaciones para iOS. Se define la infraestructura básica de las 
aplicaciones, como la entrada basada en el contacto, oficios multitarea y 
muchos servicios del sistema de alto nivel. 
 
iOS actúa como intermediario entre el hardware y las aplicaciones que 
aparecen en la pantalla del dispositivo. 
 
La implementación de las tecnologías iOS puede ser vista como un 
conjunto de capas como lo muestra la Figura 2.11[19]extraída del 
documento iOS Technology Owerview. 
 
Las capas más bajas contienen los servicios y las tecnologías 
fundamentales en los que se basan todas las aplicaciones; las capas de 
nivel superior (CocoaTouch) contienen servicios y tecnologías más 
sofisticadas. 
 
 
 
 
 
 
 
 
Figura 2.11. Capas iOS.[19] 
 
17
Apple Inc.,”Sin titulo”. Copyright © 2013 Apple Inc, disponible en https://developer.apple.com/technologies/ios/ 
18
App, Developers. ” iOSTechnologyOverview”,Septiembre 9 del 2012, [10 de Mayo del 2013], pag.(7-11) 
19
App, Developers. ” iOSTechnologyOverview”,Septiembre 9 del 2012, [10 de Mayo del 2013], pag.(8) 
https://developer.apple.com/technologies/ios/
 
16 
 
 
Frameworks. 
Un framework[20] es un directorio que contiene una biblioteca dinámica 
compartida de los recursos necesarios para apoyar bibliotecas tales como 
archivos de cabecera, imágenes, aplicaciones auxiliares, etcétera. 
Para utilizar un Framework, se debe vincular dentro del proyecto o 
aplicación que se está desarrollando, tal y como se haría con cualquier otra 
biblioteca compartida. Al hacer esto es posible tener acceso a las 
características del mismo y a sus herramientas de desarrollo, permitiendo 
saber dónde se encuentran los archivos de cabecera y otros recursos. 
La capa de CocoaTouch contiene los Frameworks fundamentales para la 
creación de aplicaciones de iOS. Esta capa define la infraestructura básica 
de la aplicación y el apoyo a tecnologías importantes como la multitarea, 
la entrada basada en el contacto (Touch) y muchos servicios del sistema de 
alto nivel. 
FrameworksUIKIT. 
Un Framework contiene la infraestructura fundamental para el desarrollo 
de interfaz gráficas en aplicaciones con sistema operativo iOS. Todas las 
aplicaciones que tienen sistema operativo iOS utiliza este marco para 
poner en práctica las siguientes características: 
 Gestión de aplicaciones. 
 Gestión de la interfaz de usuario, incluyendo soporte para guiones 
gráficos y archivos nib. 
 Gráficos y ventanas, incluyendo soporte para múltiples pantallas 
 Apoyo a la personalización de la apariencia de los controles UIKit. 
 Apoyo a la implementación de controladores de vista que 
incorporan contenido de otros controladores de vista (iOS 5 más 
tarde) 
 Soporte para el manejo táctil y eventos basados en movimiento 
 Los objetos que representan los puntos de vista del sistema 
estándar y controles 
 Soporte para el texto y el contenido web 
 Soporte para la animación de contenido de interfaz de usuario 
 Integración con otras aplicaciones en el sistema a través de 
esquemas de URL e interfaces marco 
 
20
App, Developers. ” iOSTechnologyOverview”,Septiembre 9 del 2012, [10 de Mayo del 2013], pag.(17) 
 
17 
 
 El soporte de accesibilidadpara usuarios con discapacidades 
Además de proporcionar el código fundamental para la construcción de su 
aplicación, UIKit también incorpora soporte para algunas de las 
características específicas del dispositivo como: 
 Acelerómetro. 
 Cámara. 
 Biblioteca de imágenes. 
 Estado de batería. 
 Sensor de proximidad. 
 
2.1.3.4.1. CoreAnimation. 
 
De acuerdo al documento de CoreAnimation[21], es 
Infraestructura para la composición y la manipulación del 
contenido gráfico de Apple que funciona por medio de capas. En 
una gran parte de las Aplicaciones, las capas son utilizadas para 
administrar el contenido de la vista, también puede crear capas 
independientes en función de las necesidades requeridas. La 
Mayoría de las animaciones creadas en Core Animation requieren 
modificación de las propiedades de la capa. Se pueden manipular 
aspectos de la imagen como puntos de vista, posición en pantalla, 
opacidad y transformación entre otros aspectos. 
 
 
Figura 2.12. Estructura Core Animation. [22] 
 
La figura 2.12[22] extraída del documento “Core Animation” ilustra 
la estructura de Core Animation. 
 
 
21
App, Developers.” Core Animation Programming GuideSeptiembre “.Enero 28 del 2013 [10 de Mayo del 2013], pag(12-22) 
22
App, Developers. ” CoreAnimationProgrammingGuideSeptiembre “. Enero 28 del 2013 [10 de Mayo del 2013], pag(9) 
 
18 
 
Las capas proveen la base para el dibujo y animaciones en 
superficies 2D organizadas en un espacio 3D; en una aplicación se 
pueden tener diferentes tipos de capas orientadas a un 
desempeño. 
 
Las capas son almacenadas en la memoria caché en un mapa de 
bits, cuando cambia una propiedad de la capa, lo único que está 
haciendo es cambiar la información de estado asociada al objeto 
capa. 
 
La geometría visual hace referencia al posicionamiento de los 
gráficos que se hace a través de coordenadas, se puede tratar una 
imagen realizando diferentes tipos de modificaciones en sus 
propiedades como lo ilustra la figura 2.13. 
 
 
 
Figura 2.13Modificación por medio de Propiedades. [23] 
 
En el transcurso de la animación, Core Animation procesa el dibujo 
cuadro a cuadro; todo lo que hay que hacer es indicar los puntos 
de inicio y fin de la animación. También se puede especificar la 
información de temporización y parámetros de animación según 
sea necesario. 
 
Las capas pueden usar dos tipos de coordenadas: (1) una basada 
en puntos y (2) otra basada en sistemas de coordenadas de unidad 
con el fin de especificar la ubicación del contenido en el espacio de 
animación. 
 
23
App, Developers. ” CoreAnimationProgrammingGuideSeptiembre “. Enero 28 del 2013 [10 de Mayo del 2013], pag(14-22) 
 
19 
 
Las capas son objetos de datos que gestionan los contenidos 
proporcionados por su aplicación. El contenido de una capa se 
compone por un mapa de bits que contiene los datos visuales que 
se desean mostrar. Las capas se pueden eliminar modificar y crear, 
para estas últimas se debe proporcionar el contenido de la 
animación. 
 
Core Animation contiene tres conjuntos de objetos con 
características únicas que hacen que el contenido de su aplicación 
aparezca en pantalla: 
 
Árbol de capas: objetos que almacenan los atributos de las 
animaciones. Siempre que cambia la propiedad de una capa, se 
utiliza uno de estos objetos. 
 
Los objetos en el árbol: contienen los valores para el 
funcionamiento de las animaciones. 
 
Los objetos en el árbol de render: Fundamentos básicos de 
animación, capa de árboles que reflejan diferentes aspectos del 
estado de animación de cada conjunto de objetos de la capa; está 
organizado en una estructura jerárquica como los puntos de vista 
de su aplicación. 
 
La figura 2.14[24] muestra el desglose de las capas que se 
encuentran en una simple aplicación iOS. 
 
 
24
App, Developers. ” CoreAnimationProgrammingGuideSeptiembre “. Enero 28 del 2013 [10 de Mayo del 2013], pag(22) 
 
20 
 
 
Figura 2.14. Capas CoreAnimation en iOS. [24] 
 
2.1.3.4.2. Core Audio. 
 
Core Audio [25] es una estructura que permite el proceso de audio 
digital en iOS y Mac OS X, a través de un conjunto de herramientas 
diseñadas para ser manipuladas y satisfacer las necesidades de 
audio en las aplicaciones para dispositivos Apple. 
 
En la figura2.15[26] se muestran los tres niveles de Core audio por 
medio de un diagrama extraído del documento de Core Audio: 
 
High level contiene las estructuras básicas. Funciones esenciales 
como reproducción de audio son muy comunes para aplicaciones 
que no demanden un procesamiento de audio de alto nivel; mid-
level estructura media, contiene unidades de conversores de 
formatos, las cuales son común verlas en aplicaciones y por 
último, High level, estructura de más alto nivel que contiene 
herramientas para aplicaciones que demanden un procesamiento 
de audio de alto nivel, por ejemplo sintetizadores que modifiquen 
su audio en tiempo real por medio de filtros. 
 
 
25
App, Developers. ” Core Audio Overview“.Noviembre 11 del 2013[10 de Mayo del 2013], pag(7-60) 
26
App, Developers. ” Core Audio Overview“.Noviembre 11 del 2013 [10 de Mayo del 2013], pag(10) 
 
21 
 
 
Figura 2.15. Arquitectura Core Audio.[26] 
 
LowLevel: Hace referencia a las estructuras más bajas u ocultas de 
Core Audio, se modifican solo cuando el programador esté 
desarrollando una aplicación que requiera de un procesamiento de 
audio de alto nivel en tiempo real. 
 
Dentro del sistema operativo iOS se permite la reproducción de 
audio en tiempo real a través de una interfaz. 
 
 Kit de I/O: Estructuras para entrada y salida de audio que 
permiten la interconexión con otras unidades, generando 
el flujo de señal requerido para el desarrollo de la 
aplicación. 
 (Audio HAL): Provee una interfaz independiente del 
dispositivo. 
 Core MIDI: Permite trabajar y compatibilidad con 
corrientes y dispositivos MIDI. 
 Host time services: Proporciona acceso al reloj de la 
computadora para sincronización entre dispositivos. 
 
Mid-Level:la mayoría de estructuras pertenecientes a este nivel 
son compatibles con el sistema operativo iOS: 
 
 Audio ConverterServices: Estructura que permite la 
conversión de formato de audio dentro de las aplicaciones. 
 
22 
 
 Audio File Services: Estructura que ejecuta la lectura y 
escritura de archivos de audio desde una carpeta 
almacenada en el disco. 
 Audio UnitServices & Audio processgraphservices: 
Procesamiento digital de las aplicaciones en forma de 
pluguins, como ecualizadores y mezcladores. 
 Audio File StreamServices: Permite el diseño de 
aplicaciones que puedan analizar flujos, por ejemplo 
reproducción de archivos enviados a través de una 
conexión de red. 
 Core Audio ServicesClock: Permite la sincronización de 
audio y MIDI, así como conversiones de base de tiempo. 
 Audio ServicesFormat: Manejo de los formatos de datos 
de audio en la aplicación. 
 
High Level: Estructuras que contiene servicios que permiten 
grabar, reproducir, pausar y sincronizar audio. 
 
 AVAudioPlayer: Reuniendo las características de los 
servicios de Audio File y Audio Converter se proporciona 
una interfaz unificada (en Objective-C) que permite leer y 
escribir archivos de sonido, reproducción de bucles de 
audio en aplicaciones para iOS, reconociendo cualquier 
tipo de formato de audio compatible con el sistema 
operativo iOS. 
 OpenAL: Código abierto para posicionar audio. 
 
Frameworks 
 
Existen un sinfín de frameworks para Core audio los cuales se 
podrán consultar en su totalidad en Apple Developers; sin 
embargo, a continuación se destacan los que utilizaron para el 
desarrollode la aplicación: 
 
 AudioToolbox(AudioToolbox.framework):Proporciona 
una interfaz para el nivel mediano y alto. En iOS se permite 
manipular el comportamiento de audio dentro de una 
aplicación. 
 
 Fundación AV (AVFoundation.framework): Disponible en 
iOS, contiene la clase AVAudioPlayer para la reproducción 
 
23 
 
de audio de una manera ágil y sencilla, implementada en 
lenguaje Objective-C. 
 
Algunas características de Core Audio: 
 
 Utilizado para aplicaciones que requieran mayor 
rendimiento y baja latencia. 
 
 Aplicaciones de alto nivel que involucren procesos como 
grabación, reproducción, pausa y sincronizar audio. 
 
 Utiliza servicios de archivo de audio, conversores y otros 
servicios, para leer, escribir desde el disco y también 
realizar transformaciones de formato sobre el archivo. 
 
 Utiliza servicios de la unidad de audio y servicios de 
procesamiento gráfico de audio para alojar las unidades de 
audio en la aplicación. 
 
 MusicServices, secuenciador para el control del juego 
basado en MIDI y datos de música. 
 
 Core Audio Services reloj para la sincronización entre 
audio-MIDI, también permite el manejo del formato de 
hora. 
 
 
Figura 2.16.Arquitectura Core Audio en Sistema operativo IOS.[27] 
 
27
App, Developers. ” Core Audio Overview“.Noviembre 11 del 2013 [10 de Mayo del 2013], pag(11) 
 
24 
 
 
Como se observa en la figura 2.16. [27], para el sistema operativo 
iOS, Core Audio implementa dos motores de audio: 
 
Audio queue: Motor de audio cuyo funcionamiento se basa en la 
reutilización de Buffer's de audio. Se recomienda definir tres 
buffers y se requiere de una función de llamada para ser 
procesada por el iPhone o iPad. 
 
Audio units: Su funcionamiento se basa en unidades de audio 
como mixer, EQ, unidades de entrada y salida. Permiten procesar 
la señal a la entrada o salida de cada unidad de audio. En iOS, 
Audio Units utiliza “Audio ProsessingGraph”, un módulo que 
contiene las unidades Audio Units que se implementen para el 
desarrollo del proyecto que se esté diseñando. 
 
Dos motores permiten el procesamiento digital de audio para 
cualquier aplicación que requiera audio dentro de la plataforma 
iOS. A pesar de ser distintos, poseen características en común: 
 
 Trabajan con audio digital y permite DSP. 
 Dentro de los atributos de las estructuras ambos motores 
requieren información del audio como formato, números 
de canales, frecuencia de muestreo, bits. 
 Al ser motores que realizan procesamiento digital de 
audio, se requiere de un Buffer de audio. 
 Se necesita de una función de llamada para el Buffer. 
 
2.1.3.4.2.1. Audio Queue. 
 
Según el documento de Audio Queue[28] es una estructura 
para la grabación y reproducción de audio utilizada en Mac OS 
X y iOS. Consiste en una pila de buffers que se está cargando y 
descargando continuamente. Los buffers son el medio de 
transporte para la reproducción de la señal de audio cuando la 
llamada se ejecuta por una acción establecida por el 
programador. 
 
Audio Queue interactúa con decodificadores para la 
interacción del código-audio. 
 
28
App, Developers. ” Audio QueueServicesProgramming Guide “.Julio 7 del 2009,[10 de Mayo del 2013], pag (41-61) 
 
25 
 
 
¿Por qué utilizar los Audio Queue? 
 
 Estructura básica que permite el procesamiento 
directo de audio. 
 Fáciles de manejar. 
 Programación sencilla que permite la reproducción 
sincronizada de audio. 
 
Audio Queue cuenta con deficiencias y limitaciones en el 
procesamiento que contribuyen en que no sea el motor de 
audio viable para desarrollar e implementar esta aplicación; 
las insuficiencias que presenta están ligadas al 
comportamiento en tiempo real que se quiere lograr, ya que: 
 
 Presenta mucha latencia. 
 No es versátil como las unidades de audio “Audio 
Units”. 
 Solo permite la reproducción de un sonido. En el 
proyecto, limitaría el número de voces instantáneas y 
sería un impedimento para la interpretación de 
acordes. Por estas razones el proyecto no se 
desarrolló utilizando este motor. 
 
Para poder programar con facilidad se deben tener conceptos 
en temas de lenguaje de programación C y X-Code. 
 
El almacenamiento del archivo de audio que se desee 
reproducir puede ser desde un disco, una memoria asignada 
dentro del programa o cualquier otro medio posible. 
 
De acuerdo al documento de Core audio la estructura básica 
para la reproducción de audio en audio Queue, se describe de 
manera breve a continuación: 
 
Definir una estructura personalizada: Se definen atributos 
como: 
 
 Número de cola de buffers de audio que se van a 
utilizar. (Se recomienda que sean tres) 
 Tamaño en bytes de cada cola de búfer de audio. 
 
26 
 
 Formato de audio. 
 Ruta del audio. 
 
Función devolución de llamada para el buffer: La función de 
devolución de llamada se encarga del flujo del audio para la 
reproducción. Esta función hace tres cosas principales: 
 
 Lee una cantidad determinada de datos de una señal 
de audio y los enlista en la cola de búfer de audio para 
su reproducción, este proceso se repite hasta finalizar 
la señal de audio. 
 Ordena la secuencia del buffer en la cola que se va a 
utilizar. 
 Determina cuándo finaliza el archivo de audio para 
detener la cola de audio. 
 
Determinar tamaño de los buffers de colas de audio: 
 
 Deducir el número de paquetes a leer por cada 
función de devolución de llamada. 
 Establecer un límite inferior en el tamaño de buffer 
para evitarle sobre procesamiento al disco. 
 El tamaño depende de factores como formato del 
audio que está leyendo. 
 
Abrir un archivo de audio para la reproducción: Este proceso 
consta de tres pasos: 
 
 Obtener un objeto CFURL que representa el archivo 
de audio que desea reproducir. 
 Abrir el archivo. 
 Obtener formato de datos de audio del archivo. 
 
Creación de una cola de reproducción de audio: Estructura 
que configura la cola de audio para su reproducción: 
 
 Crea una nueva cola de reproducción de audio. 
 Formato de la cola de audio que se va a crear. 
 Función de devolución de llamada para usarla con la 
cola de audio de reproducción. 
 
27 
 
 Estructura de datos personalizada de la cola de audio 
para la reproducción de audio. 
 
Ajuste de tamaños para una cola de reproducción de audio: 
A continuación se establecen algunas características de la cola 
de reproducción de audio. 
 
 Ajuste de tamaño de búfer y la cantidad de paquetes 
para leer: Determina el tamaño en bytes de cada cola 
de búfer de audio, con lo cual se puede determinar el 
número de paquetes a leer por cada función de 
llamada para la reproducción del audio. 
 
 La asignación de memoria para una matriz de 
paquetes: Se asigna una memoria dentro de una 
matriz que contenga una descripción del paquete. 
 
Asignar buffers y audio: La cola de audio se asigna a un 
buffers, en este proceso: 
 
 Se carga el índice de paquetes a 0 para garantizar que 
en el momento que se ejecute la función de llamada, 
la carga empiece desde el principio. 
 Se define el número de buffers (se recomiendan 3) 
 Se crea un nuevo búfer. 
 La cola de audio se asigna al búfer. 
 Se determina el tamaño en bytes para el nuevo búfer. 
 A la salida, se agrega el nuevo búfer a la matriz dentro 
de la estructura personalizada. 
 
Ganancia de la reproducción de una cola de Audio: Se puede 
establecer una ganancia a través de los siguientes 
mecanismos: 
 
 Se determina el rango de ganancia entre 0 silencio y 1 
por unidad de ganancia. 
 Dentro del ID se puede configurar un atributo que 
modifica la variable volumen a través de la función 
“kAudioQueueParam_Volume”que permite establecer 
la ganancia de una cola de audio.28 
 
 
 
Inicio y ejecución de una cola de Audio: 
 
 Para indicar que la cola se está ejecutando se 
establece una bandera en la estructura personalizada. 
 La función “AudioQueueStart” ejecuta la cola de 
audio, utiliza NULL para indicar que la cola de audio 
debe empezar a ejecutarse inmediatamente si 
necesidad de una instrucción. 
 “mIsRunning” en la estructura personalizada y sirve 
para comprobar si la cola de audio se ha detenido. 
 La función “CFRunLoopRunInMode” ejecuta el bucle 
de ejecución. 
 
Limpiar: Cuando haya terminado la reproducción de un 
archivo, se debe liberar la memoria de la cola de audio de la 
siguiente manera: 
 
 La función “AudioQueueDispose” dispone de todos los 
atributos de la cola de audio. 
 Se referencia la cola de audio que desea eliminar. 
 En el archivo de cabecera “AudioFile.h.” se declara la 
función “AudioFileClose” encargada del cierre del 
archivo de audio que se reproduce. 
 
 
 
 
 
 
 
 
Figura 2.17. Esquema Audio Queue.[29] 
 
Para información más detallada sobre la estructura y código 
de Audio Queue puede consultarse el documento PDF acerca 
de Cora Audio. 
 
29
App, Developers. ” Audio QueueServicesProgramming Guide “.Julio 7 del 2009,[10 de Mayo del 2013], pag (11) 
 
29 
 
 
2.1.3.4.2.2. Audio Units. 
 
De acuerdo al documento de Audio Units[30], son unidades 
especializadas en audio, utilizadas para el procesamiento de 
audio en aplicaciones para iOS y Mac OS X. Permiten procesar 
una señal por diferentes dispositivos; también se puede 
modificar, crear, reproducir o grabar audio dependiendo de la 
aplicación. En Mac OS X se pueden crear las unidades de 
audio. En iOS el programador se tiene que sujetar a unas 
unidades o pluguins prestablecidos que simulan el 
comportamiento de mezcladores, ecualizadores y conversores 
de formato, permitiendo la manipulación del audio en tiempo 
real. 
 
Algunas unidades que componen este motor son para 
procesamiento de audio de alto nivel. Pertenecen a la capa 
baja en la estructura de Core Audio (ver numeral 4.3.2.) y se 
implementan dentro de un “Audio ProcessingGraph” como lo 
muestra el ejemplo de la figura extraída del documento. 
 
Porque usar Audio Units 
 
 Presenta menor latencia. 
 El procesamiento de la señal se apoya en EQ, 
mezcladora y diferentes unidades. 
 Permite la manipulación en el tiempo real. 
 Control general e individual del flujo de datos de 
audio. 
 
Como el proyecto implica la reproducción de audio en tiempo 
real con la menor cantidad de latencia posible, Audio Units 
es la solución más viable para implementar el código y 
satisfacer los objetivos propuestos. 
 
Estos son los pasos básicos para inicializar la estructura Audio 
units: 
 
 
30
App, Developers.” Audio Unit Hosting Guide for iOSGuide“. Spetiembre 1 del 2009,[10 de Mayo del 2013], pag (6-52) 
 
 
30 
 
 Definirla unidad de audio que desea utilizar. 
 Instanciar la unidad de audio. 
 Configurar la unidad de audio de acuerdo a la 
necesidad. 
 Inicializar la unidad de audio. 
 Iniciar el flujo de audio. 
 Control de la unidad de audio. 
 Cuando haya terminado, desasignar la unidad de 
audio. 
Cada unidad de audio tiene características únicas como 
paneo, mezcla, control de ganancia o medición del nivel de 
audio. Además,cada unidad de audio tiene características 
específicas y requerimientos necesarios para el correcto 
comportamiento. 
Para generar flujo de señal seentre las unidades, se debe 
tener un conjunto de conceptos fundamentales, como 
formatos de transmisión de datos de audio, llamadas de 
retorno y la arquitectura de la unidad de audio que se desee 
implementar. 
 
Figura 2.18. Ejemplo flujo de señal Audio Units. [31] 
 
En el ejemplo de la figura 2.18[31], un audio ingresa a las 
unidades de EQ que están contenidas dentro de “Audio 
ProcessingGraph”, objeto que contiene las unidades de Audio 
Units. Al pasar por los EQ, ingresan al mezclador donde 
posteriormente pasa a la unidad remota de I/O completando 
 
31
App, Developers.” Audio Unit Hosting Guide for iOSGuide“. Septiembre 1 del 2009,[10 de Mayo del 2013], pag (6) 
 
31 
 
así el ciclo de reproducción del sonido por medio del 
dispositivo iPhone. 
 
Audio Units proporciona para iOS siete unidades de audio 
clasificadas en cuatro categorías, como se muestra la tabla 
2.1. 
 
Unidad Audio Units 
Efecto iPod Eq 
Mix 3D Mix- 
Multi-Channel Mix 
 
I/O 
Remote I/O- 
Voice Processing I/O 
Generic Output 
Conversión Formato Conversor de Formato 
Tabla 2.1 Unidades de Audio Units. 
 
A continuación se explica cada unidad, profundizando sobre 
las unidades que se utilizan para el desarrollo de la aplicación 
del acordeón Firotti. 
 
Unidad de efectos. 
 
iOS ofrece una unidad de efectos, el Ecualizador del iPod. Este 
sistema de audio ofrece un conjunto de curvas de 
ecualización preestablecidas. 
 
Unidades mezcladoras. 
 
iOS proporciona dos unidades mezcladoras: 
 
La unidad mezcladora 3D(3D Mix): Sirve para modelar o 
trabajar con audio 3D en aplicaciones para Apple. Si se desea 
información detallada sobre la unidad mezcladora 3D, lo mas 
recomendable es buscar códigos fuente o “Sample Code” en 
la web. En este documento no se profundiza sobre esta 
unidad. 
 
La unidad de mezclador multicanal (MultiChannelMix): 
Permite manejar el flujo de la señal entrante (mono o 
estéreo), contra una señal de salida (estéreo). Se puede 
activar cada entrada dentro o fuera, establecer su nivel de 
entrada y establecer su posición de panorama estéreo. 
 
32 
 
 
 
 
I / O Unidades. 
 
iOS cuenta con tres unidades de I/O. 
 
La unidad remota de I/O: Es la más utilizada, se conecta a la 
entrada y salida de hardware de audio brindando baja 
latencia al acceder a las muestras de audio. Se considera la 
conversión de formatos de audio y el formato de audio de la 
aplicación; para solucionar esto se adiciona una unidad de 
conversión de formato. 
 
La unidad de I/O por procesamiento por voz: Procesamiento 
que extiende la unidad remota de I/O mediante la adición de 
cancelación de eco acústico para su uso en una aplicación de 
voz-chat. También proporciona la corrección automática de 
ganancia, ajuste de la calidad de procesamiento de voz y el 
silenciado. 
 
La unidad de salida genérica: Normalmente se utiliza la 
unidad de salida genérica para el procesamiento de audio en 
línea. 
 
Las unidades de I/O son muy comunes en las aplicaciones de 
audio. Estas unidades tienen dos características esenciales 
como lo muestra la figura 2.19[32]extraída del libro de Cora 
Audio: 
 
 
32
App, Developers.” Audio Unit Hosting Guide for iOSGuide“. Septiembre 1 del 2009,[10 de Mayo del 2013], pag (19) 
 
33 
 
 
Figura 2.19. Estructura Unidad I/O.[32] 
Compuestas por dos elementos que parten de una unidad de 
audio, dentro de la implementación del código se tratan 
independientes. 
 
Elemento 1: Se conectaron el hardware de entrada de audio 
en un dispositivo, representado en la figura por un micrófono. 
En este proyecto es una función “Callback” encargada de la 
llamada de los audios que han sido almacenados en 
memoria. 
 
Elemento 0: Se conecta el hardware de salida de audio en un 
dispositivo, representado en la figura por el altavoz. 
 
Así que asumimos que: 
 
 El elemento de entrada es el elemento 1 ->"I" 
 El elemento de salida es el elemento 0 ->"O” 
 
Cabe anotar que esta estructura es flexible al usuario, es 
decir, no necesariamente debe entrar o salir un micrófono 
por un sistema estéreo. 
Las unidades I/O son las encargadas de iniciar y detener el 
flujo de audio en una aplicaciónpara Audio Units. 
UnitConverter Formato. 
Ofrece una unidad de conversión de formato, que se utiliza 
normalmente de manera indirecta a través de una unidad de 
I/O. 
 
34 
 
Audio ProcessingGraph. 
Audio ProcessingGraph denominado también, AUGraph, se 
utiliza para la construcción y gestión de una cadena de 
procesamiento de audio entre unidades Audio Units. Debido a 
su flexibilidad, permite crear múltiples soluciones de 
procesamiento de audio. 
AUGraph utiliza nodos como puntos de unión con sus 
unidades de audio. Estos puntos de unión son denominados 
AUNode. También se puede utilizar un AUNode para 
representar un subGraph de procesamiento de audio, en este 
caso, la unidad de I/O en la parte final del subGraph debe 
conectarse a una salida genérica. 
A grandes rasgos, la construcción de un gráfico de 
procesamiento de audio implica tres tareas: 
 Adición de nodos de un gráfico. 
 Configurar directamente las unidades de audio 
representados por los nodos. 
 Interconectar los nodos. 
 
 
 
Figura 2.20. Ejemplo Audio Graph. 
 
En la figura 2.20. se observa cómo por medio de una función 
de llamada se tiene acceso a un archivo de audio que ingresa 
a un módulo de I/O, pasa por un mezclador dentro de “Audio 
ProsessingGraph” y finalmente ingresa a otra unidad remota 
que permite por medio de su salida, ser amplificada por un 
sistema de transducción. 
 
 
 
 
 
35 
 
2.1.3.4.2.3. AV Fundación. 
 
El documento AV FoundationProgrammingGuide[33]es uno de 
los varios marcos que se pueden utilizar para reproducir y 
crear medios audiovisuales basados en el tiempo real. 
 
Proporciona una interfaz Objective-C que se utiliza para 
trabajar en un nivel de detalle con los datos audiovisuales 
basados en el tiempo real. 
 
El usuario debe normalmente utilizar el más alto nivel 
disponible que le permite realizar las tareas que desee. 
 
En iOS: 
 
 Si se desea reproducir películas, se puede utilizar el 
Marco Media Player. 
 Para grabar vídeo cuando sólo se necesita un mínimo 
control sobre el formato, se utiliza el marco 
UIKit(UIImagePickerController). 
 
 
Figura 2.21.AV Fundation.[34] 
 
2.1.4. Acordeón. 
 
Según el sitio web [35] consultado, el acordeón es un instrumento musical 
perteneciente a la familia de los instrumentos de viento. Su estructura está 
conformada por un fuelle que está cerrado en sus extremos por una caja 
armónica de madera. La parte de la mano derecha tiene un diapasón con un 
arreglo de teclas, que pueden ser como las de un piano o de forma redonda, 
 
33
App, Developers.” AV Foundation Programming Guide “. Octubre 12 del 2011 ,[10 de Mayo del 2013], pag (4-17) 
34
App, Developers.” AV Foundation Programming Guide “. Octubre 12 del 2011 ,[10 de Mayo del 2013], pag (4) 
35
Farlex, Inc.”The Free Dictionary”, [En linea]. 2013 [10 de Mayo del 2013]. Disponible en, http://es.thefreedictionary.com/acorde%C3%B3n 
http://es.thefreedictionary.com/acorde%C3%B3n
 
36 
 
dependiendo del tipo de acordeón (cromático o diatónico, respectivamente); 
la parte de la mano izquierda, tiene botones para tocar los tonos bajos o 
acordes de acompañamiento. 
 
2.1.4.1. Tipos de Acordeón. 
 
De acuerdo al libro “Cuaderno de Técnica para Acordeón”[36], 
dependiendo de la estructura del acordeón se puede encontrar diferentes 
clases: 
 
 
 
2.1.4.1.1. Acordeón cromático de piano. 
 
Se caracteriza porque en el costado derecho hay un teclado 
similar al de un piano. Las teclas determinan el tamaño del 
acordeón; oscilan entre 24 teclas para los más pequeños hasta 41 
teclas para los más grandes. Se denomina cromático porque se 
pueden reproducir las 12 notas que componen la escala musical 
cromática. 
 
Su funcionalidad se basa en un fuelle ubicado entre dos cajas 
armónicas de madera que albergan los diapasones, donde están 
sujetas las lengüetas metálicas que vibran debido a la corriente de 
aire que se origina por la fuerza del acordeonista al accionar el 
fuelle. Cada tecla o botón del acordeón cromático emite el mismo 
sonido al expandir o comprimir el fuelle. 
 
Figura 2.22. Acordeón Cromático de Piano. [ 37] 
 
36
Sinonimo, “Cuadreno de Tecnica para Acordeon”. ,[10 de Mayo del 2013]. Disponible en 
http://www.gorkahermosa.com/web/img/publicaciones/CUADERNO%20DE%20T%C3%89CNICA.pdf 
37
Sinonimo, “Cuadreno de Tecnica para Acordeon”.,[10 de Mayo del 2013]. Disponible en 
http://www.gorkahermosa.com/web/img/publicaciones/CUADERNO%20DE%20T%C3%89CNICA.pdf 
 
http://www.gorkahermosa.com/web/img/publicaciones/CUADERNO%20DE%20T%C3%89CNICA.pdf
http://www.gorkahermosa.com/web/img/publicaciones/CUADERNO%20DE%20T%C3%89CNICA.pdf
 
37 
 
 
2.1.4.1.2. Acordeón Cromático de botones. 
 
En este tipo de acordeón, la mano derecha del acordeonista 
acciona un conjunto de botones; tiene botones en ambas partes 
del instrumento (derecha e izquierda). Según el tamaño del 
instrumento, el número de botones puede variar: los más 
pequeños pueden tener 40 botones y los más grandes oscilan 
entre 65 y 70 botones. 
 
 
Figura 2.23.Acordeón Cromático de botones.[38] 
 
2.1.4.1.3. Acordeón diatónico. 
 
Su nombre se debe a que su estructura musical depende de 
algunas escalas determinadas. En un costado acciona los tonos 
bajos y acordes que usualmente se usan para acompañar la 
melodía que se interpreta en el lado opuesto. La nota del mismo 
botón varía en un acordeón diatónico porque cambia al expandir 
o comprimir el fuelle. Del número de escalas que maneja 
dependerá el número de botones en el diapasón del acordeón. 
 
 
 
 
38
Sinonimo, “Cuadreno de Tecnica para Acordeon”.,[10 de Mayo del 2013]. Disponible en 
http://www.gorkahermosa.com/web/img/publicaciones/CUADERNO%20DE%20T%C3%89CNICA.pdf 
http://www.gorkahermosa.com/web/img/publicaciones/CUADERNO%20DE%20T%C3%89CNICA.pdf
 
38 
 
 
Figura 2.24. Acordeón Diatónico. [39] 
 
 
2.1.5. Grabación de librería de audio. 
 
2.1.5.1. Señal de audio. 
 
De acuerdo a la definición consultada en la web[40],una señal de audio es 
una señal analógica eléctricamente exacta a una señal sonora; 
normalmente está acotada al rango de frecuencias audibles por los seres 
humanos que está entre los 20 y los 20.000 Hz. 
 
Dado que el sonido es una onda de presión, requiere un transductor que 
convierta las ondas de presión de aire en señales eléctricas. 
 
Un sólo micrófono puede captar adecuadamente todo el rango audible de 
frecuencias. Por el contrario, para reproducir fidedignamente ese mismo 
rango de frecuencias suelen requerirse de altavoces. 
 
Una señal de audio se puede caracterizar, someramente, por su 
composición espectral. 
 
Según el libro de física Serway[41] existen dos características 
fundamentales en una señal: 
 
Amplitud: Medida de la variación máxima del desplazamiento u otra 
magnitud física que varía periódica o cuasi periódicamente en el tiempo. 
 
39
Sinonimo, “Cuadreno de Tecnica para Acordeon”.,[10 de Mayo del 2013]. Disponible en 
http://www.gorkahermosa.com/web/img/publicaciones/CUADERNO%20DE%20T%C3%89CNICA.pdf 
40 Ramón, Sousa.” La señal de audio, conceptos y medidas”. 2012,[10 de Mayo del 2013], disponible en http://www.tmbroadcast.es/index.php/la-senal-
de-audio-conceptos-y-medidas/ 
41
Libro de física Serway 
http://www.gorkahermosa.com/web/img/publicaciones/CUADERNO%20DE%20T%C3%89CNICA.pdf
http://www.tmbroadcast.es/index.php/la-senal-de-audio-conceptos-y-medidas/
http://www.tmbroadcast.es/index.php/la-senal-de-audio-conceptos-y-medidas/
 
39 
 
Es la distancia máxima entre el punto más alejado de una onda y el puntode equilibrio o medio. 
 
Frecuencia: Es una magnitud que mide el número de repeticiones por 
unidad de tiempo de cualquier fenómeno o suceso periódico, la frecuencia 
se mide en hercios (Hz). 
 
2.1.5.2. Muestreo. 
 
La revista digital Artefacto [42] define sampling o muestreo musical como 
el acto de tomar una porción o simple muestra de un sonido que ha sido 
grabado en cualquier medio magnético o electrónico, para 
posteriormente ser reutilizada como una grabación o instrumento 
musical. 
 
El instrumento musical utilizado para hacer las capturas de las muestras 
musicales o sampling dentro de la ejecución del proyecto es un acordeón 
cromático de marca Firotti. 
 
 
Figura 2.23.Acordeón Firotti. 
 
Las voces en un acordeón dependen de un juego completo e 
independiente de lengüetas, cada una con un timbre y octava diferente. 
Las voces se pueden combinar gracias a un sistema de registros, un 
mecanismo que selecciona qué voces se activan. El número de voces y sus 
características tímbricas varía notablemente de un acordeón a otro. 
 
 
 
42
Diedrich, Diederichsen. ” Arte y Técnica Montaje, sampling, morphing Sobre la tríada Estética-Técnica-Política”. [En línea] disponible en 
http://www.revista-artefacto.com.ar/pdf_notas/164.pdf 
 
40 
 
 
Figura 2.24. Diagrama Lengüetas Acordeón. 
 
 
 
 
 
 
Figura 2.25. Lengüetas Acordeón. 
 
 
2.1.5.3. Técnicas de captura. 
 
La captura de sonidos del instrumento se realiza mediante un método de 
grabación dentro de un estudio de producción de audio profesional. Para 
esto se requieren instrumentos de ingeniería tales como: micrófonos, 
preamplificadores, cables de transporte de señal comúnmente conocidos 
como líneas, cables para PatchBay, consola de mezcla y grabación, 
conversores análogo-digital (A/D) y digital-análogo (D/A) y una estación de 
trabajo de audio digital (DAW). 
 
Durante la captura de las muestras se realiza un proceso de transducción 
en el cual el mensaje es transformado de vibraciones de aire a variaciones 
de voltaje a través del micrófono y puede ser capturado implementando 
diferentes técnicas de grabación. De las distintas técnicas de grabación 
estéreo que existen, el desarrollo de este proyecto involucra la técnica M-
S. 
 
 
 
41 
 
2.1.5.4. Micrófono. 
 
Según el libro “The Microphone Book”[43],el micrófono se considera como 
un dispositivo transductor electro-acústico. Su función es transducir las 
vibraciones de la presión acústica ejercida sobre su cápsula, en energía 
eléctrica, permitiendo capturar sonidos de cualquier índole. 
 
Existen diferentes maneras de clasificar un micrófono. Una de ellas es a 
partir de características como directividad, tipo de transductor, respuesta 
en frecuencia, patrón polar, entre otras. 
 
Como se especificó en el numeral 2.1.5.3, el método de captura utilizado 
fue una técnica estéreo M-S, donde se utilizan dos micrófonos, uno de 
patrón polar cardiode y otro de patrón polar bidireccional. 
 
2.1.5.4.1. Patrón de directividad. 
 
La directividad es un fenómeno característico de las ondas 
sonoras (u ondas electromagnéticas) que nos proporciona 
información sobre el comportamiento de la radiación de la fuente 
en función de la dirección. Es un parámetro que se usa en el 
diseño de los transductores acústico-electros. 
 
 
2.1.5.4.1.1. Cardiode: Los micrófonos de patrón polar cardioide son 
micrófonos unidireccionales, con un diagrama polar con forma 
de corazón, de ahí su nombre. Este patrón representa los 
rangos de sensibilidad, donde se presenta mayor sensibilidad 
hacia los sonidos que le llegan por su parte frontal y en una 
razón mínima a los sonidos que llegan por su parte posterior. 
 
Esta forma de corazón se obtiene dejando el diafragma libre 
en su parte delantera y construyendo laberintos acústicos en 
su parte posterior. 
 
Los micrófonos cardiodes ofrecen mejor respuesta en 
frecuencias medias. Las frecuencias bajas tienen mayor 
distancia de dispersión por su longitud de onda, mientras que 
las altas se tornan más direccionales. 
 
 
43
Jhon, Eargle. ”The microphone Book”, imprint of Elsevier First published 2005, [10 de Mayo del 2013], pag.(173- 174) 
 
42 
 
 
Figura 2.26. Cardiode[44] 
 
2.1.5.4.1.2. Bidireccional: Los micrófonos de patrón polar bidireccional 
tienen un diagrama polar en forma de figura de 8, lo que 
significa que captan el sonido que llega por su parte frontal 
como por su parte posterior. Sin embargo, suprimen los 
sonidos que llegan lateralmente. 
 
Un inconveniente del diagrama polar en forma de figura de 
ocho, son las interferencias destructivas que puedan 
producirse por efectos de contrafase. Para esto basta una 
reorientación del micrófono. 
 
Esta respuesta polar pierde eficiencia por encima de los 10 
Khz, donde ofrecen mayor sensibilidad a los sonidos 
procedentes del eje horizontal que del eje vertical. Esto se 
produce porque las frecuencias altas que llegan por encima 
del micrófono, sufren una cancelación parcial debida la 
interferencia por fase. 
 
 
Figura 2.27.Bidireccional. [45] 
 
 
 
 
44
Jhon, Eargle. ”The microphone Book”,imprint of Elsevier First published 2005, [10 de Mayo del 2013], pag.(19) 
45
Jhon, Eargle. ”The microphone Book”,imprint of Elsevier First published 2005, [10 de Mayo del 2013], pag.(20) 
 
43 
 
2.1.5.5. Ecualización. 
 
En el documento de Federico Miyara[46] definen a un ecualizador como un 
dispositivo electrónico o digital, cuyo funcionamiento tiene como principio 
aplicar una serie de Fourier a la señal de entrada, permitiendo 
descomponer la señal en su espectro de frecuencias y ser modificadas de 
acuerdo a las bandas del ecualizador, dependiendo de la necesidad del 
usuario. Existen tres importantes clase de ecualizadores: 
 
2.1.5.5.1. Ecualizador gráfico. 
 
Son los más comunes y los más usados en grabación profesional 
dada su versatilidad y facilidad de manejo. 
 
El más utilizado es el ecualizador de octava, en el que disponemos 
de 10 frecuencias de control. Esto es bastante coherente debido a 
que el ancho de banda audible recorre 10 octavas que son 30 Hz, 
60 Hz, 125 Hz, 250 Hz, 500 Hz, 1 KHz, 2 KHz, 4 KHz, 8 KHz, 16 KHz 
y es en esas frecuencias donde podemos aumentar o reducir la 
intensidad de la señal de audio. 
 
 
Figura 2.28. Ecualizador Grafico. [47] 
 
 
 
2.1.5.5.2. Ecualizador semi-parametrico. 
 
Este ecualizador permite seleccionar la frecuencia que queremos 
ecualizar. De esta manera podemos aumentar o disminuir la 
ganancia de o la frecuencia que nos convenga. A diferencia de los 
paramétricos, estos ecualizadores no poseen un control para 
modificar el ancho de banda. 
 
 
 
 
46
Federico Miyara, “Ecualizadores” [10 de Mayo del 2013]. 
47“Dual Channel 15-Band Equalize”,disponible en, 
http://adn.harmanpro.com/product_attachments/product_attachments/501_1347913274/1215front_lg_original.jpg 
http://adn.harmanpro.com/product_attachments/product_attachments/501_1347913274/1215front_lg_original.jpg
 
44 
 
2.1.5.5.3. Ecualizador paramétrico. 
 
El ecualizador paramétrico nos permite seleccionar la frecuencia 
central que queremos ecualizar, el ancho de banda y la ganancia. x 
También puede ser Multi-Banda, permitiendo seleccionar 4 o más 
frecuencias. 
 
 
 
2.29. Ecualizador Paramétrico.[48] 
 
2.1.6. Conceptos dentro del algoritmo desarrollado. 
 
En la programación orientada a objetos es esencial comprender algunos 
conceptos que hacen más sencillo el planteamiento y diseño del programa. En 
iOS 6[49] describen estos conceptos como: 
 
Clase: Plantillas que agrupan métodos y atributos de objetos instanciados. 
Objeto: Son instancias de

Continuar navegando