diseñoydesarrollodeunsistemadeprocesamientoderespuestas...

85
Diseño y desarrollo de un sistema de procesamiento de respuestas al impulso B-format en tiempo real para la recreación de micrófonos virtuales Felipe Ramírez Rivera, [email protected] Daniel Upegui Flórez, [email protected] Proyecto presentado para optar al título de Ingeniero de Sonido Asesor: Murillo Gómez Diego Mauricio, Ph.D. in Sound and Vibration. Universidad de San Buenaventura Colombia Facultad de Ingenierías Ingeniería de Sonido Medellín, Colombia 2017

Upload: others

Post on 20-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Diseño y desarrollo de un sistema de procesamiento de respuestas al impulso B-format entiempo real para la recreación de micrófonos virtuales

Felipe Ramírez Rivera, [email protected] Upegui Flórez, [email protected]

Proyecto presentado para optar al título de Ingeniero de Sonido

Asesor: Murillo Gómez Diego Mauricio, Ph.D. in Sound and Vibration.

Universidad de San Buenaventura ColombiaFacultad de Ingenierías

Ingeniería de SonidoMedellín, Colombia

2017

Page 2: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Citar/How to cite [1]Referencia/Reference [1] F. Ramírez Rivera y D. Upegui Flórez, “Diseño y desarrollo de un sistema de

procesamiento de respuestas al impulso B-format en tiempo real para la recreaciónde micrófonos virtuales”, Trabajo de grado Ingeniería de Sonido, Universidad de SanBuenaventura Medellín, Facultad de Ingenierías, 2017.

Estilo/Style:IEEE(2014)

Grupo de investigación: Grupo de Investigación en Modelamiento y SimulaciónComputacional (GIMSC).Línea de investigación: Acústica y procesamiento de señal.

Bibliotecas Universidad de San Buenaventura

• Biblioteca Fray Alberto Montealegre OFM - Bogotá.

• Biblioteca Fray Arturo Calle Restrepo OFM - Medellín, Bello, Armenia, Ibagué.

• Departamento de Biblioteca - Cali.

• Biblioteca Central Fray Antonio de Marchena – Cartagena.

Universidad de San Buenaventura Colombia

Universidad de San Buenaventura Colombia - http://www.usb.edu.co/Bogotá - http://www.usbbog.edu.coMedellín - http://www.usbmed.edu.coCali - http://www.usbcali.edu.coCartagena - http://www.usbctg.edu.coEditorial Bonaventuriana - http://www.editorialbonaventuriana.usb.edu.co/Revistas - http://revistas.usb.edu.co/

Page 3: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Dedicatorias

Todos mis esfuerzos y sacrificios durante el proceso que he llevado hasta el día de hoy sondedicados a todas aquellas personas de las que he aprendido y que me han aportado, queme han servido de modelo en tantos sentidos. Quisiera dedicar este trabajo a mis padres yprofesores, tutores incanzables de la vida y del saber. Dedico este esfuerzo a mi futuro, al demi familia, y al de las personas que me acompañan hoy y me acompañarán mañana. Que mimotivación y mi constancia me permita llegar hasta donde mis metas me impulsen.

Felipe Ramírez Rivera

Este escrito representa, de cierta manera, el cierre de un ciclo, un proceso, una etapa de mivida de cerca de cinco años. En estas páginas están condensados los esfuerzos continuos decerca de 8 meses. No han sido pocas las personas que me han influenciado y acompañado enel camino. No han sido pocas las situaciones desafiantes ni los momentos difíciles. Quisieracorresponderles a todos de alguna manera, lo que han hecho por mí, o conmigo; todo se losagradezco en sobremanera. Ustedes, las personas cercanas a mi, bien saben que los aspectosacádemicos son una parte fundamental de mi día a día, por ende, la dedicatoria de estetrabajo es un punto crucial para mí, un momento decisivo en mi vida. Habiendo aclarado unpoco lo que para mí representa este logro, quiero dedicarselo a la mujer de mi vida, la mujerque amo, la mujer que espero, algún día, sea mi esposa y mi compañera de vida, Ana María.

"Love is a better teacher than duty" -Albert Einstein-

Daniel Upegui Flórez

Page 4: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Agradecimientos conjuntos

La existencia humana justificada desde el punto de vista de la especie hace de la búsquedadel conocimiento y del método científico una parada fundamental. Al fin y al cabo, comodice Séneca, nuestro tiempo de vida es breve y por ende debe ser aprovechado; ¿qué másprovechoso que lo que va en pro de la especie, más que los intereses de un individuo?, "la vidaes corta, el arte largo" Hipócrates.

Luego de culminar este proceso de 5 años con este proyecto, que mejor manera de comenzar elagradecimiento que nombrando a Sócrates, y a todas aquellas personas que nos encontramosen el camino hacia la búsqueda de la verdad. Vale la pena diferenciar el grupo de docentesque encaminaron este proceso, de los cuales queremos destacar a Sebastián Lopera, WilliamEspinoza y Ever Velásquez por sus discusiones académicas y su fuerte influencia en nosotros.

Un especial agradecimiento al profesor Diego Murillo por su excelente dirección, su gransentido del humor, su asistencia, el tiempo dedicado a este trabajo y su paciencia hastael último momento. A Antonio Escamilla le debemos una profunda gratitud y queremosreconocerle por su invaluable tiempo, dedicación, su apoyo, sus discusiones, y su amistad.Más que respuestas, nos hiciste las preguntas adecuadas. Ambos fueron fundamentales parahacer de esto una realidad.

Al otro, infinitos agradecimientos, nos hemos demostrado una vez más nuestras capacidades,y hemos alcanzado a comprender la importancia de la amistad y del trabajo en equipo. Quegrande fue cuando dejamos de competir y unimos esfuerzos. Solos llegamos más rápido, perojuntos llegamos más lejos. Solo resta decir "la buena cuzh".

A mis padres Héctor y Martha, por todo su apoyo y comprensión. Gracias por sus esfuerzos ypor su incanzable trabajo para hacer de un hijo todo un ser integral. A mi hermano Daniel,por su amistad incondicional, por sus consejos y por las charlas que teníamos hasta altas horasde la noche, me ayudaron a replantear muchos dilemas e ideas. A aquellos amigos que me hanacompañado incondicionalmente y que tanto me han aportado como persona, especialmente aFredy y a Upe a quienes ahora considero como mis hermanos, y cuya amistad espero conservarel resto de mi vida. A mi novia por haber sido un gran apoyo en la realización de este trabajo,por su cariño y su forma de ser tan especial, por permitir que ambos continuemos aprendiendodel otro.

A mi madre, Ofelia, gracias por traerme a este mundo para hacer cosas grandes. Por laestimulación temprana que me diste y los modelos de educación que me impartiste. Por lossacrificios de toda clase. Por los retos intelectuales. Por nunca hacerme las tareas y decirmeque yo soy capaz, que tengo lo necesario para ser siempre el mejor. Por llevarme contigo a

Page 5: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5

la universidad cuando tan sólo era un niño. Por heredarme la pasión por la busqueda de laverdad. Por las disertaciones sobre ética y moral. Por los consejos. Por la libertad que mepermitiste para mi desarrollo personal. Por tanto amor y paciencia. En fin, gracias por todo,te ama tu hijo, el que siempre intenta ser el mejor.

Ana María, mi amor, mein Herz, mi vida, vos sos lo mejor que me ha pasado en la vida.Cuan feliz me has hecho, me haces y me harás. Cuan dichoso soy de que me permitas formarparte de tu vida. Que grande es hacer parte de tu familia y que tu hagas parte de la mía.Te quiero agradecer por toda la paciencia y el amor que me has tenido durante todo esteproceso. Agradezco infinitamente tu amor, tu comprensión, tu paciencia, el apoyo, el ánimoque me das siempre, las risas, los abrazos, los besos, nuestros sueños a futuro, tantísimascosas tengo para agradecerte. Busqué en el banquete llegar a la comprensión del amor quesentímos, pero tienes toda la razón, hay cosas que sencillamente te permean completamentecomo ser y van más allá de todo. Ana, muchas gracias por absolutamente todo. Te amo contodas mis fuerzas vitales, con ganas, con sinceridad, con todo.

Page 6: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Tabla de contenido

Resumen 14

Abstract 15

Introducción 16

1 Planteamiento del problema 17

1.1 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Justificacion 21

3 Objetivos 22

3.1 Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Marco Teórico 23

4.1 Respuestas al impulso y procesamiento digital de señales . . . . . . . . . . . . 23

4.1.1 Respuesta al impulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.1.2 Síntesis de respuestas al impulso con base en acústica geométrica . . . 24

4.1.3 Reverberación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1.4 Filtros FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1.5 Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.6 Convolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.1.7 Convolución en tiempo real . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2 Teoría de armónicos esféricos y sistema Ambisonics . . . . . . . . . . . . . . . 32

4.2.1 Definición de sistema coordenado . . . . . . . . . . . . . . . . . . . . . 32

Page 7: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Tabla de contenido 7

4.2.2 Armónicos esféricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2.3 Sistema Ambisonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.4 Codificación B-format . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2.5 Medición de respuestas al impulso B-format . . . . . . . . . . . . . . . 40

4.3 Síntesis de micrófonos virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.3.1 Directividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.3.2 Método de síntesis a partir de señales B-format . . . . . . . . . . . . . 42

4.4 Conceptos básicos para diseño y ensayo de software . . . . . . . . . . . . . . . 44

4.4.1 Diseño de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.4.2 Pruebas de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 Desarrollo 47

5.1 Comprobación de la teoría de codificiación B-format a partir de respuestas alimpulso sintetizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.1.1 Evaluación de respuestas al impulso obtenidas con diferentes algoritmosde Catt-TUCT™ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.1.2 Verificación de amplitud y fase de señales en acuerdo con la teoría decodificación B-format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso deun micrófono virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.2.1 Evaluación de la amplitud equivalente para un micrófono de campobajo condiciones semianecoicas. . . . . . . . . . . . . . . . . . . . . . . 55

5.2.2 Evaluación del TD y LD en ambiente anecóico. . . . . . . . . . . . . . 60

5.3 Desarrollo del algoritmo de convolución en tiempo real . . . . . . . . . . . . . 62

5.4 Desarrollo del plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.4.1 Diseño de alto nivel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.4.2 Interfaz gráfica de usuario . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.5 Pruebas del plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Page 8: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Tabla de contenido 8

5.5.1 Prueba de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.5.2 Prueba de aceptación de usuario . . . . . . . . . . . . . . . . . . . . . . 65

5.5.3 Prueba de la fidelidad del procesamiento del plug-in para la síntesis demicrófonos virtuales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.5.4 Prueba del delay introducido por el plug-in . . . . . . . . . . . . . . . . 69

5.5.5 Pruebas de rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.5.6 Validación del plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6 Conclusiones 72

Referencias 73

Anexos 77

Page 9: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Lista de tablas

Tabla I . Relaciones de componentes para distintos patrones polares . . . . . . . . 42

Tabla II . Factores de directividad teórico para síntesis de micrófonos virtuales . . . 43

Tabla III . Comparación del consumo de recursos computacionales utilizando una solainstancia con diferentes tamaños de IR. . . . . . . . . . . . . . . . . . . . . 70

Tabla IV . Comparación de uso de recursos computacionales utilizando múltiplesinstancias en ejecución simultánea. . . . . . . . . . . . . . . . . . . . . . . 70

Tabla V . Comparación del costo computacional de la ejecución del software condiferentes tamaños de buffer. . . . . . . . . . . . . . . . . . . . . . . . . . 71

Page 10: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Lista de figuras

Fig. 1. Diagrama de bloques de la señal de entrada y salida para algoritmo de convoluciónOverlap-save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Fig. 2. Diagrama de bloques de la señal de entrada y salida para algoritmo de convoluciónOverlap-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Fig. 3. Sistema coordenado empleado para la descripción y análisis teórico . . . . . 33

Fig. 4. Patrones polares de codificación B-format . . . . . . . . . . . . . . . . 39

Fig. 5. Arreglo de micrófonos Nimbus-Halliday . . . . . . . . . . . . . . . . . 40

Fig. 6. Micrófono de campo tetrahedrico . . . . . . . . . . . . . . . . . . . . 41

Fig. 7. Distribución empleada para la comparación de algoritmos de Catt-TUCT™. . 48

Fig. 8. Comparación de algoritmos de Catt-TUCT™. . . . . . . . . . . . . . . 49

Fig. 9. Distribución empleada para la comparación de magnitud de señales B-formatcon la teoría de codificación. . . . . . . . . . . . . . . . . . . . . . . . . . 50

Fig. 10. Comparación de amplitud y fase de señales en acuerdo con teoría de codificación50

Fig. 11. Comparación de amplitud y fase entre W compensado (+3 dB) y X . . . . 51

Fig. 12. Comparación de fase en respuestas al impulso X y Y a 45° y 315° . . . . . 52

Fig. 13. Comparación entre patrones polares teóricos y experimentales en 2D . . . . 53

Fig. 14. Evaluación del comportamiento espacial de los resultados del algoritmo desíntesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Fig. 15. Distribución empleada para la evaluación de la amplitud equivalente de laseñal captada por un micrófono de campo. . . . . . . . . . . . . . . . . . . . 55

Fig. 16. Distribución de energía con coeficiente de reflexión de 0.2 y scattering de 0.2 56

Fig. 17. Distribución de energía con coeficiente de reflexión de 1 y scattering de 0.2 . 57

Fig. 18. Distribución de energía con coeficiente de reflexión de 0.2 y scattering de 1 . 58

Fig. 19. Distribución de energía con coeficiente de reflexión de 1 y scattering de 1 . . 59

Page 11: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Lista de figuras 11

Fig. 20. Distribución del esquema empleado para evaluación del TD y comparación conel valor teórico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Fig. 21. Respuestas al impulso y tiempos teóricos fuente-receptor para ambos receptores. 61

Fig. 22. Diseño de alto nivel del flujo de señal del plug-in . . . . . . . . . . . . . 64

Fig. 23. Interfaz gráfica de usuario del plug-in . . . . . . . . . . . . . . . . . 64

Fig. 24. Comparación de patrones polares teóricos y procesados por el plug-in . . . . 68

Fig. 25. Reporte del plug-in delay compensation . . . . . . . . . . . . . . . . . 69

Fig. 26. Prueba del plug-in delay compensation reportado . . . . . . . . . . . . 69

Page 12: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Lista de abreviaciones

HRTF Head-Related Transfer Function

ORTF Office de Radiodiffusion Télévision Française

HOA High Order Ambisonics

RIR Room Impulse Response

IDE Integrated Develpment Environment

LTI Linear Time-Invariant

DFT Discrete Fourier Transform

IDFT Inverse Discrete Fourier Transform

FIR Finite Impulse Response

ISO International Organization for Standardization

MLS Maximum Length Sequence

LFU Left Front Up

RFD Right Front Down

LBD Left Back Down

RBU Right Back Up

DI Directivity Index

KLOC Kilo Lines of Code

TD Time Difference

LD Level Difference

DAW Digital Audio Workstation

PDC Plug-in Delay Compensation

IR Impulse Response

Page 13: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Tabla de símbolos

Símbolos matemáticosj operador imaginario (j =

√−1)

e numero irracional (e = limx→0(1 + x)1/x)F , F−1 transformada directa e inversa de FourierDFT [·], IDFT [·] transformada discreta directa e inversa de Fourier∇2 operador laplaciano⊗ operación convolución⌊·⌋ aproximación al entero inferiormod(·) móduloS, S−1 transformadas esféricas de Fourier discreta e inversa(·)∗ conjugado complejoConjuntos, vectores y matricesΩ esfera unitariaEntidades físicasω frecuencia angular [rad s−1]t tiempo[s]c velocidad del sonido [m s−1]k número de onda [rad m−1]Funcionesδ(·) función delta de DiracP m

n (·) función de Legendre de primera clase de orden m y grado n

Qmn (·) función de Legendre de segunda clase de orden m y grado n

Y mn armónico esférico complejo de orden m y grado n

Anm(·) coeficiente complejo de un armónico esféricojn(·) función esférica de Bessel de primera especie y de orden n

yn(·) función esférica de Bessel de segunda especie y de orden n

h(1)n (·) función esférica de Hankel de primera especie y de orden n

h(2)n (·) función esférica de Hankel de segunda especie y de orden n

Υmn (·) armónico esférico real de orden m y grado n

Page 14: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Resumen

