Modelo de Sonoridad usando Redes Neuronales Artificiales

10
paper ID: A027 /p.1 Modelo de Sonoridad usando Redes Neuronales Artificiales V. Espinoza a , R. Venegas b ,S. Floody c . a Universidad Tecnológica de Chile, Brown Norte 290, Santiago, Chile, [email protected] b Universidad Tecnológica de Chile, Brown Norte 290, Santiago, Chile, [email protected] c Universidad Tecnológica de Chile, Brown Norte 290, Santiago, Chile, [email protected] RESUMEN: El presente trabajo presenta un modelo simple de sonoridad, usando las curvas isofónicas normadas por ISO 226: 2003. La estrategia a seguir fue usar una red neuronal artificial feedforward multicapa 11-9-1, para determinar los valores de igual contorno de sonoridad para diferentes frecuencias y niveles de presión sonora, de una señal cambiante en el tiempo, es decir, ponderar cada nivel y frecuencia con su correspondiente curva isofónica. Se compara el modelo con otras medidas de sonoridad usadas comúnmente, dB(A), RMS, usando señales de voz grabadas en cámara anecoica. KEYWORDS: Sonoridad, Redes Neuronales Artificiales, Isofónicas.

Transcript of Modelo de Sonoridad usando Redes Neuronales Artificiales

paper ID: A027 /p.1

Modelo de Sonoridad usando Redes Neuronales Artificiales

V. Espinozaa, R. Venegasb ,S. Floodyc.

a Universidad Tecnológica de Chile, Brown Norte 290, Santiago, Chile, [email protected]

b Universidad Tecnológica de Chile, Brown Norte 290, Santiago, Chile, [email protected] c Universidad Tecnológica de Chile, Brown Norte 290, Santiago, Chile, [email protected]

RESUMEN: El presente trabajo presenta un modelo simple de sonoridad, usando las curvas isofónicas normadas por ISO 226: 2003. La estrategia a seguir fue usar una red neuronal artificial feedforward multicapa 11-9-1, para determinar los valores de igual contorno de sonoridad para diferentes frecuencias y niveles de presión sonora, de una señal cambiante en el tiempo, es decir, ponderar cada nivel y frecuencia con su correspondiente curva isofónica. Se compara el modelo con otras medidas de sonoridad usadas comúnmente, dB(A), RMS, usando señales de voz grabadas en cámara anecoica. KEYWORDS: Sonoridad, Redes Neuronales Artificiales, Isofónicas.

paper ID: A027 /p.2

1. INTRODUCCIÓN

Es conocida la respuesta del oído humano a distintos niveles y frecuencias, en las denominadas curvas isofónicas [3]. Estas curvas son creadas para tonos puros, incidencia normal plana del sonido sobre el oyente, donde este percibe la misma sensación de sonoridad o “intensidad” para un sonido de distinta frecuencia. La unidad de medida de sonoridad es el Fon (phon).

Generalmente, en el trabajo de medir o estimar la sonoridad en diversa aplicaciones de audio, se emplean métodos como el uso de valores RMS, ponderaciones A, B o C, y distintos tiempos de integración, que tienen relación con la audición humana. El problema surge al momento de comparar los distintos indicadores con la percepción del oyente. Además estos métodos son estáticos, o sea, no varía su respuesta según el nivel, frecuencia o tiempo de duración de la señal.

Nuestra propuesta es un modelo de ponderación dinámica, es decir, la ponderación de determinada señal dependa de su espectro de frecuencias.

2. DESARROLLO 2.1 Determinación de datos para entrenamiento de la Red Neuronal Artificial

El primer problema presentado es que las curvas isofónicas [3] [4] están publicadas con una distancia de 10 fones entre si, como muestra la figura 1. Cualquier otra curva o valor entre esta diferencia debe ser aproximado o interpolado por algún método. Para considerar una aplicación en tiempo real se determinaran los valores mediante el uso de una Red Neuronal Artificial (RNA).

paper ID: A027 /p.3

Figura 1: Curvas Isofónicas según [4]

El procedimiento fue el siguiente:

Mediante procesamiento de imágenes fueron separadas cada curva isofónica, y determinado valores de dB y frecuencia para cada píxel de la curva, rotulando la curva con su correspondiente valor de fones.

Se importaron los datos de dB y frecuencia de cada curva al Curve Fitting Tool de Matlab [5], donde se suavizaron los datos usando el método denominado Loess, para eliminar el ruido producido por el escaneo de la imagen.

Los datos suavizados fueron usados como datos de entrada para una aproximación usando Smoothing Splines (SS), determinando así un polinomio que pudiera describir en forma aproximada cada curva isofónica dentro del rango de 20 Hz a 12.5 KHz. Un ejemplo de curvas generadas por los polinomios se muestra a continuación.

paper ID: A027 /p.4

Figura 2: Curvas Isofónicas generadas por la aproximación de Splines desde 0 Fon a

80 Fon.

Usando los polinomios se crearon datos de entrada para el entrenamiento de la red neuronal artificial. 2.2 Implementación y prueba de Red Neuronal Artificial (RNA).

En términos simples, una RNA es una red de funciones que emulan el comportamiento básico de una neurona biológica, que tiene la capacidad de “aprender” un determinado comportamiento, a partir de una serie de datos, para luego poder responder de manera autónoma ante datos similares. Para más detalles, un excelente desarrollo de la teoría de redes neuronales puede ser encontrado en [1] [2].

Se entrenaron redes feedforward de tres capas con el algoritmo Quasi Newton Backpropagation con 2500 épocas y error objetivo goal con un valor de 10-5.

El conjunto de entrenamiento se construyó a partir los datos entregados por la aproximación de polinomios Smoothing Splines de 0 a 80 Fones

