TP10
TP10
TP10
DE RIRS.
Santiago Iturburu, Lucas Fernandez Garabenta, Pedro Venezia
santiturburu@gmail.com, lucasrafaelfg@gmail.com , venezia46238@estudiantes.untref.edu.ar
Universidad Nacional de Tres de Febrero, Ingeniería de Sonido. Caseros, Buenos Aires, Argentina
1. Introducción
La respuesta al impulso de un recinto es fundamental para determinar los distintos parámetros acústicos que carac-
terizan a cada recinto. Existen numerosos softwares, tanto pagos como gratuitos, para el procesamiento de respuestas
al impulso de recintos (RIRs) y el calculo de los parámetros acústicos. Sin embargo, la gran mayoría se enfocan en
el procesamiento de la información y no se preocupan por la experiencia del usuario. Normalmente se necesita la
combinación de varios softwares o la implementación de código externo para poder realizar el proceso completo,
desde la generación de la señal de prueba, el registro de la señal in situ, el procesamiento para obtener las RIRs y
el posterior análisis para obtener finalmente los parámetros. Este proceso se vuelve particularmente tediosos al mo-
mento de analizar grandes cantidades de mediciones, donde surge la necesidad de promediar y visualizar los distintos
parámetros.
El objetivo de este trabajo es diseñar un software que rápidamente permita realizar todos los pasos previamente
mencionados, de forma intuitiva y amigable con el usuario. Es probable que la intención de desarrollar un software
intuitivo genere un detrimento en la versatilidad del mismo, de todos modos, se presenta una versión beta que muestra
el potencial para mejorar en muchos de sus aspectos.
Para llevar a cabo el desarrollo del software se utiliza python como lenguaje de programación para el procesa-
miento, y el framework Streamlit para la interfaz gráfica. Durante el trabajo se comentan los principales softwares
gratuitos utilizados en la actualidad, con los cuales luego se hará una comparación de resultados para poner a prueba
el trabajo realizado. Además, se indica el procesamiento que se lleva a cabo sobre las señales, junto con una breve
explicación de los parámetros acústicos a calcular.
El presente documento se entrega junto con los códigos desarrollados, los cuales contienen comentarios en el paso
a paso. Esto se aclara ya que se considera en vano querer explicar un código en palabras en el documento.
3. Marco Teórico
3.1 Procesamiento
3.1.1 Filtro de media móvil
El filtro de media móvil se suele utilizar para quitar outliers dentro de nuestra señal, o en otras palabras, suavizar
la curva. El mismo funciona a partir de calcular la media de una ventana de N muestras que se desplaza por sobre toda
la señal, análogo a convolucionar dos señales. Como la media se calcula sobre una ventana de muestras, todo valor
lejano a la media de la ventana se ve atenuado y por ende se lo considera filtrado. La figura 1 muestra el resultado de
filtrar una señal con un filtro de estas características.
Figura 1: Aplicación de filtro de media móvil. En azul la señal original, en rojo la señal filtrada.
Las frecuencias centrales de los filtros de octava y de tercio de octava se muestran respectivamente en las Tablas
1 y 2.
2
Instrumentos & Mediciones Acústicas. 21/11/2023
Los filtros utilizados se adecuan a lo especificado por la normativa IEC 61260 [5].
La normativa ISO 3382 [1] define de la siguiente manera los parámetros acústicos de interés. El análisis del tiempo
de decaimiento se limita de acuerdo a distintos rangos de nivel de atenuación a partir de determinado nivel relativo al
sonido directo.
El EDT (Early Decay Time, tiempo de decaimiento temprano) hace referencia al tiempo de decaimiento obtenido
al unir dos puntos determinados: el nivel máximo del sonido directo y la atenuación correspondiente a 10 dB. Estos
dos puntos de la ETC se utilizan como referencia para la linealización. El intervalo temporal entre estos dos puntos
se multiplica seis veces para obtener el tiempo correspondiente al parámetro EDT. Esta linealización y multiplicación
hace referencia al tiempo de reverberación clásico definido para un decaimiento de 60 dB.
El T20 y el T30 siguen una lógica similar pero partiendo de -5 dB relativos al nivel del sonido directo. Para el
T20 se toma un decaimiento de 20 dB, para el T30 se toma un decaimiento de 30 dB, el intervalo temporal entre los
dos puntos de decaimiento para cada caso, se multiplica tres y dos veces respectivamente. Esto se puede observar
gráficamente en la Figura 2. Se debe observar que para el calculo del T30 se exigen 35 dB de relación señal ruido.
Se definen los parámetros de claridad, que hacen referencia a la relación entre la energía temprana y la energía
tardía.
Zte
p2 (t) dt
0
Cte = 10log ∞ [dB] (1)
Z
p2 (t) dt
te
3
Instrumentos & Mediciones Acústicas. 21/11/2023
Z∞
tt = ∥ACFnorm (RIR2 (t))∥ dt (3)
0
El calculo del EDtt comparte el punto de partida con el EDT, es decir, el instante inicial de la respuesta al impulso,
correspondiente al sonido directo. La diferencia es que el EDtt utiliza una rango de atenuación correspondiente a la
atención del tiempo de transición, AT tt . Este parámetro representa el tiempo de decaimiento de la energía temprana,
con el limite temporal impuesto por el tiempo de transición.
La función de correlación cruzada inter-aural normalizada,IACFnorm(t1 ;t2 ) (τ ), se define en la Ecuación 4.
Zt2
pl (t) · pr (t + τ ) dt
t
IACFnorm(t1 ;t2 ) (τ ) = 1 12 (4)
Zt2 Zt2
p2l (t) dt p2r (t) dt
t1 t1
4. Procedimiento
Se utiliza python como lenguaje de programación para el procesamiento de los datos. Para la interfaz gráfica se
utiliza el framework Streamlit, que intercomunica python con lenguajes de programación de front-end para desarrollo
web, y así genera una interfaz gráfica de usuario web a través de cualquier buscador (como Chrome, Mozilla, etc.). Se
elige esta forma de GUI ya que es independiente del sistema operativo y es fácilmente escalable, pudiendo convertirse
en una aplicación web en simples pasos.
Para facilitar la lectura del código y su posterior desarrollo, se divide el código en tres archivos .py distintos. El
primero, Filterbank.py, contiene las funciones asociadas al filtrado digital de las señales respetando las normas IEC,
y utiliza las librerias Scipy y Numpy. El segundo, Funciones.py, abarca todas las funciones de procesamiento de las
RIRs, como la aplicación de la integral de Schroeder y el calculo de los parámetros acústicos. Para esto, se utilizan las
librerías Scipy y Numpy para manipular matemáticamente la señal, Soundfile para importarla y convertirla en datos
manipulables, además de Matplotlib para graficar la RIR importada. Por ultimo, en el tercer script, TP10.py, es en
donde se aplican las funciones definidas previamente y se interactúa con el usuario a través de la web GUI, además
de definir una función que exporte la información a un excel utilizando la librería Pandas.
El camino que la señal recorre en su procesamiento se divide en tres grandes etapas. El primer paso consta en el
filtrado de la señal en sus respectivas bandas, dependiendo la elección del usuario, por octava o tercios de octava a
partir de las normas IEC. Un dato importante a la hora del filtrado es hacerlo utilizando la técnica de Rasmussen y
filtrar la RIR invertida (dada vuelta en el tiempo) para minimizar los errores del filtrado digital.
Como segunda instancia, una vez obtenidas cada banda por separado, se aplica la integral de Schroeder para
obtener la curva de energía temporal (ETC). Dicha curva también se utiliza para recortar la RIR1 , ya que en principio
(antes del filtro de media móvil) tanto la ETC como la RIR en el tiempo tienen la misma cantidad de muestras, por lo
que se puede recortar la RIR utilizando los puntos que se desee de amplitud energética.
En el presente trabajo se toma como criterio recortar la respuesta al impulso tomando como punto inicial los 5
ms anteriores al comienzo del decaimiento de la energía, es decir 5 ms antes de que la amplitud deje de ser 0 dB; y
como punto temporal final el valor más cercano a un decaimiento de 26 dB de la curva de Energía Temporal. El valor
elegido se debe a que es el valor mínimo de rango dinámico en caso de que se desee calcular el parámetro T20, y que
dicho rango es más factible de alcanzar debido a los niveles de ruido. Si bien existen métodos para estimar el final de
la respuesta al impulso, como los de Lundeby [6] y L. Pepino [7], no se incluye el cálculo del parámetro T30, ya que
su valor no será verdadero en caso de que el ruido este por arriba de -35 dB con respecto a la energía de la RIR.
La ultima instancia de procesamiento consta de calcular los parámetros deseados a partir de la RIR recortada o
de la curva dada por la integral de Schroeder, según sea necesario. Los parámetros se muestran al usuario en forma
de tabla, teniendo la opción de exportar los resultados en una tabla de Excel. Por otro lado, también se exhiben los
gráficos pertinentes asociados a los resultados como imágenes, también con posibilidad de descargarlos. En la versión
1
para establecer el final de la RIR, lo cual es necesario para poder establecer un punto en el tiempo en el cual deja de existir información
por parte de la respuesta de la sala a partir de la excitación, quedando sólo ruido de fondo.
4
Instrumentos & Mediciones Acústicas. 21/11/2023
actual (la presentada en este trabajo), por cuestión de tiempo, falta agregar el calculo de algunos parámetros ( tt ,
EDtt , IACCearly ) y la presentación de los resultados en gráficos comparativos. Estas funcionalidades junto con
la posibilidad de analizar y promediar varias RIRs en simultaneo se encuentran actualmente en desarrollo y serán
agregadas al software a medida que se puedan aplicar con éxito en el procesamiento.
5. Resultados y Análisis
En las siguientes Figuras se presenta la interfaz gráfica desarrollada. En la Figura 3 se presenta la pantalla de
inicio, en la que se elige el archivo de audio que se desea procesar, y se debe optar por un análisis en bandas de octava
o de tercio de octavas. En la Figura 4 se observa un archivo .WAV cargado en la aplicación, junto con un gráfico de
nivel en función del tiempo (no se llego a completar la información del gráfico, como titulo, referencia en los ejes,
debido a la falta de tiempo). Al hacer click en la opción "Process"se inicia el calculo de parámetros, obteniéndose la
pantalla de la Figura 5. En donde se observa una tabla con los valores calculados para los distintos parámetros (aun
resta incluir las unidades, el redondeo, y gráficas de los parámetros en la presentación de los resultados).
5
Instrumentos & Mediciones Acústicas. 21/11/2023
6
Instrumentos & Mediciones Acústicas. 21/11/2023
Para poner a pruebas las funcionalidades del software se procesan tres RIRs distintas obtenidas en distintos puntos
de la misma sala. La respuestas corresponden a mediciones en una cámara reverberante en la cual se encuentra
instalada una muestra de material absorbente. Dichas RIRs se procesan en tres softwares, el desarrollado para el
presente trabajo y los softwares comerciales REW y Aurora (for Audacity). En la Figura 6 se presentan los resultados
7
Instrumentos & Mediciones Acústicas. 21/11/2023
obtenidos con la RIR numero uno para los distintos parámetros (T20, EDT, C50, C80) en los distintos softwares, en
forma de gráficos. En el Anexo se presentan los valores obtenidos para las RIRs numero dos y tres.
(a) Comparación del calculo del T20. (b) Comparación del calculo del EDT.
(c) Comparación del calculo del C50. (d) Comparación del calculo del C80.
Figura 6: Calculo de parámetros en el software desarrollado, en REW, y en Aurora para la RIR numero 1.
Las siguientes Tablas muestran las diferencias que surgen al restar los parámetros obtenidos en el software propio
con los valores obtenidos en los softwares comerciales al procesar la misma RIR. Para la RIR numero uno se muestra
en la Tabla 3 los resultados de restar los valores del software propio con los del REW. En la Tabla 4 se muestra la
misma comparación con los valores del Aurora. En la Tabla 5 se presentan las diferencias entre los valores reportados
por el REW y por Aurora para la misma RIR, esto permite tomar referencia sobre los estándares de los softwares
comerciales para evaluar el desarrollo propio en perspectiva. En el Anexo se presentan los valores obtenidos para las
RIRs numero dos y tres.
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,252 0,662 8,1 3,2
125 0,130 0,377 0,7 0,1
250 0,355 0,384 0,5 0,2
500 0,328 0,097 0 0,1
1000 0,045 0,048 0,1 0,3
2000 0,009 0,058 0,4 0,3
4000 0,015 0,023 0 0,1
8000 0,065 0,011 0,3 0,4
8
Instrumentos & Mediciones Acústicas. 21/11/2023
Tabla 4: Diferencias entre el calculo del software desarrollado y Aurora (RIR1)
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,212 0,659 3,3 0,5
125 0,324 0,737 0,4 0,0
250 0,229 0,317 0,1 0,6
500 0,027 0,025 0,1 0,1
1000 0,028 0,039 0,5 0,4
2000 0,006 0,05 0,6 0,3
4000 0,003 0,028 0,1 0,4
8000 0,03 0,018 0,3 0,1
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,040 0,003 4,8 2,7
125 0,194 0,360 1,0 0,0
250 0,126 0,067 0,6 0,4
500 0,354 0,072 0,1 0,2
1000 0,073 0,009 0,4 0,1
2000 0,003 0,008 0,2 0
4000 0,012 0,005 0 0,5
8000 0,095 0,029 0 0,3
Se puede observar que al llevar a cabo el desarrollo de un software para el procesamiento de señales acústicas
siguiendo las normativas pertinentes, es posible obtener resultados con poca diferencia respecto a los softwares están-
dar. De todas formas, es necesario continuar realizando pruebas con respuestas al impulso con distintas características
en cuanto a la forma de la curva del decay en general y la relación señal a ruido.
Al analizar las diferencias entre el desarrollo propio con los softwares propuestos para la comparación, se puede
observar que estas tienen valores similares a los que presentan las diferencias entre los softwares. Estas diferencias se
cree que pueden deberse a distintos criterios aplicados a la hora de procesar la señal.
Se debe decir que si bien el programa esta en su versión beta, ya brinda una experiencia de usuario mucho más
sencilla, del tipo plug & play. Su funcionalidad facilita la experiencia del usuario y da lugar a un ágil análisis de los
resultados.
La próxima versión tendrá la opción de importar más de una RIR, pudiendo procesarlas todas en simultaneo para
obtener los parámetros de cada una individualmente y, a su vez, los promedios con su desvío estándar. Por otro lado,
también se desea ampliar el programa para que sea capaz de generar, reproducir y grabar un sine sweep, para luego
convolucionarlo con su filtro inverso y obtener la respuesta al impulso del cuarto sin necesidad de estar importando y
exportando cosas entre distintos programas.
9
Instrumentos & Mediciones Acústicas. 21/11/2023
Una mejora a futuro para el software es la presentación de gráficos de todos los parámetros calculados y un gráfico
de la curva de decay del tipo reflectograma, que incluya la integral de Schroeder, el tiempo de transición, y que permita
visualizar las rectas del EDT, el T20, el T30 y el EDtt .
6. Conclusiones
Se puede observar que al llevar a cabo el desarrollo de un software para el procesamiento de señales acústicas
siguiendo las normativas pertinentes, es posible obtener resultados con poca diferencia respecto a los softwares están-
dar. De todas formas, es necesario continuar realizando pruebas con respuestas al impulso de distintas características
que puedan llegar a evidenciar fallas, ya que los resultados dependen de la señal y la variedad de señales que se
podrían procesar es muy amplia.
Al analizar las diferencias entre el desarrollo propio con los softwares propuestos para la comparación, se puede
observar que presentan valores similares a las diferencias entre los softwares. Estas diferencias se cree que pueden
deberse a distintos criterios (temporales, de nivel y en el filtrado) aplicados a la hora de procesar la señal, como por
ejemplo con respecto a la determinación del instante de tiempo que se considera como el final de la RIR en relación
al piso de ruido.
En relación a los desarrollos a futuro, se tiene la intención de presentar un gráfico del tipo reflectograma acompa-
ñado por la curva de la integral de Schroeder, la señalización del tiempo de transición, y la posibilidad de visualizar
la linealizaciones del T20, T30, EDT y EDtt , por bandas de octava y de tercio de octava a elección por el usuario.
Referencias
1. International Organization for Standardization. (1997). Acoustics -Measurement of the reverberation time of
rooms with reference to other acoustical parameters (2nd ed., ISO 3382).
2. Farina, A. (2000). Simultaneous measurement of impulse response and distortion with a swept-sine techni-
que.Audio Engineering Society Convention 108
3. Farina, A. (2007). Advancements in impulse response measurements by sine sweeps.Audio Engineering Society
Convention 122.
4. Campanini, S., & Farina, A. (2009). A new Audacity feature: room objective acoustical parameters calculation
module. Departement of Industrial Engineering, University of Parma, Viale G.P. Usberti, 181/A, 43100 Parma,
Italy. Email: farina@unipr.it, simonecampanini@gmail.com.
6. Lundeby, A., Vigran, T. E., Bietz, H., & Vorländer, M. (1995). Uncertainties of measurements in room acoustics.
Acustica, Vol. 81, Páginas 344-355.
7. Pepino, L. D., & Barchi, G. R. (2018). Estimación de parámetros acústicos a partir de respuestas al impulso con
ruido. En Actas de las IV Jornadas JAAS, Caseros, Argentina.
10
Instrumentos & Mediciones Acústicas. 21/11/2023
7. Anexo
(a) Comparación del calculo del T20. (b) Comparación del calculo del EDT.
(c) Comparación del calculo del C50. (d) Comparación del calculo del C80.
Figura 7: Calculo de parámetros en el software desarrollado, en REW, y en Aurora para la RIR numero 2.
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,65 0,723 13,1 7,3
125 0,801 0,401 0,3 0,1
250 0,008 0,091 0,3 0,6
500 0,311 0,116 0,2 0,3
1000 0,07 0,042 0,6 0,3
2000 0,027 0,047 0,3 0,2
4000 0,021 0,104 0,2 0,1
8000 0,058 0,02 0,5 0,7
11
Instrumentos & Mediciones Acústicas. 21/11/2023
Tabla 8: Diferencias entre el calculo del software desarrollado y Aurora (RIR2)
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,099 0,266 7,1 4
125 0,911 0,04 0,4 0
250 0,147 0,393 0,5 0,2
500 0,256 0,029 0,3 0,1
1000 0,044 0,072 0,8 1,4
2000 0,002 0,025 0,6 0,1
4000 0,016 0,051 0,5 0,6
8000 0,099 0,098 0,1 0,9
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,551 0,989 5,9 3,3
125 0,11 0,361 0,7 0,1
250 0,139 0,302 0,8 0,4
500 0,055 0,087 0,5 0,4
1000 0,026 0,114 0,2 1,2
2000 0,029 0,022 0,9 0,3
4000 0,005 0,155 0,3 0,5
8000 0,041 0,118 0,5 0,2
12
Instrumentos & Mediciones Acústicas. 21/11/2023
(a) Comparación del calculo del T20. (b) Comparación del calculo del EDT.
(c) Comparación del calculo del C50. (d) Comparación del calculo del C80.
Figura 8: Calculo de parámetros en el software desarrollado, en REW, y en Aurora para la RIR numero 3.
Tabla 11: Diferencias entre el calculo del software desarrollado y el REW (RIR3)
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,307 0,002 9,6 7,8
125 0,542 0,067 0,5 0,1
250 0,424 0,25 0,5 0,1
500 0,264 0,275 0,1 0,2
1000 0,134 0,14 0,6 0,6
2000 0,01 0,027 0,1 0,2
4000 0,028 0,017 0 0,1
8000 0,065 0,003 0,2 0,5
13
Instrumentos & Mediciones Acústicas. 21/11/2023
Tabla 12: Diferencias entre el calculo del software desarrollado y Aurora (RIR3)
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,113 0,095 7,6 6,7
125 0,835 0,069 0,7 0,1
250 0,244 0,134 0,4 0,1
500 0,28 0,136 0,5 0,2
1000 0,079 0,031 0,1 0,2
2000 0,009 0,008 0 0,2
4000 0,021 0,018 0,1 0
8000 0,105 0,051 0,1 0,3
Frecuencia [Hz] T20 dif [s] EDT dif [s] C50 dif [dB] C80 dif [dB]
63 0,194 0,097 2 1,1
125 0,293 0,002 0,2 0,2
250 0,18 0,384 0,9 0
500 0,016 0,139 0,5 0
1000 0,055 0,109 0,6 0,5
2000 0,019 0,035 0,1 0,1
4000 0,007 0,035 0 0,1
8000 0,04 0,054 0,3 0,2
14