La reverberación artificial por medio de convolución de señales monofónicas y/o estereofónicasha sido un proceso comúnmente utilizado en el ámbito de la postproducción de audio. Sinembargo, no existe en la actualidad una herramienta que permita hacer uso de la codificaciónB-format para generar de una manera dinámica, reverberación artificial por convoluciónutilizando síntesis de micrófonos virtuales.

En consecuencia, se propone la creación de una herramienta cuya funcionalidad aporte a losprocesos de postproducción de audio, permitiendo manejar con mayor libertad la reverberaciónartificial y la sensación de espacialidad, a partir del procesamiento de respuestas al impulsoB-format. El presente trabajo de grado fue adscrito al proyecto de investigación “Medición,procesamiento y análisis de respuestas al impulso en salas de concierto desde un enfoque dela producción de audio”.

La herramienta propuesta consiste en un software tipo plug-in que permite la síntesis de larespuesta al impulso de un micrófono virtual con patrón direccional de primer orden y suorientación en tres dimensiones. Posteriormente, esta respuesta al impulso es convolucionadaen tiempo real con una señal monofónica, lo que permite su uso en procesos de producción ypostproducción de audio.

El desarrollo consta del diseño de los algoritmos necesarios para la convolución en tiempo realy la generación de micrófonos virtuales, con posibilidad de elección entre diferentes patronesde direccionalidad de primer orden y su correspondiente orientación en el espacio. Estosdiseños se realizaron en el entorno de programación Octave 4.0. La creación del plug-in serealizó a partir del lenguaje de programación C++, utilizando el entorno de desarrollo Xcode,el framework JUCE, el kit de desarrollo de Steinberg, y la librería de libre acceso Openairdesarrollada por la Universidad de York.

El resultado de la presente investigación corresponde a un plug-in en formato .VST y .AU conuna interfaz gráfica de usuario básica, que posibilita el control de los parámetros del plug-in.

Palabras clave: Procesamiento de señales en tiempo-real, B-format, Micrófonos Virtuales.

Page 15: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Abstract

The artificial reverberation by means of convolution of monophonic and/or stereophonicsignals has been a commonly used process in the scope of audio post-production. However, itdoesn’t exist nowadays a tool that allows to use the B-format encoding to generate artificialreverberation by convolution in a dynamic manner using virtual microhpone synthesis.

In consequence, it is propose the creation of a tool which functionality contributes to theaudio post-production processes, giving the ability to handle the artificial reverberation andsense of spatiality with more freedom, from the B-format impulse responses processing. Thepresent grade project was signed to the investigation project “Medición, procesamiento yanálisis de respuestas al impulso en salas de concierto desde un enfoque de la producción deaudio”.

The proposed tool consists in a type plug-in software that allows the synthesis of the impulseresponse from a virtual microphone with first order directivity pattern and it’s orientation inthree dimensions. Following this, the impulse response is convolved with a monophonic signalin real time, allowing its use in production and post-production audio processes.

The development consists in the design of the algorithms needed for real time convolutionand generation of virtual microphones, with the possibility of choice between different polarpatterns and its corresponding orientation over the three dimensions. These designs weredeveloped in the programming environment Octave 4.0. The creation of the plug-in was donefrom the C++ programming language, using the Xcode development environment, the JUCEframework, the Steinberg kit for development and the open access library Openair developedby the York University.

The result of the present research corresponds to a plug-in in .VST and .AU format with abasic user graphic interface, that enables the control of the parameters of the plug-in.

Keywords: Real-time signal processing, B-format, Virtual Microphones.

Page 16: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Introducción

Existen diversos sistemas de reproducción multicanal que han permitido reconstruir campossonoros más complejos a partir del uso de arreglos de altavoces. Algunos de estos sistemascomo el estéreo o quadraphonic, tienen como limitante el paneo de sonidos a partir del nivelde reproducción, lo que impide la correcta localización de fuentes virtuales entre altavocescon amplios ángulos de separación. Esta limitación fue superada por el sistema Ambisonics,introducido en la década de 1970, el cual basa su funcionamiento en la reconstrucción delcampo sonoro, partiendo de la teoría de armónicos esféricos. La captura de señales utilizandola codificación del sistema Ambisonics permite obtener información espacial del campo sonoro,con la cual es posible generar la respuesta de un micrófono virtual orientado en 3 dimensiones.

El presente trabajo de grado se articula al proyecto “Medición, procesamiento y análisis derespuestas al impulso en salas de concierto desde un enfoque de la producción de audio”,cuyo objetivo general es "diseñar, desarrollar e implementar una metodología de mediciónde respuestas al impulso, así como herramientas de software para su captura, procesamientoy análisis en tiempo real apropiadas para su uso en producción musical". La presenteinvestigación busca aportar al proyecto mencionado en el desarrollo de una herramientaorientada a procesos de postproducción de audio, que permita generar reverberación artificialpor convolución de una manera más dinámica, a partir del uso de respuestas al impulso encodificación B-format.

El estudio aborda la generación y correspondiente orientación en tres dimensiones, de micró-fonos virtuales con patrones polares de primer orden fijos, a partir de respuestas al impulsocodificadas en B-format para su posterior convolución con señales de audio monofónicas.Como resultado de este procesamiento, se busca generar una sensación de espacialidad quepretende ser útil para los procesos de postproducción de audio.

Page 17: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

1. Planteamiento del problema

A principios de la década de 1970 se introdujo el sistema Ambisonics, el cual se basa en lateoría de armónicos esféricos para la codificación de información espacial del campo acústico.Este sistema y su formato de codificación (B-format) han sido tema de estudio de diversasinvestigaciones, explorando capacidades como la síntesis de micrófonos virtuales a partir delprocesamiento de las señales codificadas.

En adición, una inquietud que aborda el proyecto de investigación “Medición, procesamientoy análisis de respuestas al impulso en salas de concierto desde un enfoque de la producciónde audio” es “¿Cómo procesar señales B-format para derivar señales mono y/o estéreo coninformación espacial del campo acústico tridimensional, a partir de suponer micrófonosvirtuales con determinada orientación?”.

Teniendo en cuenta el desarrollo teórico de la comunidad científica, y el cuestionamiento queafronta el proyecto de investigación, se propone el desarrollo de una herramienta para el usode reverberación artificial por convolución a partir de una síntesis de respuesta al impulso, quepermita otorgar mayor libertad al usuario dentro de los procesos de postproducción de audio.

1.1. Antecedentes

El sistema Ambisonics surge en la década de 1970 en el Reino Unido, con el auspicio delBritish National Research Development Corporation [1]. Este sistema basa su codificación ydecodificación en la descripción del campo sonoro utilizando la teoría de armónicos esféricos[2]. Ambisonics permitió superar problemas existentes en otros sistemas de reproducciónmulticanal de la época , como la localización imprecisa de fuentes virtuales entre altavoces [3].

Inicialmente, el método utilizado para la captura de señales para sistemas estéreo, quadra-phonics y surround se basaba en arreglos de micrófonos, tratando de ubicar los diafragmas lomás cerca posible (método conocido como cápsulas coincidentes) y direccionandolos con el finde capturar sonidos provenientes de diferentes sectores en el espacio [4]. Aunque existe unarreglo de micrófonos convencionales que permite la captura de señales para su uso con elsistema Ambisonics (conocido como micrófono nativo B-format o arreglo Nimbus-Halliday),este arreglo solo permite obtener información sobre la ubicación de la fuente en un planohorizontal [5]. Sumado a esto, espaciamientos mayores a 3 cm entre micrófonos, y su respuestapolar en amplitud y fase conllevan a problemas de localización de fuentes. Una alternativa a

Page 18: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

1.1 Antecedentes 18

este arreglo es el uso del micrófono de campo, a partir del cual se pueden obtener señales encodificación B-format (W, X, Y, Z) [4].

Se han realizado revisiones de los avances obtenidos en el estudio de los micrófonos de campo.D. S. Jagger [6] explica los principios teóricos bajo los cuales pueden sintetizarse diferentesmicrófonos virtuales y cómo estos pueden ser orientados tanto en azimut como en elevación.En otro proyecto A. Politis y V.Pulkki han propuesto nuevos métodos de análisis y síntesis deaudio direccional a partir de las señales capturadas por micrófonos de campo en A-format,incluyendo un procedimiento para la síntesis de micrófonos virtuales desde estas mismasseñales (A-format) [7]. J. Vilkamo et. al. propusieron un método para la síntesis de micrófonosvirtuales utilizando la teoría del Directional Audio Coding a partir de las señales en B-format[8].

Se han realizado diversas investigaciones que han generado herramientas para el procesamientode señales B-format. F. Adriaensen desarrolló una aplicación para el sistema operativo Linux,en la cual se incluyen diferentes funciones para el procesamiento de la señal capturada pormicrófonos de campo tetraédricos [9]. Por otro lado, S. Berge y N. Barrett estudiaronun método para la expansión de ondas planas con alta resolución angular utilizando unacombinación de decodificación paramétrica y lineal [10]. El resultado de este estudio seevidencia en el desarrollo de un software tipo plug-in, el cual integra gran cantidad de funcionespara la rotación del campo sonoro, la síntesis de micrófonos virtuales y la reproducción endiferentes sistemas [11]; sin embargo, esta herramienta no permite generar un efecto dereverberación. De igual forma B. Wiggins ha desarrollado diferentes herramientas tipo plug-inpara la rotación, codificación, decodificación y uso de reverberación en señales Ambisonicsde distintos órdenes [12]. A diferencia con la herramienta propuesta en el presente trabajo,el plug-in de reverberación desarrollado por B. Wiggins aplica el efecto a las cuatro señalesAmbisonics utilizando combinaciones de filtros en serie y en paralelo.

Diversos estudios han utilizado micrófonos de campo para la captura de respuestas al impulso,reconociendo su utilidad para distintas aplicaciones como las caracterizaciones acústicas, lasauralizaciones y el uso de reverberación.

Diversos estudios han utilizado la captura de respuestas al impulso con micrófonos de campopara su aplicación en caracterizaciones acústicas de recintos y auralizaciones. En el trabajode S. B. Shelley et. al. se realizaron mediciones de respuestas al impulso B-format en lugaresabiertos tales como el parque nacional Koli en Finlandia para analizar la propagación delsonido y su evolución temporal para distintas frecuencias, así como también para el análisisacústico del espacio [13]. En otro estudio conducido por F. Menzer et. al. se utilizaronrespuestas al impulso B-format y funciones de transferencia de cabeza (HRTF) con el fin de

Page 19: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

1.1 Antecedentes 19

proponer un método para generar respuestas al impulso binaurales para recintos, obteniendoresultados similares a métodos conocidos anteriormente para frecuencias por debajo de 4 kHz[14]. De igual manera, la captura de respuestas al impulso de recintos y salas de conciertosha sido considerada como importante para almacenar el comportamiento acústico de estosespacios para la posteridad, por lo que se ha propuesto un método de captura que combinatres métodos conocidos para tal fin (captura con cabeza binaural, micrófono de campo ytécnica ORTF), obteniendo una mejor caracterización del campo sonoro en tres dimensiones[15].

En cuanto al uso de respuestas al impulso para la reconstrucción del campo sonoro al interiorde recintos, existe un estudio realizado por A. Farina donde se han desarrollado herramientascomputacionales para convolucionar una señal estéreo con una respuesta al impulso B-format,logrando simular una captura de la fuente en el recinto de la respuesta al impulso. Esteestudio propone también otro sistema de decodificación de señales para mejorar la respuestaen fase de los altavoces en el punto opuesto a la fuente virtual [16]. En otra investigación,J. Brereton et. al. utilizaron respuestas al impulso B-format y convolución en tiempo realcon una señal de un intérprete para generar un entorno virtual a partir de un arreglo de 16altavoces [17].

En otra propuesta diferente F. Lopez-Lezcano generó reverberación a partir de la convolución deuna señal HOA decodificada con respuestas al impulso de un recinto para simular espacialidad.Luego de la convolución, la señal es codificada nuevamente a HOA y mezclada con la señaloriginal [18].

El uso del sistema Ambisonics y las capturas B-format en procesos de producción musicalha sido un énfasis común entre diferentes estudios del tema [10, 17, 18]. Aparte de estasinvestigaciones, M. A. Gerzon et. al. han tratado el uso del sistema Ambisonics y lacaptura con micrófonos de campo para realizar mezclas a partir de multitracks, utilizandoherramientas de codificación, decodificación y transcodificación de señales B-format y estéreo[19]. D. Murphy et. al. trataron el tema de Respuestas al Impulso de Recintos (RIR) a partirde técnicas de guía de onda, con el fin de obtener una respuesta al impulso para su posteriorconvolución y reproducción en sistemas surround [20].

B. Wiggins abordó en su tesis doctoral el tratamiento de señales de campo sonoro entiempo real, donde se trataron problemas como la decodificación del sistema Ambisonics parasistemas de altavoces irregulares, y correcciones para la decodificación del sistema a partir dela consideración de la psicoacústica [21].

En cuanto al análisis de sistemas HOA, una investigación realizada por S. Bertet et. al. estudióla resolución espacial del campo sonoro a partir de la captura con arreglos de micrófonos de

Page 20: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

1.1 Antecedentes 20

segundo y cuarto orden. De este estudio se encontró que tanto el orden del sistema como losmicrófonos utilizados influyen en la resolución espacial, siendo esta más precisa para fuentescon incidencia frontal a comparación con fuentes con incidencia lateral [22].

Page 21: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

2. Justificacion

La presente propuesta está enmarcada en el desarrollo del proyecto de investigación “Medición,procesamiento y análisis de respuestas al impulso en salas de concierto desde un enfoque de laproducción de audio” de la universidad de San Buenaventura seccional Medellín, cuyo objetivoes "diseñar, desarrollar e implementar una metodología de medición de respuestas al impulso,así como herramientas de software para su captura, procesamiento y análisis en tiempo realapropiadas para su uso en producción musical". Este proyecto se articula al presente trabajode grado mediante el desarrollo de una herramienta que permita utilizar las respuestas alimpulso de salas, capturadas con micrófonos de campo, en procesos creativos asociados a laproducción de audio. De esta manera se busca que la herramienta otorgue mayor libertad alusuario en el uso de la reverberación con un enfoque hacia la postproducción de audio.

Este desarrollo permite poner a disposición de los productores de audio una herramienta quepermita simplificar el uso del sistema Ambisonics dentro de sus procesos. Sumado a esto,el proyecto permite fortalecer el tema de audio 3D como área de interés en la Facultad deIngeniería.

Desde el punto de vista de la producción de audio, este desarrollo permite contar con unprocesador que posibilite reverberar señales de entrada de acuerdo a la orientación y patrónpolar de un micrófono virtual situado en el punto de medición del recinto. De esta manera,se otorga la posibilidad de obtener diferentes estéticas sonoras (término con el que se hacereferencia al contenido espectral de la reverberación) sin la necesidad de realizar realizarmúltiples mediciones de respuestas al impulso para la caracterización de un recinto.

Page 22: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

3. Objetivos

3.1. Objetivo General

Desarrollar un plug-in de audio tipo “.VST” y “.AU” utilizando el lenguaje de programaciónC++, que permita convolucionar en tiempo real señales monofónicas con un micrófono virtualsintetizado a partir de una respuesta al impulso B-format.

3.2. Objetivos Específicos

• Definir y desarrollar un algoritmo para convolución en tiempo real entre señales monofóni-cas en el entorno de desarrollo Octave 4.0.

• Desarrollar un algoritmo para la síntesis de respuesta al impulso de micrófono virtual apartir de parámetros de orientación en tres dimensiones (azimut y elevación) y patronesde direccionalidad fijos de primer orden (omnidireccional, subcardioide, cardioide,hipercardioide, figura-de-8) en el entorno de programación Octave 4.0.

• Conformar el plug-in a partir de los algoritmos previos junto con una interfaz gráfica deusuario básica, utilizando el lenguaje C++, el framework JUCE, el kit de desarrollo deSteinberg y el IDE Xcode.

• Evaluar el plug-in en términos de rendimiento y aceptación de usuario de acuerdo conlos requerimientos de diseño del aplicativo.

Page 23: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4. Marco Teórico

Notación matemática

El presente trabajo utiliza letras en negrilla como notación para vectores (e.g. " x "). Lasseñales en el dominio del tiempo y otras variables de tipo escalar se presentan con letrasminúsculas (e.g. "f(t)", "x") y las señales en el dominio de la frecuencia se denotan con letrasmayúsculas (e.g. "F (ω)"). La notación de distintas funciones, entidades físicas y símbolosmatemáticos utilizados a lo largo del trabajo pueden ser consultadas en la Tabla de símbolos.