Las funciones de transferencia corresponden a funciones Tangente Hiperbólica Sigmoidal, Logarítmica sigmoidal y Lineal para la capa de entrada, oculta y de salida respectivamente. La entrada a la RNA es frecuencia en Hz y Nivel de presión sonora en dB de la señal, la salida es Nivel de sonoridad en fones. El número de neuronas de

paper ID: A027 /p.5

salida está determinado por la aplicación y en este caso corresponde a 1 neurona (nivel de sonoridad). Para hallar el número de neuronas de la capa de entrada y la oculta se entrenaron 175 configuraciones, tanto para la capa de entrada como para la de salida fueron asignados aleatoriamente el número de neuronas (distribución aleatoria uniforme entre 1 y 13 neuronas para ambas). Se construyó una función de costo que pondera la suma entre el número de neuronas de la capa de entrada y de la capa oculta normalizados con respecto a la posible suma máxima (13+13=26 neuronas) y el error RMS (normalizado al valor máximo de error encontrado). Debido a que tener un menor error es más importante para los fines de este trabajo la ponderación fue de 0.9 para el error y 0.1 la suma de las neuronas. La función de costo fue minimizada en orden obtener la configuración óptima. Los resultados indican que la topología final corresponde a una red con 11 neuronas en la capa de entrada, 9 en la capa oculta y 1 de salida.

La figura 3 muestra la grafica de salida de la red versus salida deseada de la configuración óptima.

Figura 3: salida de la red versus salida deseada de la configuración óptima.

Logrado el error mínimo, el resultado del entrenamiento de la RNA, es implementado en la función NeuLoud(frecuencia,dB NPS)=Fones

paper ID: A027 /p.6

2.3 Resultados

Para probar la función NeuLoud, se compararon sus resultados con los entregados por los polinomios SS. El error es graficado en la figura 4, y como se puede apreciar que la desviación no es mayor a ±3 dB en baja frecuencia (<100 Hz) y cercano a ±1 dB en frecuencias superiores.

Figura 4: Error NeuLoud v/s Polinomios SS

Para una comparación con distintos valores de Fones se presenta Curvas de igual

contorno de NPS versus Frecuencia (figura 5), esto es, la cantidad de fones necesarios para tener un mismo NPS. Notar que aparecen curvas cada 5 dB.

paper ID: A027 /p.7

Figura 5: Curvas de igual contorno de NPS versus Frecuencia

Para una prueba de la RNA, con señales de audio, se implementó una rutina en

matlab. Primero es necesario calibrar los niveles dB NPS con los niveles dB Full Scale

de la señal digital. Para este caso -14 dBFS corresponden a 70 dB NPS. Luego, la señal se transforma al dominio de la frecuencia mediante el uso de FFT de 256 puntos, con ventana Hanning a una frecuencia de muestreo de 22050 Hz, 24 bits y 0% de Overlap. Para prevenir que entren datos que están fuera de los valores de las curvas isofónicas, los datos de nivel por frecuencia son comparados con una curva de umbral (0 Fon). Si los datos están bajo el umbral se asigna el nivel de la curva de umbral. Tomadas las precauciones, se ingresa el vector de frecuencias y dB de la señal transformada a la función NeuLoud. Se comparan a continuación los valores en dB r.m.s., dB r.m.s ponderado A, con el valor de la suma de todas las frecuencias ponderadas con la función NeuLoud para dos casos. El primer caso (figura 7) es una señal de voz grabada en cámara anecoica sin ningún tipo de proceso y debidamente calibrada. El segundo caso es la misma señal con una modificación espectral, como se muestra en la figura 8. La figura 6 muestra la modificación espectral.

paper ID: A027 /p.8

Figura 6: Espectro de señal de prueba con y sin modificación espectral

Figura 7: Envolventes para los distintos estimados de sonoridad sin modificación

espectral. En dB rms (rojo), dBA rms (negro), y NeuLoud (azul)

paper ID: A027 /p.9

Figura 8: Envolventes para los distintos estimados de sonoridad con modificación

espectral. En dB rms (rojo), dBA rms (negro), y NeuLoud (azul)

Los ejemplos anteriores son palabras bisilábicas. Las palabras son: kiwi, cruces, kilo, alma, fruta, dedo y suerte.

Se observa para la señal modificada en espectro (figura 8), los fonemas que contienen mayor energía en la zona sensible del oído marcan mayor nivel para el modelo RNA son principalmente consonantes.

3. CONCLUSIONES

Se ha logrado implementar una función matemática capaz de entregar el valor de sonoridad para cualquier frecuencia y nivel dentro de los rangos establecidos.

El costo computacional de tal función es extremadamente bajo: entre 10 y 14 micro segundos, por lo tanto, es aplicable a cálculos en tiempo real, para implementaciones en audio digital u otros.

Su aplicación se puede ampliar al área de control de ruido y acústica ambiental, pudiendo ser un estimador complementario a las curvas de ponderación A y C.

paper ID: A027 /p.10

REFERENCIAS BIBLIOGRÁFICAS [1] Freeman, J. A., y Skapura, D. M., “Neural networks, Algorithms, Applications and Programming Techniques”, Adisson-Wesley, (1991). [2] Gupta, M., Jin, L., and Homma, N., “Static and Dynamic Neural Network”, IEEE Press, John Wiley and Sons, (2003). [3] ISO 226:2003, Acoustics -- Normal equal-loudness-level contours [4] Suzuki, Y., Takeshima, H. “Equal-loudness-level contours for pure tones”, J. Acoust. Soc. Am., Vol 116, No. 2, August (2004). [5] Matlab v6.5 Release 13.