19.A Camacho - Universidad de Costa Rica
Transcripción
19.A Camacho - Universidad de Costa Rica
Sobre el uso de modelos del sistema auditivo para mejorar el desempeño de un algoritmo de estimación de altura ante señales de calidad telefónica Arturo Camacho L. Escuela de Ciencias de la Computación e Informática Universidad de Costa Rica [email protected] Definición del problema El problema a resolver es el de determinar la altura (musical) de una señal transmitida por teléfono. La altura es la característica de un sonido que permite diferenciar entre uno agudo y uno grave. Soluciones a este problema se han propuesto desde por lo menos hace cuarenta años. Algunos enfoques han tratado de resolver el problema en el dominio del tiempo, de los cuales los que utilizan la técnica de autocorrelación o semejantes han sido los más exitosos [1, 2, 3]. Otros enfoques han tratado de resolverlo en el dominio de la frecuencia [4, 5], de los cuales uno de los más exitosos ha sido SWIPE (por sus siglas en inglés), el cual estima la altura de una señal como la frecuencia fundamental de la onda de diente de sierra cuyo espectro se asemeja más al de la señal. A pesar de que el algoritmo da muy buenos resultados con señales de buena calidad, no ocurre lo mismo con señales degradadas por transmisión telefónica (bajo el sistema tradicional, no Internet). Estas señales se caracterizan por una ausencia total de energía por debajo de los 300 Hz, rango en el que se encuentran la frecuencia fundamental y primeras armónicas de la voz humana. El problema consiste entonces en mejorar el desempeño de SWIPE en señales telefónicas. Justificación de la importancia La importancia de este trabajo radica en las múltiples aplicaciones de la estimación de altura en señales sonoras y en la gran cantidad de voz que es transmitida por el sistema telefónico. Una de las aplicaciones en las que es más relevante la estimación de altura es la transcripción automática de música [6]. Otras aplicaciones que la usan, aunque en menor medida, son la codificación de la voz [7] y la adquisición de una segunda lengua, especialmente de lenguas tonales [8]. Aunque no todas estas aplicaciones utilizan el sistema telefónico tradicional (excepto naturalmente la codificación de la voz), el mejorar la estimación de la altura en señales telefónicas potencia su uso. Metodología utilizada El método desarrollado, denominado Aud-SWIPE (de SWIPE auditivo), consiste en agregar a SWIPE una etapa previa de procesamiento de la señal, inspirada en el funcionamiento del sistema 1 auditivo, para recuperar armónicas que podrían estar ausentes en la señal. Esta idea se basa en un análisis de Klapuri [9], quien mostró que el proceso no lineal realizado por el sistema auditivo incorpora estas armónicas. El primer paso consiste en aplanar la envolvente espectral de la señal. Para esto se utiliza un filtro que emula la respuesta a la frecuencia del oído externo y el oído medio de los humanos. El objetivo es lograr que armónicas consecutivas tengan aproximadamente la misma amplitud. El segundo paso consiste en aislar grupos de armónicas consecutivas. Esto se logra mediante el uso de un banco de filtros pasabanda que emula la respuesta de la cóclea (órgano más importante del oído). El tercer paso es el más importante, ya que en él se generan las nuevas armónicas. Esto se logra aplicando una rectificación de media onda a la salida de cada uno de los filtros. Un problema de las armónicas generadas por este método, sin embargo, es que son exageradamente fuertes, por lo que es necesario apaciguarlas. Como esto se logra más fácilmente en el dominio de la frecuencia que en el dominio del tiempo (dominio en el que se realizaron los pasos anteriores), se calcula el espectro de las salidas rectificadas de los filtros. Una peculiaridad de SWIPE que lo diferencia de otros algoritmos es que el espectro no se calcula utilizando un tamaño de ventana único, sino que se utilizan distintos tamaños de ventana para distintos candidatos a altura, más precisamente, un tamaño de ventana por octava. El apaciguamiento de las armónicas se realiza mediante un filtro que trunca los componentes que están por encima de las frecuencias centrales de los filtros pasabanda y amortigua los componentes bajos. Luego se suman los espectros para formar un espectro mejorado. Finalmente, se compara el espectro mejorado con un conjunto de plantillas que emulan el espectro de ondas diente de sierra de distintas frecuencias, y se declara la altura como la frecuencia correspondiente a la plantilla que se asemeja más al espectro de la señal. Alternativamente, se utiliza un conjunto de plantillas cuyas armónicas correspondientes a números compuestos (no primos) han sido removidas. Este enfoque fue utilizado en la propuesta original de SWIPE, produciendo muy buenos resultados. A la variación del algoritmo que utiliza estas plantillas se le denomina Aud-SWIPE0 . Resultados La eficacia de Aud-SWIPE(0 ) fue evaluada utilizando dos colecciones de datos de voces normales (la base de datos de Paul Bagshaw de la Universidad de Edinburgo [10], PB, y la de la Universidad de Keele [11], KU), una de voces disfónicas (VD)1 y una de instrumentos musicales (de la Universidad de Iowa)2 . Para simular la transmisión de estas señales por el sistema telefónico, se les aplicó un filtro pasabandas que conserva solo los componentes en el rango de 300 a 3400 Hz. Se exceptuó de este filtrado a la colección de instrumentos musicales debido a que la transmisión de música por el sistema telefónico tradicional se consideró inusual. La altura de las voces de las primeras dos colecciones fue estimada a partir de datos recolectados mediante un laringógrafo y la altura de las dos últimas a partir de un análisis auditivo realizado por el autor de este trabajo. El desempeño fue medido en términos de la tasa de errores gruesos, definidos como aquellos en que la altura estimada por el algoritmo tiene una desviación mayor al 20 % con respecto a la altura 1 2 Producida por KayPentax, New Jersey. Disponible en http://theremin.music.uiowa.edu. 2 Cuadro 1: Tasa de errores gruesos (b) Instrumentos musicales (a) Voz Errores gruesos (%) Algoritmo Algoritmo PB KU VD Prom. Aud-SWIPE0 RAPT Aud-SWIPE YIN AC SHS SWIPE SWIPE0 1,5 2,3 2,1 8,6 4,5 12 23 32 6,3 5,7 6 19 18 33 57 72 4,7 5,4 8,2 11 20 12 15 39 4,2 4,5 5,4 13 14 19 32 48 Aud-SWIPE0 Aud-SWIPE SWIPE0 SWIPE SHS YIN AC Errores gruesos (%) 0,37 0,70 1,1 1,3 1,9 2,4 3,2 real.3 La eficiacia de Aud-SWIPE(0 ) fue comparada con la del SWIPE(0 ) original y otros algoritmos ampliamente difundidos en la literatura: SHS [4],4 AC [1],4 RAPT [2]5 y YIN [3].6 Cabe aclarar que RAPT no fue evaluado sobre instrumentos musicales porque la implementación utilizada no permite establecer un rango de búsqueda para las alturas y el predefinido no cubre el de la colección. Los resultados se muestran en el cuadro 1. El algoritmo que produjo la menor tasa de error fue Aud-SWIPE0 , seguido de cerca por RAPT. Es importante notar sin embargo que el criterio de selección de candidatos de RAPT usa interacciones complejas entre ventanas consecutivas de la señal, lo que lo hace más sofisticado que la mayoría de otros algoritmos que utilizan solo información local para tomar decisiones. Cabe la posibilidad de que el uso de tales interacciones en otros algoritmos, incluyendo Aud-SWIPE(0 ), pueda hacerlos mejorar sustancialmente. Sin embargo, la exploración de tales técnicas está fuera del contexto de nuestro trabajo. Investigación futura Debido a que el espectro se calcula utilizando distintos tamaños de ventana, el costo computacional de SWIPE es sustancialmente más alto que el de otros algoritmos. Si a esto le agregamos el costo de la etapa de procesamiento introducido, el costo computacional se vuelve enorme. Afortunadamente, algunas partes del algoritmo se pueden paralelizar, por lo que uno de nuestros planes es implementar el algoritmo usando computación paralela. Otro plan es determinar la altura de fuentes sonoras simultáneas. Esta es una tarea compleja, ya que al combinar fuentes sonoras, sus espectros se suman, por lo que es difícil saber a cuál fuente corresponde cada componente de la señal. 3 Este es el estándar utilizado para medir el desempeño de estimadores de altura. Aunque a simple vista un umbral del 20 % puede parecer demasiado generoso, considerando que los errores que suelen cometer los algoritmos de estimación de altura es estimarla como un múltiplo o submúltiplo de la altura real, la medida tiene sentido. Además, tal permisividad es muchas veces necesaria en la práctica [5]. 4 Parte del sistema Praat, disponible en http://www.fon.hum.uva.nl/praat. 5 Parte del Speech Filing System, disponible en http://www.phon.ucl.ac.uk/resource/sfs. 6 Facilitado por su autor. 3 Referencias [1] P. Boersma. Accurate short-term analysis of the fundamental frequency and the harmonicsto-noise ratio of a sampled sound. En “Proceedings of the Institute of Phonetic Sciences”, tomo 17, páginas 97–110 (1993). [2] D. Talkin. A robust algorithm for pitch tracking (rapt). En W.B. Kleijn y K.K. Paliwal, editores, “Speech Coding and Synthesis”, capítulo 14, páginas 495–518. Elsevier Science, New York (1995). [3] A. de Cheveigné y H. Kawahara. YIN, a fundamental frequency estimator for speech and music. J. Acoust. Soc. Am. 111(4), 1917–1930 (2002). [4] D. J. Hermes. Measurement of pitch by subharmonic summation. J. Acoust. Soc. Am. 83(1), 257–264 (1988). [5] A. Camacho y J. G. Harris. A sawtooth waveform inspired pitch estimator for speech and music. J. Acoust. Soc. Am. 124, 1638–1652 (2008). [6] A. Klapuri y M. Davy, editores. “Signal Processing Methods for Music Transcription”. Springer, New York (2006). [7] A. S. Spanias. Speech coding: a tutorial review. Proceedings of the IEEE 82(10), 1541 –1582 (1994). [8] K. de Bot. Visual feedback of intonation I: Effectiveness and induced practice behavior. Language and Speech 26(4), 331–350 (1983). [9] A. Klapuri. Multipitch analysis of polyphonic music and speech signals using an auditory model. IEEE Trans. Audio, Speech, Lang. Process. 16, 255–266 (2008). [10] P. C. Bagshaw, S. M. Hiller y M. A. Jack. Enhanced pitch tracking and the processing of f0 contours for computer aided intonation teaching. En “Proceedings of the Third European Conference on Speech Communication and Technology”, páginas 1003–1006 (1993). [11] F. Plante, G. Meyer y W. A. Ainsworth. A pitch extraction reference database. En “Proceedings of the Fourth European Conference on Speech Communication and Technology”, páginas 837–840 (1995). 4