4.1. Respuestas al impulso y procesamiento digital de señales

A continuación se presenta una breve revisión teórica de la señal de respuesta al impulso y surelación con la reverberación de un recinto. Se incluyen también conceptos básicos y teoría deprocesamiento digital de señales necesaria para la comprensión del trabajo.

4.1.1. Respuesta al impulso

La respuesta al impulso es una señal ampliamente utilizada debido a que permite caracterizarsistemas lineales invariantes en el tiempo [23] a partir de la respuesta del sistema ante undelta de Dirac . Esta señal es ampliamente utilizada en campos como la acústica de recintos[24], el diseño y estudio de sistemas analógicos y digitales.

Desde el punto de vista de la acústica, esta señal proporciona información del comportamientoacústico para una ubicación específica de fuente y receptor, permitiendo evaluar parámetroscomo la reverberación de un recinto [25] a partir del decaimiento de la respuesta al impulso[26].

Existe una relación entre la ecuación de onda inhomogénea para campo libre y la funcióndelta de Dirac, definida matemáticamente como [27]:

(∇2 − 1

c2∂2

∂t2

)G (x, t|y, ty) = −4πδ(t − ty)δ(x − y), (4.1)

y cuya solución es una función de Green para un campo libre, de la forma [27]:

Page 24: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.1 Respuestas al impulso y procesamiento digital de señales 24

G (x, t|y, ty) = δ(t − ty − r/c)r

, (4.2)

donde x es un punto del campo y y el punto de ubicación de fuente, r es definida comor = |x − y| y la velocidad del sonido se denota con c. Dado que la ecuación de ondainhomogénea para campo libre se expresa a partir de un delta de Dirac, y que la solucióna esta ecuación puede ser modificada para el caso de recintos cerrados, existe a su vez unarelación entre la respuesta al impulso de un recinto y la ecuación de onda inhomogénea.

Actualmente existen diversos métodos para obtener la respuesta al impulso de manera rápida,precisa y maximizando la relación señal a ruido, como el denominado Maximum LengthSequence (MLS) [28].

La captura de respuesta al impulso de un recinto a partir de los métodos tradicionales degrabación y codificación provee información temporal de la propagación del sonido y susreflexiones para una ubicación de fuente y receptor. Sin embargo, debido a que el sonido ysu propagación involucra una dependencia espacial, el uso del sistema Ambisonics para lacaptura de respuestas al impulso permite obtener información tanto temporal como espacialde la transmisión del sonido en el punto de captura.

4.1.2. Síntesis de respuestas al impulso con base en acústica geométrica

La acústica geométrica es una aproximación al estudio del comportamiento acústico de unrecinto basado en la consideración del sonido y su propagación como rayos [24]. Bajo estemodelo, el sonido se propaga en línea recta, y su reflexión en la interacción con superficiesse produce de manera especular ( θin = θref ). Este modelo de análisis es una aproximaciónpara medias y altas frecuencias, donde la longitud de onda es mucho menor a las dimensionesde las superficies del recinto [29].

Diversos software de predicción para el comportamiento acústico de recintos (tal como Catt-Acoustic™) incluyen la funcionalidad de sintetizar respuestas al impulso a partir del análisisbajo el modelo de acústica geométrica. Para este fin se realiza un cálculo del ecograma en laregión de reflexiones tempranas, basado en la energía por bandas de octava, y realiza distintasinterpolaciones dependiendo del orden de las reflexiones analizado [30].

Las versiones v.8 y v.9 del software Catt-Acoustic™permiten sintetizar respuestas al impulso encodificación B-format, generando respuestas a micrófonos ideales y perfectamente coincidentes[30].

Page 25: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.1 Respuestas al impulso y procesamiento digital de señales 25

4.1.3. Reverberación

Desde el punto de vista de la acústica estadística, en un recinto cerrado, en cuyo interiorse encuentra una fuente sonora radiando energía de manera contínua, se presentan tressituaciones que describen el comportamiento de la presión acústica [28]:

• Inicialmente se presenta etapa de aumento de la presión acústica, desde el momento enque la fuente comienza a radiar, hasta un punto donde la energía acústica dentro delrecinto se mantiene constante.

• Posteriormente se produce una etapa denominada "régimen permanente" donde el aporteenergético de la fuente se contrarresta con la absorción del recinto, por el tiempo que lafuente continúe radiando.

• Finalmente se produce una etapa de decaimiento exponencial de la energía desde elmomento en que la fuente termina de radiar hasta que la energía acústica restante esabsorbida por las superficies del recinto.

De acuerdo a la norma ISO 3382-2:2008 [26], el tiempo de reverberación para un recintoordinario se define como la cantidad de tiempo necesaria para que la densidad de energíaacústica promedio dentro del recinto disminuya 60 dB desde el instante en el que una fuentesonora ha dejado de emitir .

4.1.4. Filtros FIR

También llamados filtros no recursivos debido a que no utilizan lazos de retroalimentación,en su lugar solo utilizan la muestra actual de la entrada y muestras retrasadas de la misma.Como consecuencia de esta característica principal, los filtros no recursivos son estables ytienen una respuesta al impulso finita [31].

Matemáticamente, los filtros FIR se expresan generalmente de la forma [31]:

y(n) = b0x(n) +I∑

i=1bix(n − i), (4.3)

donde y(n) es la señal de salida del filtro, b0 es el coeficiente para la muestra actual de laentrada y bi son los coeficientes para las muestras retrasadas. La señal de entrada se denota

Page 26: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.1 Respuestas al impulso y procesamiento digital de señales 26

como x(n), y x(n − i) corresponde a la señal de entrada retrasada i muestras. El orden delfiltro corresponde a I [31].

Los filtros FIR presentan a menudo un rizado en su respuesta en frecuencia. Con el fin deevitar este efecto, se utilizan funciones denominadas como "ventanas", las cuales permitensuavizar la respuesta al impulso del filtro. Existen distintas funciones conocidas para lasventanas, tales como la triangular, Hann o Blackman. Todas estas funciones alteran diferentesparámetros del comportamiento del filtro como la magnitud y la fase del mismo [31].

4.1.5. Transformada de Fourier

En el ámbito del análisis de señales, y el diseño y análisis de sistemas lineales invariantes enel tiempo (LTI), es de gran importancia y utilidad la transformada de Fourier. Esta es unaherramienta basada en la serie matemática de Fourier, la cual permite describir una funciónperiódica como una descomposición de diversas ondas sinusoidales de diferente frecuencia yamplitud [32]. La transformada de Fourier para funciones continuas en el tiempo se definecomo [33]:

F (ω) =∫ ∞

−∞f(t)e−jωtdt, (4.4)

donde F (ω) es la función expresada en el dominio de la frecuencia (ω), f(t) corresponde ala función en el dominio del tiempo . La constante e es el número irracional definido comoe = limx→0(1 + x)1/x [34], y la constante j es el operador imaginario definido como j =

√−1.

La transformada inversa de Fourier permite expresar una función en el dominio del tiempoa partir de su definición en el dominio de la frecuencia. La ecuación (4.5) es la definiciónmatemática de la transformada inversa de Fourier para funciones continuas [33]

f(t) = 12π

∫ ∞

−∞F (ω)ejωtdω. (4.5)

La transformada de Fourier y la transformada inversa de Fourier se denotan comunmentecomo F [f(t)] ≡ F (ω) y F−1[F (ω)] ≡ f(t) respectivamente [33].

Ambas transformadas son válidas solo si se cumplen las condiciones de Dirichlet para elperíodo evaluado [32]:

• La función tiene un número finito de discontinuidades.

• La función tiene un número finito de valores máximos y mínimos.

Page 27: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.1 Respuestas al impulso y procesamiento digital de señales 27

• La señal es absolutamente integrable.

En el caso de la transformada de Fourier para funciones discretas (ecuación (4.6)) [33], unatransformada de tamaño N muestras permite obtener una función definida sobre L = N

frecuencias igualmente distribuidas en un intervalo de 0 a 2π [32]. De igual manera, latransformada inversa de Fourier para funciones definidas a partir de L frecuencias discretas(ecuación (4.7)) [33] permite expresar la función en el dominio del tiempo con un tamaño deN muestras [32],

Xl =N−1∑n=0

xne−j2πnl/N , (4.6)

xn = 1L

L−1∑l=0

Xlej2πnl/N , (4.7)

en las cuales Xl es la función expresada en términos de frecuencias discretas l y xn es la funciónen el dominio temporal, donde n es la variable temporal discreta. El número de muestrasde la función en tiempo discreto se denota con N , y a su vez, el número de frecuencias dela función en el dominio de la frecuencia se expresa con L. Y donde xn es la función en eldominio temporal discreto.

La transformada discreta de Fourier y la transformada inversa de Fourier para el caso discretose denotan como DFT [x(n)] y IDFT [X(l)] respectivamente.

4.1.6. Convolución

A partir de la respuesta al impulso, es posible otorgarle a una señal las características queintroduce un sistema, logrando emular la salida del sistema caracterizado ante una señal deentrada. Esto se realiza utilizando la operación convolución [23].

La convolución discreta en el dominio del tiempo se expresa matemáticamente como [23]:

yx(n) =∞∑

i=−∞x(i)h(n − i) =

∞∑i=−∞

h(i)x(n − i), (4.8)

en la cual yx(n) denota la salida del sistema ante una entrada x(n) en el dominio deltiempo, y h(n) corresponde a la respuesta al impulso del sistema. Los términos x(n − i) yh(n − i) hacen referencia a muestras anteriores (retrasadas i muestras) de la señal de entraday la respuesta al impulso respectivamente.

Page 28: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.1 Respuestas al impulso y procesamiento digital de señales 28

Esta operación matemática exhaustiva puede ser simplificada transformando tanto la señalcomo la respuesta al impulso al dominio de la frecuencia aplicando la transformada discretade Fourier (ecuación (4.6)) y multiplicando punto a punto las señales en el dominio de lafrecuencia. Finalmente, la señal convolucionada se transforma al dominio del tiempo a partirdel caso discreto de la transformada inversa de Fourier (ecuación (4.7))[23]. El método descritoanteriormente se denomina como convolución espectral [35], y se expresa como [27]:

y(n) = x(n) ⊗ h(n) = IDFT [X(l)H(l)] , (4.9)

y para el correspondiente caso con señales continuas,

y(t) = x(t) ⊗ h(t) = F−1 [X(ω)H(ω)] , (4.10)

donde el símbolo ⊗ expresa la operación de convolución.

4.1.7. Convolución en tiempo real

Los métodos de convolución descritos a partir de las ecuaciones (4.8), (4.9), (4.10) y la teoríaanteriormente enunciada tiene como limitación su uso para señales causales (finitas, de lascuales se conoce la totalidad de su contenido temporal y/o espectral). Para el caso del procesode convolución con una señal no causal (de la cual se conocen las muestras anteriores y lamuestra actual, pero se desconocen muestras futuras), se requiere el uso de algoritmos quepermitan realizar iteraciones del proceso de convolución de manera especial.

La comunidad científica ha propuesto algorítmos con base en diferentes metodologías pararealizar operaciones de convolución en tiempo real [36–41], cuyo objetivo común es minimizarel costo computacional a partir de la optimización de las operaciones y uso de memoria.Proakis J. et. al. [32] proponen dos aproximaciones algorítmicas para la convolución entiempo real que se consideran como punto de partida para el estudio de este campo, loscuales se denominan Overlap-Save y Overlap-Add. Otro algorítmo ampliamente utilizado porla comunidad científica para la convolución en tiempo real es el algorítmo de convoluciónparticionada.

Page 29: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.1 Respuestas al impulso y procesamiento digital de señales 29

Algoritmo Overlap-Save

En este algoritmo se considera un buffer size de tamaño B muestras y una respuesta alimpulso de tamaño M muestras. El procesamiento se realiza en bloques de datos de tamañoN = B + M − 1 muestras [32].

Inicialmente se agregan B − 1 muestras de ceros al final de la respuesta al impulso (métodoconocido como zero padding) con el fin de realizar una DFT (ecuación (4.6)) del tamaño delbloque de datos. Esta transformada de la respuesta al impulso es almacenada para realizar laconvolución [32].

Para el caso del primer buffer, se realiza un zero padding de tamaño M − 1 muestras al iniciode la señal de entrada (originalmente de B muestras), resultando en una señal con el mismotamaño del bloque de datos. Para el caso de los demás buffers, en lugar de realizar zeropadding, se concatenan las últimas M − 1 muestras del buffer anterior [32].

Luego se realiza una DFT del buffer obtenido y se hace una multiplicación punto a puntoentre las transformadas del buffer y la respuesta al impulso almacenada, lo cual se expresa dela siguiente manera [32]:

Ym(l) = Xm(l)H(l), l = 0, 1, . . . , N − 1, (4.11)

en la cual Ym(l) es el bloque de datos en el dominio de la frecuencia, m es el índice del bloquede datos y l es el índice de las frecuencias discretas. H(l) y Xm(l) son las señales de respuestaal impulso y buffer de entrada respectivamente, expresadas en el dominio de la frecuencia [32].

Posteriormente se realiza la transformada inversa de Fourier (ecuación (4.7)) sobre el bloquede datos Ym(l). Con el fin de evitar distorsión en la señal convolucionada, se descartan lasprimeras M − 1, quedando entonces un vector de tamaño B muestras de la siguiente forma[32]:

ym(n) = M, M + 1, . . . , N − 1, (4.12)

donde ym(n) es el vector de salida del buffer expresado en el dominio del tiempo.

En la figura 1 se encuentra consignado un diagrama básico del tratamiento de la señal deentrada y la señal de salida en función del tamaño del buffer B [32].

Page 30: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.1 Respuestas al impulso y procesamiento digital de señales 30

Fig. 1 . Diagrama de bloques de la señal de entrada y salida para algoritmo de convolución Overlap-save

Algoritmo Overlap-Add

En este algoritmo se considera un buffer size de B muestras y una respuesta al impulso deM muestras. A ambas señales se les aplica un zero padding al final, con el fin de que ambastengan un tamaño de N = B + M − 1 muestras. Luego se realiza la convolución expectral(ecuación (4.9)) entre la señal de entrada y la respuesta al impulso [32].

Debido a que el buffer size es de B muestras, las últimas M − 1 muestras de la convoluciónresultante se suman a las primeras M − 1 muestras de la siguiente convolución, realizandoeste procedimiento de manera iterada [32].

En la figura 2 se encuentra consignado un diagrama básico del tratamiento de la señal deentrada y la señal de salida en función del tamaño del buffer B [32].

Page 31: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.1 Respuestas al impulso y procesamiento digital de señales 31

Fig. 2 . Diagrama de bloques de la señal de entrada y salida para algoritmo de convolución Overlap-add

Convolución particionada uniforme

La convolución particionada es un algoritmo ampliamente utilizado debido a que se consideramás eficiente en términos de recursos computacionales, especialmente cuando se trabaja conrespuestas al impulso con un número de muestras muyo mayor al del buffer size [41].

El algoritmo generalizado de convolución particionada uniforme, propuesto por F. Weferset. al. [41] divide la respuesta al impulso h(n) en s particiones (h0(n), h1(n), . . . , hs−1(n))cada una con un tamaño M de muestras. Cada partición hi(n) es retrasada un número demuestras iM , expresado en términos del buffer size B, y de un residuo di para el caso dondenúmero de muestras M de las particiones de la FIR no sea múltiplo entero del buffer size. Elretraso iM se expresa matemáticamente como se indica en la ecuación (4.13), considerandolas ecuaciones (4.14) y (4.15) [41].

iM = biB + di, (4.13)

Page 32: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 32

bi = ⌊iM

B⌋, (4.14)

di = mod(iM, B), (4.15)

en la cual bi es el múltiplo de buffer size para cada partición hi(n), los delimitadores ⌊ y ⌋indican que el número dentro de estos se aproxima al entero inferior, y mod(·) es el operadormódulo.

A cada partición se le adicionan di muestras con ceros a la izquierda (retrasando la señal) yN − M − di a la derecha, donde N es el tamaño de la transformada. Posteriormente estasparticiones son transformadas al dominio de la frecuencia y almacenadas [41].

Cada buffer size (B muestras) de la señal de entrada se almacena en orden de llegada, yse realiza una DFT de N muestras, almacenando las transformadas de la señal de entradaen una linea de retrasos en el dominio de la frecuencia, desplazando cada transformada deacuerdo a su corespondiente orden de llegada. Se realiza posteriormente una multiplicaciónentre la partición de la respuesta al impulso i y su correspondiente espectro de entrada, y sealmacenan los resultados en el orden de la línea de retrasos [41].

Finalmente, se aplica una IDFT (ecuación (4.7)) a la señal almacenada, y se descartan lasprimeras N − B muestras por distorsión temporal, retornando B muestras correspondientesal tamaño del buffer size [41].

4.2. Teoría de armónicos esféricos y sistema Ambisonics

En esta sección se expone brevemente la teoría de armónicos esféricos, la cual sirve como basepara la reconstrucción del campo sonoro. Se presenta también una corta revisión del sistemaAmbisonics y su codificación B-format.

4.2.1. Definición de sistema coordenado

El sistema coordenado utilizado en la presente investigación es ilustrado en la figura 3, ydescrito a continuación.

Page 33: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 33

Fig. 3 . Sistema coordenado empleado para la descripción y análisis teórico

El sistema de coordenadas esféricas se define a partir de dos ángulos (θ y φ) y un radio, dondeθ comienza en 0 radianes desde la posición paralela al eje vertical y aumenta su valor en elsentido indicado en la figura 3, llegando hasta un valor de π radianes. De igual manera, φ

comienza en 0 radianes desde la posición paralela al eje X y aumenta en el sentido indicadoen la figura, abarcando hasta un valor de 2π.

Para la aplicación y desarrollo de algoritmo de síntesis de micrófonos virtuales, se realiza unamodificación con respecto a la convención del ángulo de elevación. Esta variación consiste entomar el ángulo de elevación desde el plano horizontal que pasa por el origen y no desde eleje vertical como se ilustra en la figura, abarcando entonces un rango de valores entre −π

2 y π2

radianes.

4.2.2. Armónicos esféricos

Por definición, los armónicos esféricos son funciones definidas que satisfacen el componenteangular de la ecuación de Laplace en coordenadas esféricas, expresado de manera generalcomo [42]:

∇2f = 0. (4.16)

Los armónicos esféricos forman una base ortonormal, es decir, cualquier función sobre unaesfera puede ser representada como una combinación lineal de diferentes armónicos esféricos.

Page 34: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 34

La relación entre el sistema de coordenadas cartesiano y esférico es [43, 27]:

f = [x, y, z] = [r sin(θ) cos(φ), r sin(θ) sin(φ), r cos(θ)], (4.17)

donde r es la magnitud de un vector radio r desde el origen del sistema hasta el puntode interés, θ es el ángulo azimutal, φ el ángulo de elevación, x, y y z corresponden a lascoordenadas cartesianas. Con f se denota una función general en coordenadas esféricas.

De acuerdo a la teoría de transformación [43], por la cual se establece que es posible producirdiversos sistemas coordenados a partir de un sistema cartesiano, puede llegarse a una expresiónpara el Laplaciano en coordenadas esféricas, expresada matemáticamente como [43]:

1r2

∂r

(r2 ∂f

∂r

)+ 1

r2 sin(θ)∂

∂θ

(sin(θ)∂f

∂θ

)+ 1

r2 sin2(θ)∂2f

∂φ2 = 0. (4.18)

Esta ecuación diferencial (4.18) puede ser resuelta a partir del método de separación devariables, expresando su solución a partir de cuatro funciones con dependencia del radio,azimut, elevación y tiempo independientemente, tal como se expresa a continuación: [33].

f(r, θ, φ, t) = R(r)Θ(θ)Φ(φ)T (t), (4.19)

en la cual R(r) es la solución a la ecuación diferencial con dependencia del radio, Θ(θ) es lasolución con dependencia del ángulo azimutal, Φ(φ) es la función con dependencia del ángulode elevación, y T (t), la solución con dependencia temporal.

La función con dependencia del ángulo azimutal se expresa a partir de las funciones deLegendre de primera P m

n y segunda clase Qmn en la ecuación (4.20). La segunda solución es

omitida debido a que la función de Legendre de segunda clase no toma un valor finito paraargumentos iguales a ±1. De igual manera ocurre con la función de Legendre de primeraclase cuando su argumento es igual a 1. Por este motivo se limita el índice n de la funcióna valores enteros [33]. Por otro lado, la función con dependencia del ángulo de elevación seexpresa en la ecuación (4.21),

Θ(θ) = Θ1Pmn (cos(θ)) + Θ2Q

mn (cos(θ)), (4.20)

Φ(φ) = Φ1(cos(mφ)) + Φ2(sin(mφ)). (4.21)

Page 35: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 35

Los armónicos esféricos surgen entonces de la combinación de las dos funciones con dependenciaangular (ecuaciones(4.20) y (4.21)) que resuelven la ecuación de Laplace en una funciónunificada, expresada en la ecuación a partir de los polinomios de Legendre asociados P m

n dela forma [33]:

Y mn (θ, φ) =

√√√√(2n + 1)4π

(n − m)!(n + m)!P

mn (cos(θ))ejmφ, (4.22)

donde Y mn corresponde al armónico esférico de orden m y grado n.

Los polinomios de Legendre asociados son una solución especial de los polinomios de Legendre,donde ambos índices de orden m y grado n son valores enteros [33]. Estos polinomios, al igualque las funciones de armónicos esféricos, forman un conjunto ortogonal para cada valor enterode m. La representación del orden (m) varia el amortiguamiento con el que decae la funciónen los extremos del argumento angular (0 − 2π), mientras que el grado (n) varía la frecuenciade oscilación de la función obtenida [33]. Los polinomios de Legendre para ordenes mayores oiguales a cero se definen como:

P mn (x) = (−1)m(1 − x2)m

2dm

dxmPn(x). (4.23)

Debido a que los armónicos esféricos forman una base ortonormal para cada orden m,cualquier función definida sobre una esfera puede ser reconstruida o representada a partir deuna combinación de estos, lo cual se expresa matemáticamente a partir de la ecuación (4.24)[33],

g(θ, φ) =∞∑

n=0

n∑m=−n

AnmY mn (θ, φ) = S−1Anm, (4.24)

en la cual g(θ, φ) es una función normalizada (es decir, una función con amplitud máximaunitaria) definida sobre una esfera y Anm son coeficientes complejos definidos a partir delconjugado de su correspondiente armónico esférico. En la ecuación (4.25) se indica la funciónpara obtener las constantes complejas Anm, y en la ecuación (4.26) se describe la definicióndel ángulo Ω [33].

Anm =∫

Y mn (θ, φ)∗g(θ, φ)dΩ = Sg(θ, φ), (4.25)

donde el operador ()∗ corresponde al conjugado complejo de la función,

Page 36: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 36

∫dΩ ≡

∫ 2π

0dφ∫ π

0sin(θ)dθ. (4.26)

La teoría de armónicos esféricos es aplicada al campo de estudio mediante la transformacióndel dominio de armónicos esféricos al dominio espacial y viceversa. En la ecuación (4.25)se enuncia la función por la cual se realiza la transformada esférica de Fourier, denotadapor Sg(θ, φ). Por otro lado, la ecuación (4.24) expresa la transformada inversa esféricade Fourier S−1Anm a partir de los armónicos esféricos y sus correspondientes coeficientescomplejos Anm [44].

Para el caso específico de las ondas sonoras, partiendo de la ecuación de onda y considerandola expresión para el laplaciano en coordenadas esféricas presentado en la ecuación (4.18), seobtiene la siguiente ecuación [33]:

1r2

∂r

(r2 ∂p

∂r

)+ 1

r2 sin(θ)∂

∂θ

(sin(θ)∂p

∂θ

)+ 1

r2 sin2(θ)∂2p

∂φ2 − 1c2

∂2p

∂t2 = 0. (4.27)

Teniendo en cuenta que esta ecuación diferencial puede ser igualmente resuelta de la formade la ecuación (4.19), y que los armónicos esféricos son la solución a la porción angular (enazimut y elevación) de esta expresión, se puede expresar entonces a la función de presión entérminos de los armónicos esféricos, las constantes complejas Anm y las funciones esféricas deBessel (ecuación (4.28)) o Hankel (ecuación(4.29)) de primer y segundo orden [33],

p(r, θ, φ, ω) =∞∑

n=0

n∑m=−n

(Amnjn(kr) + Bmnyn(kr)) Y mn (θ, φ), (4.28)

p(r, θ, φ, ω) =∞∑

n=0

n∑m=−n

(Cmnh(1)

n (kr) + Dmnh(2)n (kr)

)Y m

n (θ, φ), (4.29)

en las cuales jn(kr) y yn(kr) son las funciones de Bessel de primer y segundo orden respecti-vamente. De igual manera, h(1)

n y h(2)n son las funciones de Hankel de primer y segundo orden

[33].

La diferencia esencial de estas dos definiciones, es la validez de las mismas para describir elcampo sonoro en diferentes condiciones. La ecuación (4.30) se emplea como solución generalpara la descripción del campo sonoro en casos interiores (desde un punto central hasta unradio finito), donde las fuentes se encuentran fuera del área de validez [33].

p(r, θ, φ, ω) =∞∑

n=0

n∑m=−n

Amn(ω)jn(kr)Y mn (θ, φ). (4.30)

Page 37: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 37

Por otro lado, se emplea la definición a partir de la función esférica de Hankel para ladescripción de un campo sonoro para un rango exterior (desde un radio finito a hasta unradio finito b. Este es el caso de estudio para fuentes cuya frontera se extiende hasta el radiointerior a. La solución general para el caso explicado se expresa como [33]:

p(r, θ, φ, ω) =∞∑

n=0

n∑m=−n

Cmn(ω)h(1)n (kr)Y m

n (θ, φ). (4.31)

En la aplicación de los armónicos esféricos para la descripción de campos acústicos , es posibleutilizar el componente real de los armónicos esféricos Υm

n [45], la cual se obtienen a partir desus correspondientes armónicos complejos [27]. Esta componente se expresa matemáticamentecomo:

Υmn =

i√2(Y −|m|

n − (−1)mY |m|n ) para m < 0

Y 0n para m = 01√2(Y −|m|

n + (−1)mY |m|n para m > 0

. (4.32)

4.2.3. Sistema Ambisonics

Ambisonics surge en la década de 1970 como un concepto para un sistema de reproducciónenvolvente con el cual se buscaba superar los problemas existentes en sistemas de reproducciónmulticanal como Quadraphonic o estéreo. Uno de estos problemas es la sensación deficientede fuentes separadas ubicadas entre los altavoces, lo que deriva en una localización imprecisade fuentes virtuales entre altavoces [3, 46]. Esto se debe a que en sistemas convencionalesde reproducción multicanal, la orientación (panning) de la fuente se basaba únicamente endiferencias de nivel de presión sonora. Ambisonics propone entonces abordar el problemateniendo en cuenta diferencias de fase, nivel y otros conceptos psicoacústicos para el desarrollode un sistema que provee una localización más precisa de las fuentes virtuales.

Los conceptos que sirvieron como base para el desarrollo del sistema Ambisonics fueronestablecidos entre 1971 y 1972 por distintos investigadores entre los que se encuentran D.Cooper, P. Fellget y M. Gerzon [47]. La idea que fundamenta el sistema Ambisonics es ladescripción espacial del campo sonoro a partir de una matriz de señales soportada desde lateoría de armónicos esféricos. [48, 42].

Page 38: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 38

4.2.4. Codificación B-format

El sistema de grabación Ambisonics de primer orden, se basa en armónicos esféricos de orden0 y 1, a partir de los cuales se forma una base ortonormal sobre la que se puede recrear unmicrófono virtual en cualquier dirección de un espacio de dos o tres dimensiones (dependeráde si se utilizan dos o tres armónicos esféricos de orden 1).

Las funciones de armónicos esféricos logran constituir la base para una matriz universaldenominada UMX. Esta matriz particularmente puede considerar dos, tres o cuatro canales(BMX, TMX o QMX respectivamente) [48].

Diversas señales monofónicas si pueden ser codificadas en B-format a partir de las ecuaciones(4.33), (4.34), (4.35) y (4.36) [2].

W = 1I

I∑i=1

si[1√2

], (4.33)

X = 1I

I∑i=1

si[cos(φi)sin(θi)], (4.34)

Y = 1I

I∑i=1

si[sin(φi)sin(θi)], (4.35)

Z = 1I

I∑i=1

si[cos(θi)], (4.36)

donde W, X, Y y Z son las señales del sistema Ambisonics de primer orden; φi y θi son losángulos azimutal y elevación para la orientación de cada señal monofónica si [2].

Para el caso de micrófonos de campo, la señal capturada se encuentra inicialmente en A-format.Posteriormente, esta señal es codificada en formato UHJ o B-format (equivalente al UHJ decuatro canales). Esta codificación se realiza a partir de las siguientes ecuaciones [9]:

W ′ = LFU + RFD + RBU + LBD, (4.37)

X ′ = LFU + RFD − RBU − LBD, (4.38)

Page 39: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 39

Y ′ = LFU − RFD − RBU + LBD, (4.39)

Z ′ = LFU − RFD + RBU − LBD, (4.40)

en las cuales LFU, RFD, RBU y LBD son las señales capturadas por los micrófonosfrontal-superior-izquierdo, frontal-inferior-derecho, trasero-superior-derecho y trasero-inferior-izquierdo respectivamente. A partir de las señales obtenidas en las ecuaciones (4.37), (4.38),(4.39) y (4.40) se realiza un filtrado para evitar problemas en alta frecuencia, donde no esposible considerar las cápsulas como coincidentes. A. Farina sugiere utilizar mediciones derespuesta al impulso y aplicar el filtro inverso de Kirkeby para la ecualización tanto de losmicrófonos como de la matriz de codificación [9].

De esta manera se obtienen los patrones direccionales correspondientes a la codificaciónB-format de primer orden, ilustrados en la Figura 4.

Fig. 4 . Patrones direccionales correspondientes a los armónicos esféricos de orden 0 (W) y 1 (X, Y, Z)

Page 40: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.2 Teoría de armónicos esféricos y sistema Ambisonics 40

4.2.5. Medición de respuestas al impulso B-format

Dos de los métodos de captura más comunes para la grabación de campo sonoro con objetivoal sistema Ambisonics son:

• B-format nativo: : También llamado arreglo Nimbus-Halliday. Consta de unarreglo de 3 a 4 micrófonos. Uno de ellos omnidireccional y los demás con patrónde direccionalidad tipo figura-de-ocho. El arreglo con 3 micrófonos (ilustrado en laFigura 5) permite una localización de fuentes en el plano azimutal, obteniendo señalescorrespondientes a W, X y Y. Por otro lado, el arreglo con cuatro micrófonos permitela codificación y decodificación necesaria para la reproducción de campos sonoros en 3dimensiones [49].

Fig. 5 . Arreglo Nimbus-Halliday.Tomado de [49]

El principal problema de este arreglo es la separación de las cápsulas de los micrófonos,la cual puede llegar a derivar en problemas de localización de fuentes. Otro problemacomún en este arreglo es la diferencia en la respuesta para campo libre y para campodifuso, afectando directamente en el sonido reverberante [49].

• Micrófono de campo tetraédrico: Arreglo de cuatro micrófonos sub-cardioides endistribución tetraédrica. Este arreglo se caracteriza por tener cápsulas más cercanas,lo que permite considerarlas como coincidentes hasta un rango de frecuencia superior,determinado por la separación real del eje de las cápsulas [49]. El micrófono de campotetraédrico se expone en la Figura 6.

Page 41: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.3 Síntesis de micrófonos virtuales 41

Fig. 6 . Micrófono de campo Soundfield ST250.Tomado de [9]

4.3. Síntesis de micrófonos virtuales

A continuación se explica el concepto de Directividad desde el enfoque de la electroacústicay los transductores acústico-mecánico-eléctricos. Se expone también la base teórica para lasíntesis de micrófonos virtuales a partir de la codificación B-format.

4.3.1. Directividad

La directividad es una característica intrínseca de los transductores, la cual, para el casode los micrófonos, describe la transferencia de la energía acústica proveniente de diferentesdirecciones [50].

La característica directiva de un transductor suele expresarse en forma de gráfico polar paraun rango de frecuencias limitado, por lo que una descripción detallada de esta característicasupone diversas gráficas para diferentes rangos de operación en frecuencia [50].

El comportamiento directivo de los transductores puede clasificarse de manera general enelementos omnidireccionales y elementos direccionales. Los primeros se caracterizan por tenerun comportamiento similar en la transducción en cualquier ángulo de incidencia. De maneracontraria, los elementos direccionales se caracterizan por tener una sensibilidad dependientedel ángulo de proveniencia de la energía acústica [50].

Page 42: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.3 Síntesis de micrófonos virtuales 42

Otra forma usual de representar la directividad es por medio de dos valores conocidos comofactor e índice de directividad. El factor de directividad en un micrófono se define como larelación entre el cuadrado del voltaje generado por la onda en una dirección de incidencia (θ0)y el cuadrado del voltaje generado por la misma presión cuadrática media en campo difuso,lo cual se expresa matemáticamente como [50]:

q(θ0, φ0) = v(θ0)2

12∫ π

0 v(θ)2 sin(θ)dθ, (4.41)

en la cual q(θ0, φ0) es el factor de directividad, y v(θ0) es el voltaje generado en las terminalesde un micrófono ante una onda con dirección de incidencia (θ0).

El índice de directividad (DI) es la expresión del factor de directividad en escala logarítmica(dB). Esta expresión se define como [50]:

DI = 10 log(q). (4.42)

En la teoría electroacústica, el diseño de micrófonos con patrones polares directivos puedeestudiarse y generarse a partir de una relación conocida entre una componente omnidireccionalA, cuya respuesta es análoga a la presión acústica en un punto, y una componente bidireccionalB, con respuesta análoga a la velocidad de partícula en un punto del espacio. Bajo estaaproximación, se consideran las siguientes relaciones para diferentes patrones polares (tabla I)[50, 21, 51].

Tabla I . Relaciones de componentes para distintos patrones polares

Patrón polar A B

Omnidireccional 1 0Subcardioide 0.75 0.25

Cardioide 0.5 0.5Hipercardioide 0.25 0.75Bidireccional 0 1

4.3.2. Método de síntesis a partir de señales B-format

La reproducción de las señales B-format en un arreglo de altavoces espaciados de maneraregular se realiza asignando a cada altavoz una señal equivalente a un micrófono virtualorientado en dirección del vector del centro del arreglo hacia el altavoz. El micrófono virtualse sintetiza a partir de una combinación conocida entre la señal W y las señales X, Y y

Page 43: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.3 Síntesis de micrófonos virtuales 43

Z (utilizando el factor de directividad), asignando para cada señal el valor de amplitudcorrespondiente a su respectivo armónico esférico en el ángulo de síntesis [21].

A partir de las ecuaciones (4.43), (4.44), (4.45), (4.46) y (4.47) se logra la síntesis de unmicrófono virtual con patrón polar de primer orden,

Gw =√

2, (4.43)

Gx = cos(φ) cos(θ), (4.44)

Gy = sin(φ) cos(θ), (4.45)

Gz = sin(θ), (4.46)

A = 0.5[(2 − d)GwW + d(GxX + GyY + GzZ)], (4.47)

donde Gw, Gx, Gy y Gz corresponden a las constantes de amplitud de los armónicos esféricosen el ángulo φ sobre el plano azimutal y el ángulo de elevación θ. Los términos W,X,Y,Zcorresponden a las señales codificadas en B-format. Se considera también el factor de direc-tividad del micrófono virtual d, cuyos valores teóricos para esta aproximación se encuentranconsignados en la tabla II [51]. Por último, A corresponde a la señal derivada de las 4 señalesAmbisonics, la cual constituye la señal resultante del micrófono virtual orientado bajo losángulos θ y φ [21].

Tabla II . Factores de directividad teórico para síntesis de micrófonos virtuales

Patrón polar Factor de directividad (d)

Omnidireccional 0Subcardioide 0.5

Cardioide 1Hipercardioide 1.5Bidireccional 2

Page 44: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.4 Conceptos básicos para diseño y ensayo de software 44

4.4. Conceptos básicos para diseño y ensayo de software

En esta sección se ofrece una revisión muy general de conceptos de diseño y prueba de software,algunos de los cuales fueron utilizados para el desarrollo del objetivo del presente proyecto.

4.4.1. Diseño de software

Uno de los aspectos básicos de la ingeniería de software es el diseño a partir de los requerimien-tos de funcionamiento del software a desarrollar, las especificaciones de hardware y software,entre otras consideraciones como la interacción entre clases y la definición de los métodospara las mismas. Este diseño se realiza en dos grados de especificación distintos, conocidoscomo diseño de alto nivel y diseño de bajo nivel [52].

• Diseño de alto nivel: Es considerado como el primer elemento en el desarrollo desoftware. Este tipo de diseño trata (entre otras cosas) los elementos de mayor escala dela aplicación y como será la interacción entre ellos y el software, es decir, es un diseño agrandes razgos o bosquejo preliminar del comportamiento del software. En el diseño dealto nivel se especifican aspectos como [52]:

– Hardware. Se refiere al tipo de equipos al que va destinado la aplicación y si esnecesario o no el uso de hardware adicional.

– Interfaz de usuario. Considera los requerimientos para definir un esquema inicialde lo que será la interfaz de interacción con el usuario. Puede incluir informaciónacerca de los métodos más generales que se planean usar para el uso del software.

– Salidas. Se refiere al tipo de datos que genera la aplicación, entre los cuales puedenestar archivos de imágenes o audio.

– Flujo de datos. Define el algoritmo principal que determina el orden de operacionesque se realizan a partir de los datos.

• Diseño de bajo nivel: Es un diseño enfocado en un aspecto más técnico de laprogramación, donde se especifica el funcionamiento interno e interacción a un nivelmás específico de los componentes. Algunos aspectos definidos durante el diseño debajo nivel incluyen [52]:

– Diseño orientado a objetos. Se refiere a todo el manejo e interacción de las clasesmás específicas, métodos, atributos y eventos.

Page 45: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.4 Conceptos básicos para diseño y ensayo de software 45

– Identificación de clases. Hace referencia a la selección y determinación de todas lasclases que se utilizaran en el desarrollo.

– Estructuración de herencias. Se refiere a la manera en la que las clases heredanmétodos y atributos propios de otras clases con el fin de simplificar el código.

4.4.2. Pruebas de software

Los errores o fallas en ingeniería de software son comunes en el desarrollo de programas conuna complejidad no trivial, y la cantidad de errores dentro de un programa se cuantificacomunmente en fallas por mil líneas de código o kilo lines of code (KLOC). El promedio deerrores por KLOC en la industria del software es de 15 a 50 [52].

Las pruebas de software se realizan con el fin de detectar posibles fallos de funcionamiento,considerando la mayor cantidad de situaciones posibles, y verificar si la aplicación cumple conlos requerimientos de diseño [52].

Tipos de pruebas

Existe gran diversidad de pruebas dependiendo de las características que se desean verificar, laescala de integración de diferentes partes de código o el punto de vista del ensayador. Algunasde estas pruebas son las siguientes [52]:

• Prueba de sistema: Se considera una prueba exhaustiva de todo un sistema completo(entiéndase por sistema la aplicación o software que es objeto de prueba), considerandola mayor cantidad de interacciones posibles con la aplicación. Para aplicaciones degran complejidad se realizan pruebas sobre las circunstancias más comunes, dejandosin probar las demás, esto debido a la gran cantidad de combinaciones de interacciónposibles [52].

• Prueba de aceptación: Este tipo de valoración utiliza como sujeto evaluador alcliente al que va dirigido el desarrollo de la aplicación, el cual ejecuta diferentes casos deinteracción con el fin de comprobar que el funcionamiento cumple con los requerimientosde diseño [52].

Page 46: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

4.4 Conceptos básicos para diseño y ensayo de software 46

Técnicas de prueba

Existen diversas técnicas para el diseño y ejecución de pruebas de software con objetivoa encontrar fallas de diversos tipos. A continuación se enuncian algunas técnicas para laevaluación de software [52]:

• Prueba exhaustiva: Esta técnica consiste en realizar evaluaciones bajo todas lascircunstancias posibles con el fin de verificar el correcto funcionamiento del software. Seconvierte en una técnica muy extensa cuando se evalúa un programa con gran diversidadde valores de entrada y posibles interacciones. En estos casos es preferible seguir otratécnica de prueba [52].

• Prueba de caja negra: Toma como premisa no conocer el funcionamiento interno deun método, sino tener conocimiento de lo que se supone que haga. Se utiliza entoncesun gran número de entradas aleatorias que permitan verificar el comportamiento delmismo, incluyendo casos especiales de entrada [52].

• Prueba de caja blanca: Se conoce el funcionamiento del método a evaluar, por loque se diseña una prueba evaluando valores bajo los que se considera que el métodotendrá un comportamiento errático [52].

Page 47: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5. Desarrollo

5.1. Comprobación de la teoría de codificiación B-format a partir de respuestasal impulso sintetizadas

Previo al desarrollo del algorítmo de síntesis de micrófonos virtuales se realizaron pruebaspara la verificación de la teoría de codificación B-format a partir de respuestas al impulsogeneradas por simulación con el software Catt-Acoustic™ v9.1 y su correspondiente extensiónCatt-TUCT™.

En todas las figuras de los recintos simulados con Catt-Acoustic™ , las convenciones X+ yX- hacen referencia a la parte frontal y posterior del figura-de-8 en el eje X, y de maneracorrespondiente se usa Y+ y Y- para el figura-de-8 en el eje Y. La parte frontal del figura-de-8en el eje Z está dirigido hacia arriba en todos los casos simulados.

5.1.1. Evaluación de respuestas al impulso obtenidas con diferentes algoritmosde Catt-TUCT™

Inicialmente se simuló un recinto anecóico, cuyas superficies fueron modeladas con coeficientesde absorción y scattering de 1.0 y 0.1 respectivamente. La figura 7 muestra la distribución defuente y receptor, al igual que la geometría y dimensiones de la locación simulada. La alturadel recinto simulado es de 20 m, y la altura de fuente y receptor es de 10 m respecto al suelodel recinto.

Page 48: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.1 Comprobación de la teoría de codificiación B-format a partir de respuestas al impulsosintetizadas 48

Fig. 7 . Distribución empleada para la comparación de algoritmos de Catt-TUCT™

Se realizaron pruebas con el objetivo de comparar los resultados de respuestas al impulsoobtenidas por medio de dos algoritmos distintos integrados en el software Catt-TUCT™.Se generaron respuestas al impulso en codificación B-format por medio del algoritmo 1(recomendado para predicción básica empleando trazado de rayos estocástico) usando elcaso especial de trazado de rayos recomendado solo para sonido directo, esto teniendo encuenta la naturaleza del recinto tratado. Este resultado se comparó utilizando respuestas alimpulso generadas por medio del algoritmo 3 (algoritmo de predicción de mayor complejidad)empleando tanto el caso especial de trazado de rayos para sonido directo como un casocon 50.000 rayos. Se compararon las respuestas al impulso obtenidas, las cuales pueden serconsultadas en la figura 8.

Page 49: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.1 Comprobación de la teoría de codificiación B-format a partir de respuestas al impulsosintetizadas 49

Fig. 8 . Resultados de la comparación de algoritmos de Catt-TUCT™

De esta manera se verifica que, para las condiciones acústicas simuladas y la distribuciónemisor receptor, se obtienen respuestas iguales en amplitud y fase empleando los dos algoritmosevaluados (algoritmos 1 y 3).

5.1.2. Verificación de amplitud y fase de señales en acuerdo con la teoría decodificación B-format

Se realizaron pruebas para corroborar la amplitud de las señales en codificación B-format enacuerdo con la teoría de codificación [2].

Se evaluaron inicialmente las señales de respuesta al impulso obtenidas en un recinto anecoicocon un receptor orientado hacia la fuente. En la figura 9 puede apreciarse un esquema de ladistribución espacial de receptor y fuente y las dimensiones del espacio simulado.

Page 50: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.1 Comprobación de la teoría de codificiación B-format a partir de respuestas al impulsosintetizadas 50

Fig. 9 . Distribución empleada para la comparación de magnitud de señales B-format con la teoría decodificación.

Se utilizó el algoritmo de predicción 3 de Catt-Acoustic™v9.1 y el caso especial 1 (consideraciónsolo del sonido directo). Los resultados se consignan en la figura 10.

Fig. 10 . Amplitud de respuesta al impulso en codificación B-format

De la anterior figura se puede observar que, como era de esperar, tanto la respuesta al impulsoY como Z registran una amplitud nula en el tiempo; esto debido a que el figura-de-8 en el ejeX fue orientado (su parte frontal) hacia la fuente, y posicionado a la misma altura de esta.

Page 51: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.1 Comprobación de la teoría de codificiación B-format a partir de respuestas al impulsosintetizadas 51

Se nota una proporcionalidad en la amplitud de las respuestas al impulso W y X, sin embargosu diferencia en amplitud se atribuye a -3 dB de ganancia con los que se normaliza la señal Wen el proceso de codificación. Puede evidenciarse en la figura 11 que, cuando se compensanlos -3 dB de ganancia en la señal W [2], los valores de amplitud de estas dos respuestas alimpulso se tornan iguales.

Fig. 11 . Amplitud de las respuestas al impulso con compensación de W contra X

Con el fin de evaluar la equivalencia en la sensibilidad y las consideraciones de fase entreambos lóbulos de captación de las señales X y Y, se realizaron pruebas con la distribuciónilustrada en la figura 7, orientando el receptor a 45° y 315° en el plano horizontal (azimut), y0° de elevación (paralelo al plano horizontal).

Los resultados obtenidos con 45° de orientación concuerdan con la teoría de codificación [2],obteniendo respuestas al impulso equivalentes tanto en amplitud como en fase. De igualmanera, la revisión del resultado obtenido con angulación de 315° concuerda con la teoríade codificación [2], exhibiendo igualdad en amplitud y una diferencia en la polaridad dela respuesta al impulso entre las señales X y Y. Esta diferencia de fase se debe a que, porel cambio de angulación, cambia el lóbulo de captación del figura-de-8 sobre el eje Y, loque invierte la fase de la señal. Los resultados de los ejercicios mencionados (45° y 315° deorientación) se ilustran en la figura 12.

Page 52: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 52

Fig. 12 . Comparación de fase en respuestas al impulso X y Y a 45° y 315°.

5.2. Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulsode un micrófono virtual.

Una vez verificada experimentalmente la teoría de codificación, se procedió al desarrollo delalgoritmo para la síntesis de respuestas al impulso de un micrófono virtual (consignado en elanexo A) en el entorno de desarrollo Octave 4.0, tomando como base las ecuaciones expuestasen el marco teórico (ecuaciones (4.43), (4.44), (4.45), (4.46), (4.47)).

Posteriormente se realizó una prueba del comportamiento espacial empleando una respuestaal impulso anecoica derivada de Catt-Acoustic™, utilizando para tal prueba, la distribucióndetallada en la figura 9. Fue necesario realizar una modificación del algoritmo, con el fin desintetizar múltipes micrófonos virtuales distribuidos de manera homogénea en dos dimensiones.Se extrajo la amplitud efectiva de cada uno de estos micrófonos virtuales y se graficaron losresultados.

Para obtener las gráficas de los distintos patrones polares sintetizados se ensayó con la ecuaciónde energía para una señal, la cual es:

E =∞∑

n=−∞|x(n)|2, (5.1)

sin embargo, el carácter potencial de la energía dió como resultado gráficas de patrones polaresde segundo orden, por lo que fue necesario extraer su raíz cuadrada con el fin de visualizar elcomportamiento de los patrones polares de primer orden.

Page 53: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 53

E =√√√√ ∞∑

n=−∞|x(n)|2. (5.2)

A partir del algoritmo de síntesis de micrófonos virtuales modificado, se desarrolló unacomparación en dos dimensiones entre los patrones polares obtenidos experimentalmente ylos patrones polares teóricos [21, 38]. Las gráficas obtenidas experimentalmente, junto consus correspondientes funciones teóricas se encuentran en la figura 13.

Fig. 13 . Comparación entre patrones polares teóricos y experimentales en 2D

Como puede observarse en la figura 13, todos los patrones polares experimentales obtenidos apartir del algorítmo de síntesis concuerdan adecuadamente con los correspondientes patronesteóricos, lo que permite validar la fidelidad del algorítmo desarrollado para los patronespolares tratados en dos dimensiones.

Una vez evaluado el algoritmo en dos dimensiones, se procede a realizar el mismo procedimientopara evaluar la distribución de amplitud equivalente en tres dimensiones. Para este objetivofue necesario nuevamente realizar una modificación del algoritmo para iterar la síntesis derespuestas al impulso variando el ángulo de elevación. Los resultados del comportamientoespacial en tres dimensiones con respuestas al impulso sintetizadas se consignan en la figura14,donde se muestra una visualización en perspectiva y una superior para cada patrón polar fijo.

Page 54: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 54

Fig. 14 . Evaluación del comportamiento espacial de los resultados del algoritmo de síntesis

Page 55: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 55

5.2.1. Evaluación de la amplitud equivalente para un micrófono de campo bajocondiciones semianecoicas.

Diferentes ambientes semianecoicos fueron simulados en Catt-Acoustic™ con el fin de evaluarel comportamiento espacial de la amplitud equivalente de la señal captada por un micrófonode campo situado en un punto del campo acústico. En la figura 15 se ilustra el esquemaempleado para realizar tal evaluación, en una vista de planta. La superficie marcada connegro fue modelada con distintos coeficientes de reflexión y scattering.

Fig. 15 . Distribución empleada para la evaluación de la amplitud equivalente de la señalcaptada por un micrófono de campo.

Se realizaron pruebas con diferentes combinaciones de coeficientes de reflexión y scattering,tomando valores de 0.2 y 1, donde para cada par de coeficientes se evaluaron los 5 patronespolares fijos de primer orden evaluados.

Los resultados para la superficie con coeficiente de reflexión y scattering de 0.2 se presentanen la figura 16

Page 56: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 56

Fig. 16 . Distribución de energía con coeficiente de reflexión de 0.2 y scattering de 0.2

Para este modelo de la superficie no se evidencian cambios en la dirección de mayor amplitudilustrada con una línea azul. En cuanto a la deformación del patrón polar solo se evidenciancambios mínimos en los puntos de menor sensibilidad para los patrones hipercardioide ybidireccional, en comparación con los patrones en ambiente anecóico expuestos en la figura 14.

En la figura 17 se presentan los patrones polares obtenidos utilizando una superficie concoeficiente de reflexión de 1 y coeficiente de scattering de 0.2.

Page 57: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 57

Fig. 17 . Distribución de energía con coeficiente de reflexión de 1 y scattering de 0.2

De los resultados de la figura 17 no se notan cambios en la dirección de mayor amplituddel patrón polar. Sin embargo, continuando con la tendencia de la figura 16 se observa unavariación notable en las zonas de mayor atenuación teórica para los patrones polares cardioide,hipercardioide y bidireccional, tendiendo a ser más marcada hacia el lado de la superficiereflejante. Esto puede explicarse a razón de que, al ser una superficie totalmente reflejante,esta cambia el componente Y de la velocidad de partícula, variando la respuesta del figura-de-8en dicho eje, y afectando finalmente la interacción entre las señales X y Y en la síntesis delmicrófono virtual.

Los resultados obtenidos para la superficie con un coeficiente de reflexión de 0.2 y un coeficientede scattering de 1 se ilustran en la figura 18.

Page 58: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 58

Fig. 18 . Distribución de energía con coeficiente de reflexión de 0.2 y scattering de 1

En la figura18 se comienzan a observar cambios de dirección sobre el punto de mayor amplitud(línea de color azul). Estos cambios de dirección son proporcionales al componente direccionalde cada patrón polar (i.e. cambio nulo para el patrón omnidireccional y cambio máximo enel patrón bidireccional). Se notan también deformaciones más pronunciadas de los patrónescardioide, hipercardioide y bidireccional, producto de la dispersión de la energía reflejada.Este resultado produce un efecto de "rotación virtual" del micrófono sintetizado, siendo muyclaro en el patrón bidireccional.

Finalmente, en la figura 19 se presentan los resultados obtenidos con la superficie modeladacon coeficiente de reflexión y scattering de 1.

Page 59: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 59

Fig. 19 . Distribución de energía con coeficiente de reflexión de 1 y scattering de 1

Los resultados en cuanto a la dirección de mayor amplitud son similares a los del caso anterior,donde el cambio en la dirección es más significativo cuanto mayor sea el componente direccionaldel micrófono. En este caso se observa la mayor perturbación (en comparación con los casosanteriores) de los puntos teóricos de mayor atenuación, y se produce al igual que en el casoanterior, un efecto de "rotación virtual" del micrófono sintetizado.

De los resultados expuestos en esta sección es posible inferir que el coeficiente de reflexióntiene un efecto perceptible en los puntos teóricos de menor amplitud, siendo este efectoproporcional al mismo coeficiente (r). Sin embargo este no tiene mayor relevancia en cuantoa la dirección del punto de mayor amplitud, y no produce una deformación tan acentuadacomo para generar el efecto referido como "rotación virtual".

Por otro lado, el coeficiente de scattering resultó tener gran influencia tanto en la dirección demayor amplitud como en la deformación del patrón polar. En el caso de tener un coeficientede scattering bajo, la reflexión tiende a ser más especular, por lo que la energía reflejada soloafectaría teóricamente una dirección del patrón polar. Sin embargo, como se observa en lasfiguras16 y17 el aporte de esta reflexión especular en la dirección de la reflexión no es relevanteen los gráficos de amplitud equivalente. Sumado a esto, bajos coeficientes de scatteringmostraron pequeñas deformaciones al patrón polar y ningún cambio en la orientación de ladirección con mayor amplitud.

Por el contrario, para coeficientes de scattering de 1 se presentaron las mayores deformacionesde los patrones polares, siento más marcadas cuanto mayor era el componente direccional.

Page 60: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 60

En adición, solo en condiciones de scattering igual a 1 se presentaron cambios en la direcciónde mayor amplitud.

5.2.2. Evaluación del TD y LD en ambiente anecóico.

Si bien el objetivo del proyecto no es obtener ni generar un procesamiento de reverberaciónestéreo, se realizó una prueba evaluando una característica para un posible trabajo futurocon miras a mejorar y ampliar las capacidades del plug-in. Para la evaluación de la fidelidaddel método de síntesis para procesamiento en estéreo se realizó un análisis de diferencia detiempo (TD) y diferencia de nivel (LD).

Con el fin de corroborar el TD teórico a partir de respuestas al impulso simuladas, se generóun ambiente anecóico con la distribución espacial ilustrada en la figura 20. Se simularon dosreceptores y se generaron las respuestas al impulso capturadas en codificación B-format. Seevaluó el TD teórico a partir de las distancias fuente-receptor y la ecuación (5.3) [53].

c = 331.4 + (0.607 + T ). (5.3)

Donde c es la velocidad del sonido calculada a partir de una temperatura T dada en gradoscentígrados.

Fig. 20 . Distribución del esquema empleado para evaluación del TD y comparación con el valor teórico.

Page 61: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.2 Desarrollo y evaluación del algoritmo para síntesis de respuestas al impulso de unmicrófono virtual. 61

Se compararon los tiempos teóricos con los tiempos de las respuestas al impulso simuladas,dando como resultado tanto para el tiempo fuente-receptor 1 como para el tiempo fuente-receptor 2, una diferencia de 3 muestras a una frecuencia de muestreo de 48 kHz, lo quees equivalente a una diferencia en tiempo de 6.25 × 10−5 segundos entre tiempos teóricos yexperimentales. En la figura 21 se consigna la muestra visual de estos resultados.

Fig. 21 . Respuestas al impulso y tiempos teóricos fuente-receptor para ambos receptores.

Para la diferencia de nivel, se sintetizaron dos micrófonos virtuales cardioides a partir de lasrespuestas al impulso generada a partir del esquema 20.

En la ubicación del receptor 1 se generó un micrófono cardioide con 0° de orientación enazimut y elevación, por lo que se obtiene un micrófono en dirección a la fuente. Por otrolado, en la ubicación del receptor 2 se generó un micrófono cardioide con orientación de 45°en azimut y 0° de elevación, por lo que se obtiene otro cardioide con orientación paralela alprimero.

Para el primer micrófono ubicado a una distancia de 10m del receptor, se produce un nivelde escala absoluta de −3.84 × 10−4 dBFS. El segundo micrófono sintetizado (ubicado a unadistancia de 14.142m de la fuente) registra un nivel de escala absoluta de −5.65 dBFS, por loque la diferencia entre ellos es de 5.65 dB.

El nivel de diferencia entre micrófonos virtuales puede ser explicado a partir de la consideraciónde atenuación por distancia, atenuación por respuesta polar del micrófono y atenuación porefecto del aire. De acuerdo a la ley cuadrática inversa [28],la atenuación por distancia debidaa los 4.142 m de diferencia de distancias entre fuentes ocasiona una diferencia de 3.01 dBrelativos (ecuación (5.4).

Page 62: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.3 Desarrollo del algoritmo de convolución en tiempo real 62

20 log10

(14.14210

)= 3.01 dB. (5.4)

Por otro lado, debido a que para el segundo micrófono, el ángulo de incidencia del sonido directoproveniente de la fuente es 45° con respecto al eje del cardioide, la atenuación ocasionada porefecto de la directividad es de 1.37 dB (ecuación (5.5)).

20 log10

(0.5(1 + cos(45))

1

)= −1.37 dB. (5.5)

La diferencia restante de 1.26 dB se atribuye a la atenuación del aire debido a la transferenciade calor en el proceso de transmisión. A partir de un cálculo teórico para la atenuación en16kHz [54], se obtiene un valor de atenuación de 1.58 dB, siendo este valor teórico cercano alcorrespondiente valor experimental.

De esta manera se verifica la fidelidad del método para el procesamiento de señales estéreoempleando respuestas al impulso B-format capturadas a partir de técnicas par espaciadas.

5.3. Desarrollo del algoritmo de convolución en tiempo real

Se utilizó el entorno de desarrollo Octave 4.0 para desarrollar el algorítmo de convoluciónen tiempo real. El algorítmo seleccionado fue el de convolución particionada uniforme. Seempleó este algoritmo debido a que en la bibliografía utilizada se le destaca por su eficienciacuando se emplean respuestas al impulso con un número de muestras mayor al del buffer size.Además, la complejidad algorítmica de este método es menor a la que implica implementarun algorítmo de convolución con particiones no uniformes.

Para la comprobación de este algorítmo se hicieron pruebas utilizando cuatro respuestasdiferentes. Dos de ellas grabadas a una frecuencia de muestreo de 44.100 Hz (respuestas alimpulso de 101.559 y 189.944 muestras) y otras dos a una frecuencia de muestreo de 48.000 Hz(respuestas al impulso de 1.088.128 y 957.056 muestras). Se convolucionaron estas respuestas alimpulso con un audio de 233.873 muestras utilizando el algorítmo de convolución particionadauniforme y el método de convolución espectral (detallada en la sección convolución del marcoteórico). Se comprobó que la correlación entre las señales convolucionadas por los dos métodosfuera máxima para cada caso. Todas las señales de audio utilizadas para esta prueba fueronobtenidas de la librería Openair [55].

Page 63: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.4 Desarrollo del plug-in 63

El código del algoritmo de convolución particionada uniforme desarrollado, junto con suprueba correspondiente se consigna en el anexo B.

5.4. Desarrollo del plug-in

El plug-in fue desarrollado bajo el lenguaje de programación C++ en el IDE Xcode, utilizandoel framework JUCE y la librería "fftw". El código del desarrollo final del plug-in se encuentraen los archivos digitales anexos al trabajo.

Aunque desde los alcances de este proyecto no se intenta profundizar en el campo de laingeniería de software, se presenta un esquema básico del diseño de alto nivel del plug-in,para lo que se tuvieron en cuenta los siguientes requerimientos de diseño, propuestos por elproyecto de investigación al cual se articula el presente proyecto:

• Debe ser un software tipo plug-in con formato .VST y .AU

• Posibilidad de seleccionar entre 5 diferentes patrones polares de primer orden para lasíntesis del micrófono virtual: Omnidireccional, Subcardioide, Cardioide, Hipercardioide,Bidireccional.

• Posibilidad de rotar el micrófono virtual en tres dimensiones, a partir de un ángulo enazimut y otro de elevación.

• Posibilidad para cargar respuestas al impulso en codificación B-format, en formato .wavde 4 canales.

• Procesamiento en tiempo real para la síntesis de micrófonos virtuales y convolución conuna señal monofónica

5.4.1. Diseño de alto nivel

• Hardware: La aplicación está destinada para ser usada como plug-in dentro de unDAW que se ejecuta en un computador con sistema operativo MAC OS. No se diseñapara ningún tipo de dispositivo móvil como celular o tablet.

• Interfaz de usuario: Solo se toman en consideración los requerimientos de diseño dela aplicación, por lo que solo se consideran los controles de parámetros básicos. No seprofundizó de ninguna manera en temas de interacción hombre-máquina.

Page 64: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.4 Desarrollo del plug-in 64

• Salidas: La aplicación debe generar una señal de audio monofónica como resultado desu procesamiento. Esta señal debe ser transmitida en tiempo real al DAW, utilizandoun buffersize relativo al tamaño de la respuesta al impulso y las características delcomputador.

• Flujo de datos: En la figura 22 se presenta un esquema del flujo de señal básico delplug-in.

Fig. 22 . Diseño de alto nivel del flujo de señal del plug-in

5.4.2. Interfaz gráfica de usuario

En la figura 23 se muestra la distribución de los controles del plug-in dentro de la interfazgráfica de usuario.

Fig. 23 . Interfaz gráfica de usuario del plug-in

Page 65: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.5 Pruebas del plug-in 65

El botón "IR" despliega una ventana para la ubicación y carga de la respuesta al impulso.wav de 4 canales. Justo a su lado derecho se encuentran los botones para la selección delpatrón polar de primer orden para la síntesis del micrófono virtual. Se presentan en colorverde los knobs para seleccionar el ángulo en azimut y elevación (marcados como Horizontal yElevation respectivamente). Finalmente, en el extremo derecho de la interfaz se encuentra unslider para el control del nivel de salida del plug-in.

5.5. Pruebas del plug-in

Con el fin de validar el correcto procesamiento del plug-in y la aceptación de los distintosrequerimientos de diseño, se realizaron varias pruebas de software y pruebas objetivas, lascuales se exponen a continuación. De igual manera se realizó una validación del correctoestado de consolidación del plug-in a partir de la herramienta AU Validation Tool v.1.6.1a1.

5.5.1. Prueba de sistema

Se ejecutó una prueba de sistema variando los parámetros de la interfaz gráfica con el finde verificar la estabilidad del plug-in, para lo cual se utilizó una respuesta al impulso de 4segundos. Se hicieron variaciones con pasos de 20 grados tanto en azimut como en elevación.Estas pruebas se realizaron para los 5 patrones polares tratados en este estudio. En ningúnmomento se evidenció bloqueos o colapsos del plug-in durante la realización de esta prueba.

Otra prueba de sistema se realizó utilizando 18 instancias simultáneas con una respuestaal impulso de 4 segundos. Cada instancia se configuró con un ángulo diferente en azimut,utilizando pasos de 20 grados. El ángulo de elevación fijo fue de 0 grados para todas lasinstancias. Esta prueba se realizó con todos los patrones polares de primer orden. Elfuncionamiento de las 18 instancias ejecutadas en paralelo fue satisfactorio, sin bloqueos ocolapsos evidentes.

5.5.2. Prueba de aceptación de usuario

A continuación se presenta una prueba de aceptación de software diseñada siguiendo lasrecomendaciones del estándar de la National Bureau Standards (NBS) Special Publication500-136 [56]. El objetivo del desarrollo de esta prueba es la evaluación del cumplimiento delos requerimientos de diseño del software desarrollado en papel de Auxiliar de Investigación

Page 66: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.5 Pruebas del plug-in 66

inscrito al proyecto “Medición, procesamiento y análisis de respuestas al impulso en salas deconcierto desde un enfoque de la producción de audio”.

• Desarrollo de la prueba:

– Resumen: Se realizará una prueba manual del funcionamiento del software enactividad con el DAW Reaper. Esta prueba busca reconocer la aceptación delsoftware por parte de los integrantes del proyecto de investigación al cual se articulaeste estudio. Para tal objetivo se realizan una serie de preguntas concretas acercade la validación del cumplimiento de los requerimientos de funcionamiento porparte de los encuestados.

– Organización y recursos: La prueba se realizará en horario acordado con cadapersona evaluada. Se requiere de un computador con el DAW Reaper previamenteinstalado, el cual puede ser suministrado por el evaluador o la persona evaluadasegún se acuerde. Procurar tener una conexión de energía disponible en caso derealizar la prueba en un computador portátil. No se fija tiempo límite para larealización de la prueba.

– Restricciones: No se realizarán pruebas de estrés, seguridad, pruebas negativaso de recuperación.

– Procedimiento: Una vez realizado el plan de prueba de aceptación debe revisarseen conjunto con el asesor del trabajo de grado involucrado.Antes de ejecutar la prueba se realizará un ensayo de la misma en el entornoen el que fue desarrollado el software (En acuerdo con la norma IEEE729, talcomo lo establece la NBS Special Publication 500-136 ). Una vez verificado elfuncionamiento y la posibilidad de ejecutar la evaluación, se podrá proceder.La prueba será realizada en horario acordado con el encuestado y de igual manera seacordará quién suministre el computador de prueba. Se suministrarán los archivospara la instalación en caso de realizar la prueba en un computador suministradopor el encuestado. Una vez se verifique que el software puede ser ejecutado seprocederá a dar una introducción de la prueba y se comenzará con la realizaciónde la misma.

• Información general de la prueba:

– Objetivos: El objetivo del desarrollo de esta prueba es verificar la aceptación delcumplimiento los requerimientos de diseño del software desarrollado en papel deAuxiliar de Investigación inscrito al proyecto “Medición, procesamiento y análisis

Page 67: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.5 Pruebas del plug-in 67

de respuestas al impulso en salas de concierto desde un enfoque de la producciónde audio”.

– Criterios de aceptación: El software debe cumplir con los requerimientos dediseño solicitados desde el proyecto de investigación, los cuales se exponen al iniciode la sección Desarrollo del plug-in.

– Técnica de la prueba: Se realizará una prueba de ejecución de software yoperación manual, sin tiempo fijo para su ejecución. Se suministrará al encuestadocon el software por algún medio acordado.La prueba es de tipo “Caja cerrada” debido a que los encuestados no conocen a pro-fundidad el funcionamiento interno del software, sin embargo tienen conocimientodel resultado esperado de su funcionamiento.

• Ejecución de pruebas:

– Diseño de la encuesta: La prueba diseñada bajo las recomendaciones de la NBSSpecial Publication se encuentra consignada en el anexo C.

– Condiciones de inicio: El programa debe estar instalado correctamente enel computador utilizado para la prueba. Se debe haber informado acerca delprocedimiento, objetivos y posibles riesgos que implica la prueba. El encuestadodebe aceptar las condiciones y diligenciar el consentimiento informado.

– Condiciones de finalización: La ejecución de la prueba finaliza cuando el usuarioresponda a la totalidad de las preguntas. En caso de presentarse algún riesgo quepueda afectar al encuestado se debe suspender la realización de la prueba.

– Población utilizada para la prueba: La prueba fue realizada por los tresintegrantes principales del proyecto de investigación al que se vincula este estudio,quienes a su vez propusieron los requerimientos de diseño del plug-in.

• Resultados de la prueba de aceptación: La prueba fue realizada con el consen-timiento otorgado por los docentes que diligenciaron la misma. Los resultados obtenidosfueron positivos en su totalidad (i.e. resultados positivos para todos los docentes en lasdiferentes preguntas realizadas). Por este motivo se verifica que el software cumple conlos lineamientos de desarrollo propuestos por el proyecto de investigación.

Se obtuvo a manera de retroalimentación por parte de los tres docentes, la recomendaciónde modificar la transición entre posiciones de micrófono para evitar clicks.

Page 68: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.5 Pruebas del plug-in 68

5.5.3. Prueba de la fidelidad del procesamiento del plug-in para la síntesis demicrófonos virtuales.

Se realizó una prueba de la síntesis de micrófonos virtuales a partir del procesamiento delplug-in. Para esto se utilizó una respuesta al impulso B-format sintetizada en Catt-Acoustic™utilizando la distribución de fuente y receptor ilustrada en la figura 9. Esta respuesta alimpulso se cargó desde el plug-in, y se convolucionó con una señal delta de Dirac.

Se realizaron pruebas con todos los patrones direccionales tratados, generando para cada unoseñales procesadas con el plug-in cada 20 grados de separación en azimut, todas a 0 grados deelevación, obteniendo un total de 18 señales de audio para cada patrón direccional.

Estas señales se cargaron en el algoritmo utilizado para la validación de la síntesis de micrófonosvirtuales en dos dimensiones. En la figura 24 se muestra una comparación entre los patronespolares teóricos y los correspondientes patrones polares obtenidos a partir del procesamientodel plug-in.

Fig. 24 . Comparación de patrones polares teóricos y procesados por el plug-in

Como puede observarse de la figura 24, el procesamiento del plug-in en cuanto a síntesis demicrófonos virtuales está en acuerdo con la teoría de direccionalidad expuesta en el marcoteórico.

Page 69: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.5 Pruebas del plug-in 69

5.5.4. Prueba del delay introducido por el plug-in

Desde el desarrollo del plug-in se concibió que el funcionamiento del mismo adaptara su buffersize al correspondiente buffer del DAW. Por tanto, el plug-in no debe teóricamente generarmuestras de retraso adicionales al retraso inherente al trabajo buffer size del DAW.

Con el fin de corroborar este hecho se realizó una prueba cargando el software sobre el DAWReaper, utilizando distintos tamaños de buffer. El resultado reportado desde el plug-in delaycompensation (PDC) fue de cero muestras, tal como se evidencia en la figura 25.

Fig. 25 . Reporte del plug-in delay compensation

Este resultado fue igualmente comprobado convolucionando una señal delta de Dirac de cuatrocanales (a modo de respuesta al impulso) con un delta de Dirac de un solo canal. Como sepuede observar en la figura26, el canal "deltamono5s" es el delta de Dirac monofónico sobre elque se cargó el plug-in, y el canal "5s" es la señal de salida del procesamiento.

Fig. 26 . Prueba del plug-in delay compensation reportado

5.5.5. Pruebas de rendimiento

Se realizó una valoración del plug-in en términos de consumo de CPU y uso de memoria,utilizando el plug-in host que provee el framework JUCE. Las pruebas se realizaron sobre un

Page 70: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.5 Pruebas del plug-in 70

computador MacBook Pro modelo MD101E/A con procesador Intel Core i5 de dos núcleos auna frecuencia de 2.5GHz. La memoria RAM del computador mencionado es de 4GB conuna frecuencia de trabajo de 1600MHz.

Se realizó una primera evaluación con una sola instancia del software y diferentes tamaños derespuesta al impulso, trabajando con un host a una frecuencia de muestreo de 44.100 Hz y unbuffer size de 2016 muestras. A modo de referencia, cargar el plug-in host implica un uso de1% de CPU (sobre un máximo de 400%) y un gasto de memoria de 17.7 MB. Los resultadosse registran en la tabla III.

Tabla III . Comparación del consumo de recursos computacionales utilizando una sola instancia con diferentestamaños de IR.

Tamaño de la IR [s] Sin GUI Con GUICPU % Memoria[MB] CPU % Memoria [MB]

Sin IR 2 18 4 18.90.5 5 33.7 7 34.51 8 38.8 10 39.92 13 66.8 15 69.14 24 93.9 25 96.38 43 148.3 44 149.716 - - - -

Se efectuó una segunda evaluación cargando múltiples instancias del software ejecutandosede manera simultánea. El host se configuró a una frecuencia de muestreo de 44.100 Hz y unbuffer size de 2016 muestras. Los resultados de esta evaluación se muestran en la tabla IV.

Tabla IV . Comparación de uso de recursos computacionales utilizando múltiples instancias en ejecuciónsimultánea.

Número de instancias Sin GUI Con GUICPU % Memoria[MB] CPU % Memoria [MB]

1 24 93.9 25 96.32 41 110.5 44 112.33 60 170.4 65 1734 77 213.2 82 216.75 95 274.9 101 279.3

Por último se realizó una prueba comparando el costo computacional que implica la ejecuciónde una instancia del plug-in con diferentes tamaños de buffer size. Se configuró el host a unafrecuencia de muestreo de 44.100 Hz. En la tabla V se muestran los resultados obtenidos deesta evaluación.

Sobre esta última prueba, se hicieron ensayos del procesamiento del software en ejecucióncon el DAW Reaper utilizando diferentes tamaños de buffer. El procesamiento del softwarecon tamaños de buffer menores al necesario para el correcto funcionamiento(dependerá delas especificaciones de cada computador y del tamaño de la respuesta al impulso utilizada)

Page 71: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

5.5 Pruebas del plug-in 71

Tabla V . Comparación del costo computacional de la ejecución del software con diferentes tamaños de buffer.

Buffer size Sin GUI Con GUICPU % Memoria[MB] CPU % Memoria [MB]

32 104 102.4 106 103.364 103 104.6 104 105.3128 102 101.7 104 102.6256 101 99.8 102 100.8512 70 91.1 71 91.91024 38 90.2 41 91.12016 24 93.9 25 96.3

provoca interrupciones únicamente en el monitoreo de la señal de salida del plug-in, sinembargo, la señal procesada puede ser perfectamente grabada desde el DAW.

5.5.6. Validación del plug-in

El software desarrollado fue sometido a prueba utilizando el AU Validation Tool v.1.6.1a1,resultando en una validación exitosa del plug-in. El informe completo puede ser consultadoen el anexo D. Teniendo en cuenta la anterior validación, que el código de procesamiento delplug-in para ambos formatos es el mismo y que el proceso de compilación es igual en ambosdesarrollos, se asume que el desarrollo en formato .VST cumple también con las propiedadesde funcionamiento.

De igual manera, se asume que el procesamiento para ambos formatos es el mismo, debidoa que los dos desarrollos ejecutan el mismo fragmento de código relacionado con el audiocallback.

Page 72: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

6. Conclusiones

• De acuerdo con la revisión bibliográfica, el presente desarrollo es el primer método dereverberación por convolución que integra el uso de respuestas al impulso B-format pormedio de la síntesis de micrófonos virtuales.

• El método de síntesis de micrófonos virtuales es comúnmente utilizado para la tarea dedecodificación de señales de audio del sistema Ambisonics. El presente trabajo corroborala usabilidad del método para trabajar con respuestas al impulso en codificación B-format, permitiendo sintetizar la señal de respuesta al impulso de un micrófono virtualen tiempo real.

• El comportamiento del algoritmo de síntesis de micrófonos virtuales es coherente conla teoría de directividad para todos los casos de patrones polares de primer ordengenerados.

• El algoritmo de convolución particionada uniforme presenta resultados congruentes conla función de convolución espectral, por ende, la aproximación utilizada es un equivalentematemático a esta.

• Las pruebas a las que fue sometido el plug-in indican que el desarrollo de este cumplecon los lineamientos de diseño formulados. Al finalizar la presente investigación secuenta entonces con sistemas en formatos .VST y .AU completamente funcionalespara el procesamiento de respuestas al impulso B-format en tiempo real, que recreanmicrófonos virtuales para su aplicación en procesos de postproducción de audio. Además,el comportamiento del sistema es consistente de acuerdo a la teoría.

• Para finalizar, luego de culminar este proyecto, se reconocen las ventajas del trabajo enequipo como metodología para abordar de manera eficiente una investigación amplia entérminos de cobertura temática, que implique a su vez un desarrollo extenso. De estamanera, el trabajo en equipo permitió potenciar los alcances finales de este proyecto.

Page 73: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Referencias

[1] R. Elen, “Whatever happened to ambisonics,” AudioMedia Magazine, November, 1991.

[2] F. Hollerweger, “An introduction to higher order ambisonic.” http://flo.mur.at/writings/HOA-intro.pdf, 2005.

[3] R. Elen, “Ambisonics: The surround alternative,” in Proceedings of the 3rd AnnualSurround Conference and Technology Showcase, pp. 1–4, 2001.

[4] M. A. Gerzon, “The design of precisely coincident microphone arrays for stereo andsurround sound,” in Audio Engineering Society Convention 50, Audio Engineering Society,1975.

[5] D. A. Pickett, “A method of recording in surround sound.” http://www.fugato.com/pickett/pantophonics.shtml.

[6] D. S. Jagger, “New developments and improvements in soundfield microphone technology,”in Audio Engineering Society Convention 75, Mar 1984.

[7] A. Politis and V. Pulkki, “Broadband analysis and synthesis for directional audio codingusing a-format input signals,” in Audio Engineering Society Convention 131, Oct 2011.

[8] J. Vilkamo, T. Lokki, and V. Pulkki, “Directional audio coding: Virtual microphone-based synthesis and subjective evaluation,” J. Audio Eng. Soc, vol. 57, no. 9, pp. 709–724,2009.

[9] F. Adriaensen, “A tetrahedral microphone processor for ambisonic recording,” in Proc.of the 5th Int. Linux Audio Conference (LAC07), Berlin, Germany, pp. 64–69, 2007.

[10] S. Berge and N. Barrett, “High angular resolution planewave expansion,” in Proc. of the2nd International Symposium on Ambisonics and Spherical Acoustics May, pp. 6–7, 2010.

[11] H. Ltd, “Harpex.” http://www.harpex.net/, 2011-2016.

[12] B. Wiggins, “The blog of bruce.” http://www.brucewiggins.co.uk/, 2014.

[13] S. B. Shelley, D. T. Murphy, and A. J. Chadwick, “B-format acoustic impulse responsemeasurement and analysis in the forest at koli national park, finland,” in Proceedingsof the 16th International Conference on Digital Audio Effects (DAFx13):, pp. 351–355,York, 2013.

[14] F. Menzer, C. Faller, and H. Lissek, “Obtaining binaural room impulse responses fromb-format impulse responses using frequency-dependent coherence matching,” IEEETransactions on Audio, Speech, and Language Processing, vol. 19, no. 2, pp. 396–405,2011.

[15] M. A. Gerzon, “Recording concert hall acoustics for posterity,” J. Audio Eng. Soc, vol. 23,no. 7, pp. 569, 571, 1975.

Page 74: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Referencias 74

[16] A. Farina, “Software implementation of b-format encoding and decoding,” in AudioEngineering Society Convention 104, May 1998.

[17] J. Brereton, D. Murphy, and D. Howard, “A loudspeaker-based room acoustics simulationfor real-time musical performance,” in Audio Engineering Society Conference: UK 25thConference: Spatial Audio in Today’s 3D World, Mar 2012.

[18] F. Lopez-Lezcano, “An architecture for reverberation in high order ambisonics,” in AudioEngineering Society Convention 137, Oct 2014.

[19] M. A. Gerzon and G. J. Barton, “Ambisonic surround-sound mixing for multitrackstudios,” in Audio Engineering Society Conference: 2nd International Conference: TheArt and Technology of Recording, May 1984.

[20] D. Murphy, G. Campos, and D. Howard, “Surround-sound reverberation using digitalwaveguide mesh modelling techniques,” in Audio Engineering Society Conference: 19thInternational Conference: Surround Sound - Techniques, Technology, and Perception,Jun 2001.

[21] B. Wiggins, An investigation into the real-time manipulation and control of three-dimensional sound fields. PhD thesis, University of Derby, 2004.

[22] S. Bertet, J. Daniel, E. Parizet, and O. Warusfel, “Investigation on localisation accuracyfor first and higher order ambisonics reproduced sound sources,” Acta Acustica unitedwith Acustica, vol. 99, no. 4, pp. 642–657, 2013.

[23] M. Neukom, “Impulse response and convolution,” in Signals, Systems and Sound Synthesis,pp. 79–80, Peter Lang International Academic Publishers, 2013.

[24] F. Dunn, W. Hartmann, D. Campbell, N. Fletcher, and T. Rossing, Springer handbookof acoustics. Springer, 2015.

[25] W. T. Chu, “Impulse-response and reverberation-decay measurements made by using aperiodic pseudorandom sequence,” Applied Acoustics, vol. 29, no. 3, pp. 193–205, 1990.

[26] “ISO 3382-2:2008. Acoustics – Measurement of room acoustic parameters – Part 2:Reverberation time in ordinary rooms,” standard, International Organization for Stan-dardization, Jun 2008.

[27] D. Murillo Gomez, Interactive auralization based on hybrid simulation methods and planewave expansion. PhD thesis, University of Southampton, 2016.

[28] A. C. Isbert, Diseño acústico de espacios arquitectónicos, vol. 4. Univ. Politèc. deCatalunya, 1998.

[29] M. Vorländer, Auralization: fundamentals of acoustics, modelling, simulation, algorithmsand acoustic virtual reality. Springer Science & Business Media, 2007.

[30] B. Dalenbäck, “Catt-acoustic v8 user’s manual,” CATT, Mariagatan A, vol. 16, p. 41471,2008.

[31] M. Neukom, “Non-recursive filters / fir filters,” in Signals, Systems and Sound Synthesis,pp. 91–95, Peter Lang International Academic Publishers, 2013.

Page 75: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Referencias 75

[32] J. G. Proakis and D. G. Manolakis, Digital Signal Processing: Principles, Algotithms,and Applications. Prentice Hall, 1996.

[33] E. G. Williams, Fourier acoustics: sound radiation and nearfield acoustical holography.Academic press, 1999.

[34] R. Larson, R. P. Hostetler, and B. H. Edwards, Essential Calculus: Early TranscendentalFunctions. Cengage Learning, 2007.

[35] U. Zölzer, Digital audio signal processing. John Wiley & Sons, 2008.

[36] G. Garcia, “Optimal filter partition for efficient convolution with short input/outputdelay,” in Audio Engineering Society Convention 113, Oct 2002.

[37] C. Müller-Tomfelde, “Low-latency convolution for real-time applications,” in Audio Engi-neering Society Conference: 16th International Conference: Spatial Sound Reproduction,Mar 1999.

[38] A. Torger and A. Farina, “Real-time partitioned convolution for ambiophonics surroundsound,” in Applications of Signal Processing to Audio and Acoustics, 2001 IEEE Workshopon the, pp. 195–198, IEEE, 2001.

[39] E. Armelloni, C. Giottoli, and A. Farina, “Implementation of real-time partitionedconvolution on a dsp board,” in Applications of Signal Processing to Audio and Acoustics,2003 IEEE Workshop on., pp. 71–74, IEEE, 2003.

[40] E. Battenberg and R. Avizienis, “Implementing real-time partitioned convolution al-gorithms on conventional operating systems,” in Proceedings of the 14th InternationalConference on Digital Audio Effects. Paris, France, 2011.

[41] F. Wefers and M. Vorländer, “Uniformly-partitioned convolution with independentpartitions in signal and filter,” in Audio Engineering Society Convention 137, Oct 2014.

[42] W. Jarosz, Efficient monte carlo methods for light transport in scattering media. ProQuest,2008.

[43] A. Sepúlveda, Lecciones de Física Matemática. Universidad de Antioquia, 2004.

[44] B. Rafaely, “Plane wave decomposition of the sound field on a sphere by sphericalconvolution,” tech. rep., Institute of Sound and Vibration Research, 2003.

[45] M. Poletti, “Unified description of ambisonics using real and complex spherical harmonics,”a a, vol. 1, no. 1, pp. 2–2, 2009.

[46] P. Fellgett, “Ambisonics. part one: General system description,” Studio Sound, vol. 17,no. 8, pp. 20–22, 1975.

[47] M. T. G. University of York, “Ambisonics research and related 3-d audio topics.” http://www.york.ac.uk/inst/mustech/3d_audio/gerzonrf.htm, 1995.

[48] D. H. Cooper and T. Shiga, “Discrete-matrix multichannel stereo,” J. Audio Eng. Soc,vol. 20, no. 5, pp. 346–360, 1972.

Page 76: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

Referencias 76

[49] E. Benjamin and T. Chen, “The native b-format microphone,” in Audio EngineeringSociety Convention 119, Oct 2005.

[50] B. P. Ortega and M. R. Romero, Electroacústica: altavoces y micrófonos. PearsonEducación, SA, 2003.

[51] A. Farina, R. Glasgal, E. Armelloni, and A. Torger, “Ambiophonic principles for therecording and reproduction of surround sound for music,” in Audio Engineering SocietyConference: 19th International Conference: Surround Sound - Techniques, Technology,and Perception, Jun 2001.

[52] R. Stephens, Beginning software engineering. John Wiley & Sons, 2015.

[53] L. L. Beranek, Acústica. Editorial Hispano Americana S. A., 1969.

[54] N. P. Laboratory, “Acoustics.” http://www.kayelaby.npl.co.uk/general_physics/2_4/2_4_1.html, 2015.

[55] Openair, “Impulse response database.” http://www.openairlib.net/auralizationdb, 2016.

[56] “NBS Special Publication 500-136. An Overview of Computer Software AcceptanceTesting,” standard, National Bureau of Standards, Feb 1986.

Page 77: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

A. Algoritmo para la síntesis de respuestas al impulso de un micrófono virtual

c l e a rc l cd i sp ( " S c r i p t para s i n t e s i s de microfono v i r t u a l " ) ;

%Factores de d i r e c t i v i d a d% 0 −>Omnidirecc iona l% 0 .5 −>Subcard io ide% 1 −>Cardio ide% 1 .5 −>Hipe r ca rd i o id e% 2 −>B i d i r e c c i o n a l

d = 0 ; %d i r e c t i v i d a di =0; %cambia e l angulo en e l e va c i onj =0; %cambia e l angulo en azimut

%Lectura r e spue s ta a l impulso B−format[W, f s ] = audioread ( ’PROYECTO DE GRADO_3_ft_44_an_W_A0_01.WAV’ ) ;[X, f s ] = audioread ( ’PROYECTO DE GRADO_3_ft_44_an_X_A0_01 .WAV’ ) ;[Y, f s ] = audioread ( ’PROYECTO DE GRADO_3_ft_44_an_Y_A0_01 .WAV’ ) ;[ Z , f s ] = audioread ( ’PROYECTO DE GRADO_3_ft_44_an_Z_A0_01 .WAV’ ) ;

%S i n t e s i s de IRgw = sq r t ( 2 ) ;gx = cos ( theta ( j ) )∗ cos ( alpha ( i ) ) ;gy = s i n ( theta ( j ) )∗ cos ( alpha ( i ) ) ;gz = s i n ( alpha ( i ) ) ;S = 0.5∗(((2 −d)∗gw∗W)+(d ∗ ( ( gx∗X)+(gy∗Y)+( gz∗Z ) ) ) ) ; %Sen i a l de l%Microfono v i r t u a l

Page 78: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

B. Algoritmo de convolución particionada

%%PARTITIONED CONVOLUTIONpkg load s i g n a lc l o s e a l lc l e a r a l lc l cb f_s i z e = 2^9;s r a t e = 48000 ;h_file_name = ’ h2@44100k . wav ’ ;[ h h_fs ] = wavread ( s t r c a t ( ’ /home/ s ix66 /Octave−S c r i p t s / ’ , h_file_name ) ) ;h = h ’ ;[P,Q] = rat ( s r a t e /h_fs ) ;h = resample (h ,P,Q) ;h_size = s i z e (h , 2 ) ;par_num = h_size / b f_s i z e ;i f par_num−f l o o r (par_num)!=0

complete = ( c e i l (par_num)∗ bf_s i ze )−h_size ;h (1 , end+1:end+complete ) = ze ro s (1 , complete ) ;h_size = s i z e (h , 2 ) ;par_num = c e i l (par_num ) ;

endf o r i =0:par_num−1

par_h ( i +1 ,1: b f_s i z e ) = h(1 ,1+( i ∗ bf_s i ze ) : ( i +1)∗ bf_s i ze ) ;par_h ( i +1,end+1:end+bf_s i ze ) = ze ro s (1 , b f_s i z e ) ;par_H( i +1 ,1:2∗ bf_s i ze ) = f f t ( par_h ( i +1 ,1:2∗ bf_s i ze ) ) ;

endx_file_name = ’ x1@48000k . wav ’ ;x = wavread ( s t r c a t ( ’ /home/ s ix66 /Octave−S c r i p t s / ’ , x_file_name ) ) ;x = x ’ ;x_size = s i z e (x , 2 ) ;par_num_x = x_size / b f_s i z e ;%%Zero Pading para a j u s t a r e l tamano de xi f par_num_x−f l o o r (par_num_x)!=0

complete_x = ( c e i l (par_num_x)∗ bf_s i ze )−x_size ;

Page 79: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

79

x (1 , end+1:end+complete_x ) = ze ro s (1 , complete_x ) ;par_num_x = c e i l (par_num_x ) ;

endy_global_s ize = s i z e (x ,2)+ s i z e (h , 2 ) ;y_global = ze ro s (1 , y_global_s ize ) ;f o r j =0:par_num_x−1

X = x(1 ,1+( j ∗ bf_s i ze ) : ( j +1)∗ bf_s i ze ) ;X(1 , end+1:end+bf_s i ze ) = ze ro s (1 , b f_s i z e ) ;X = f f t (X) ;f o r i =0:par_num−1

par_Y( i +1 ,:)=X.∗ par_H( i +1 , : ) ;par_y ( i +1 ,:)= r e a l ( i f f t (par_Y( i + 1 , : ) ) ) ;

endy = ze ro s (1 , s i z e (h ,2)+ s i z e ( x ( 1 , 1 : b f_s i ze ) , 2 ) ) ;f o r i =0:par_num−1

y(1 ,1+( i ∗ bf_s i ze ) : ( i +2)∗ bf_s i ze ) += par_y ( i +1 , : ) ;endy_global (1 ,1+( j ∗ bf_s i ze ) : ( ( j +1)∗ bf_s i ze )+h_size ) += y ;

endwavwrite ( y_global , 48000 , ’ s i s a s 2 . wav ’ ) ;r e s = f f t c o n v (x , h ) ;max( xcor r ( res , y_global ( 1 , 1 : end −1) , ’ c o e f f ’ ) )

Page 80: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

C. Encuesta para la prueba de aceptación de usuario.

Prueba de aceptación de software para el trabajo de grado “DISEÑO Y DE-SARROLLO DE UN SISTEMA DE PROCESAMIENTO DE RESPUESTAS ALIMPULSO B-FORMAT EN TIEMPO REAL PARA LA RECREACIÓN DE MI-CRÓFONOS VIRTUALES”.

A continuación se presenta una prueba de aceptación de software diseñada siguiendo lasrecomendaciones del estándar de la National Bureau Standards (NBS) Special Publication500-136. El objetivo del desarrollo de esta prueba es la evaluación de los requerimientos dediseño del software desarrollado en papel de Auxiliar de Investigación inscrito al proyecto“Medición, procesamiento y análisis de respuestas al impulso en salas de concierto desde unenfoque de la producción de audio”. La prueba no es de carácter obligatorio. No presentaningún riesgo considerado y requiere disponibilidad de tiempo mínimo de 10 minutos. Todaslas preguntas deben ser respondidas. En caso de responder alguna pregunta de maneranegativa se requiere una justificación clara de la respuesta.

Declaro que he leído y he sido informado del objetivo de la prueba, sus riesgos y consideraciones.Realizo esta prueba a voluntad y doy permiso de utilizar la información aquí consignada parafines académicos del trabajo de grado “DISEÑO Y DESARROLLO DE UN SISTEMA DEPROCESAMIENTO DE RESPUESTAS AL IMPULSO B-FORMAT EN TIEMPO REALPARA LA RECREACIÓN DE MICRÓFONOS VIRTUALES”.

Nombre completo:

Firma:

C.C:

Page 81: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

81

Antes de comenzar, verifique junto con el encuestador, que el software haya sido instaladocorrectamente en su computador, y pueda ser ejecutado desde su DAW. Se realizarán preguntasconcretas con respecto al funcionamiento del software, orientadas a la verificación de losrequerimientos de diseño propuestos.

1. ¿Es el software evaluado, un software tipo plug-in en formato .VST o .AU?

Si No

¿Es otro formato?, ¿cuál?.

2. ¿Considera que el software evaluado ofrece la posibilidad (por medio de los controles de lainterfaz gráfica de usuario) de seleccionar entre uno de los siguientes patrones polares fijosde primer orden, para la síntesis de un micrófono virtual: omnidireccional, subcardioide,cardioide, hipercardioide, bidireccional?

Si No

¿Por qué no?.

3. ¿Piensa usted que el software permite modificar la orientación del micrófono virtualgenerado, hacia cualquier dirección de un espacio tridimensional?

Si No

¿Por qué no?

4. ¿El software le otorga la posibilidad de cargar una respuesta al impulso en codificaciónB-format en formato .wav de 4 canales?

Si No

¿Por qué no?

5. ¿Considera que el software realiza la síntesis del micrófono virtual y su convolución conuna señal monofónica en tiempo real?

Si No

¿Por qué no?

6. Teniendo en cuenta la anterior evaluación, ¿acepta usted el desarrollo del software, indicandoy verificando que cumple con los requerimientos de diseño planteados?

Si No

¿Por qué no?

Page 82: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

D. Reporte del AU Validation Tool

v a l i d a t i n g Audio Unit Bverb by Upegui_Ramirez :

AU Val idat i on ToolVers ion : 1 . 6 . 1 a1Copyright 2003 −2013 , Apple Inc . Al l Rights Reserved .Spec i f y −h (−help ) f o r command opt ions

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−VALIDATING AUDIO UNIT: ’ aufx ’ − ’ Brvb ’ − ’UpRa’−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Manufacturer S t r ing : Upegui_RamirezAudioUnit Name : BverbComponent Vers ion : 1 . 0 . 0 (0 x10000 )

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−TESTING OPEN TIMES:COLD:Time to open AudioUnit : 8 .652 msWARM:Time to open AudioUnit : 0 .421 msFIRST TIME:Time f o r i n i t i a l i z a t i o n : 0 .010 ms

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−VERIFYING DEFAULT SCOPE FORMATS:Input Scope Bus Conf igurat ion :

Defau l t Bus Count : 1Bus Name : InputDefau l t Format : AudioStreamBasicDescr ipt ion : 1 ch ,44100 Hz , ’ lpcm ’ (0 x00000029 ) 32− b i t l i t t l e −endian f l o a t ,d e i n t e r l e av ed

Page 83: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

83

Output Scope Bus Conf igurat ion :Defau l t Bus Count : 1

Bus Name : OutputDefau l t Format : AudioStreamBasicDescr ipt ion : 1 ch ,44100 Hz , ’ lpcm ’ (0 x00000029 ) 32− b i t l i t t l e −endian f l o a t ,d e i n t e r l e av ed

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−VERIFYING REQUIRED PROPERTIES:

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−VERIFYING RECOMMENDED PROPERTIES:

VERIFYING PROPERTY: LatencyPASS

VERIFYING PROPERTY: Tai l TimePASS

VERIFYING PROPERTY: Bypass E f f e c tPASS

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−VERIFYING OPTIONAL PROPERTIES:

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−VERIFYING SPECIAL PROPERTIES:

VERIFYING CUSTOM UICocoa Views Ava i l ab l e : 1

JUCE_AUCocoaViewClass_fb470382eee6ad92PASS

HAS FACTORY PRESETS

VERIFYING CLASS INFO

Page 84: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

84

PASS

TESTING HOST CALLBACKSPASS

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−PUBLISHED PARAMETER INFO:

# # # 5 Global Scope Parameters :

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−FORMAT TESTS:

Reported Channel C a p a b i l i t i e s ( e x p l i c i t ) :[ 1 , 1 ]

Input /Output Channel Handling :1−1 1−2 1−4 1−5 1−6 1−7 1−8 2−2 2−4 2−5 2−6 2−72−8 4−4 4−5 5−5 6−6 7−7 8−8X

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−RENDER TESTS:

Input Format : AudioStreamBasicDescr ipt ion : 1 ch , 44100 Hz , ’ lpcm ’(0 x00000029 ) 32− b i t l i t t l e −endian f l o a t , d e i n t e r l e av edOutput Format : AudioStreamBasicDescr ipt ion : 1 ch , 44100 Hz , ’ lpcm ’(0 x00000029 ) 32− b i t l i t t l e −endian f l o a t , d e i n t e r l e av edRender Test at 512 framesS l i c i n g Render Test at 64 frames

PASS

Render Test at 64 frames , sample ra t e : 22050 Hz

Page 85: Diseñoydesarrollodeunsistemadeprocesamientoderespuestas ...bibliotecadigital.usb.edu.co:8080/bitstream/10819/4745/1/...Citar/Howtocite [1] Referencia/Reference [1] F.RamírezRiverayD.UpeguiFlórez,“Diseñoydesarrollodeunsistemade

85

Render Test at 137 frames , sample ra t e : 96000 HzRender Test at 4096 frames , sample ra t e : 48000 HzRender Test at 4096 frames , sample ra t e : 192000 HzRender Test at 4096 frames , sample ra t e : 11025 HzRender Test at 512 frames , sample ra t e : 44100 Hz

PASS

1 Channel Test :Render Test at 512 frames

PASS

Checking connect ion semant ics :Connection format :AudioStreamBasicDescr ipt ion : 1 ch , 44100 Hz , ’ lpcm ’ (0 x00000029 )32− b i t l i t t l e −endian f l o a t , d e i n t e r l e av ed

PASS

Bad Max Frames − Render should f a i lPASS

Checking parameter s e t t i n gUsing AudioUnitSetParameterUsing AudioUnitScheduleParameter

PASS

Test MIDIPASS

∗ ∗ PASS−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−AU VALIDATION SUCCEEDED.−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

v a l i d a t i o n r e s u l t : va l idado correctamente

updating p r o p e r t i e s o f AU Bverb by Upegui_Ramirez . . . done .