Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er...

27
Proyecto Especial 1er Cuat 2010 Clasificador de señales de música/habla SyS (66.74) 31 de Mayo 2010

Transcript of Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er...

Page 1: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010Clasificador de señales de música/habla

SyS (66.74)

31 de Mayo 2010

Page 2: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros
Page 3: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

ÍNDICE GENERAL

1. Introducción 51.1. Descripción general de las señales de música y habla . . . . . . . . 61.2. Funcionamiento de un clasificador automático . . . . . . . . . . . 10

2. Descripción de la realización del proyecto 15Paso 1:. Definición de las características para clasificación entre habla y

música . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Paso 2:. Diseño del clasificador . . . . . . . . . . . . . . . . . . . . . . . . . 18Paso 3:. Prueba del clasificador . . . . . . . . . . . . . . . . . . . . . . . . . 20Paso 4:. Otras características posibles . . . . . . . . . . . . . . . . . . . . . . 20

3. Apéndice 23

Bibliografía 25

El presente proyecto especial tiene como objetivo hacer uso de técnicas y herramien-tas de análisis de señales, aplicándolas a un problema práctico, de utilidad real. Enconcreto, se trata el problema de la discriminación automática entre señales de mú-sica y habla. Como se verá, estas señales poseen características distintivas que per-miten, mediante su procesamiento adecuado, clasificarlas dentro de uno u otro gru-po. Sin embargo, la discriminación eficiente entre señales de música y habla conti-núa siendo hoy un problema abierto.

La utilidad de un discriminador de estas características es variada; usos típicos son,por ejemplo, segmentar y extraer porciones de habla en transmisiones tipo broad-cast para su posterior procesamiento con un sistema ASR (Automatic Speech Recog-nition), utilizar dicha segmentación para cambiar el bitrate con el cual se realiza latransmisión, entre otros.

Para la realización del presente trabajo práctico es necesario que el alumno utilicelas siguientes herramientas estudiadas durante el transcurso del cuatrimestre:

Uso de espectrograma para analizar características espectrales, variantes en el

1

Page 4: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

tiempo.

Diseño y uso de filtros digitales.

Uso de DFT para la determinación del espectro de una señal.

Comprensión de los efectos del muestreo y submuestreo y el fenómeno de alia-sing.

Relación de las características espectrales de señales con su forma temporal.

Requisitos para la aprobación

Este trabajo práctico será evaluado exclusivamente en la fecha indicadaen el calendario y en el turno en el cual el alumno se halle inscripto. Lafecha de entrega del trabajo es inamovible, el alumno que no entregue sutrabajo en dicha fecha deberá considerarse libre. La evaluación del pro-yecto es individual y se hará en forma oral o escrita por los docentes auxi-liares. Por ese motivo las evaluaciones podrán fijarse para el día de la en-trega o posteriores, del modo que lo designen los docentes de cada grupo.Esto de ninguna manera implica que el trabajo pueda entregarse en fe-chas posteriores, sino sólo que la evaluación se puede realizar después,de acuerdo a la cantidad de alumnos de cada turno. Queda a criterio delos docentes de cada práctica exigir entregas parciales no definitivas (sinnota) para regular el desarrollo del trabajo por parte de los alumnos. Laevaluación final puede incluir preguntas sobre:

Items particulares sobre los ejercicios de esta guía y su implementación enMatlab.

Conceptos teóricos necesarios para realizar los ejercicios.

Puede requerirse también al alumno que implemente alguno de los ejer-cicios o similares en la computadora en el momento de la evaluación. Porlo tanto el alumno debe presentarse el día de la evaluación con:

Esta guía.

Las soluciones a los problemas planteados: Cuando el problema requiera unaimplementación, la misma debe estar adecuadamente descripta y debidamen-te justificada. Es decir, si es necesario justificación teórica, ésta debe estar desa-rrollada. Si se pide una implementación práctica la misma debe estar adecua-damente documentada de modo que el docente pueda constatar que las es-pecificaciones requeridas se cumplen. Esto incluye la presentación del progra-ma de MATLAB utilizado, y los gráficos necesarios para mostrar los resultadosobtenidos en formato electrónico e impresos. Se sugiere que el formato elec-trónico no dependa de que funcione internet para poder verse, para evitar in-convenientes. Todos los gráficos deberán tener título, comentarios en ambosejes sobre la unidad a representar y el eje de abscisas debe estar en unidades detiempo o frecuencia según corresponda.

2 Índice general

Page 5: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

Nota del trabajo práctico especial

El proyecto especial no tiene calificación numérica. Sólo existirán las ca-tegorías Aprobado/No aprobado. La aprobación del Proyecto Especial sinembargo es condición necesaria para la aprobación de la cursada. La no-ta final de cursada será la nota del parcial, aunque es posible que ésta seamodificada por la evaluación del Proyecto Especial tanto subiéndola co-mo bajándola hasta un máximo de 10 puntos.

Índice general 3

Page 6: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

4 Índice general

Page 7: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

CAPÍTULO 1

Introducción

La propuesta para este práctico consiste en diseñar un discriminador automático(un clasificador) cuyo funcionamiento se base en el análisis de características es-pectrales distintivas de las señales. Estas características nos permitirán mediante suprocesamiento adecuado clasificar a las señales como de habla o música, con un al-to grado de efectividad. En este trabajo se usarán dos características en principio,que serán complementadas posteriormente con otras características adicionales. Elinteresado puede consultar [1] para una revisión de otras características utilizadasfrecuentemente en discriminadores de música/habla.

En la figura 1.1 se ilustran los pasos a seguir en el proceso de clasificación: a par-tir de una señal de audio desconocida, primero deben extraerse sus característicaspara luego ingresarlas al clasificador y determinar así a qué clase (música o habla)pertenece.

Audio desconocido

Música?

Habla?

Extracción de

características

ClasificadorMúsica

Habla

Estructura armónica?Cruces por cero?Flujo espectral?Residuo cepstral?Combino todas? Cuáles uso?

Figura 1.1: Esquema a seguir para clasificar una señal de audio desconocida. La elec-ción de las características a extraer se analizará más adelante.

5

Page 8: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

1.1 Descripción general de las señales de música y habla

Con el fin de distinguir entre señales de música y habla, es necesario conocer la des-cripción general de ambos tipos de señales, para de este modo determinar qué ca-racterísticas serían útiles para su discriminación. Esta caracterización tiene que serconcreta, de modo que en base a ella se pueda diseñar un algoritmo matemático queactúe sobre las señales y permita identificar a qué clase pertenecen.

Análisis elemental de señales de habla

Las características espectrales de la señal de voz varían en el tiempo (son no-estacionarias) dado que el sistema físico que las genera cambia rápidamente en eltiempo [2]. Como resultado, la señal de voz puede ser dividida en segmentos de si-lencio y de sonidos de corta duración que poseen propiedades acústicas similares.Los sonidos de la voz son típicamente divididos en dos grandes categorías: (1) sono-ros, y (2) sordos.

Figura 1.2: Sistema de producción del habla.

Los sonidos sonoros son producidos forzando el aire a través de la laringe dondeestán alojadas las cuerdas vocales. La tensión de las cuerdas vocales se ajusta de ma-nera tal que vibran en forma oscilatoria, provocando una interrupción periódica delflujo de aire subglotal que a su vez resulta en un soplido casi periódico de aire. El ai-re pulsante atraviesa luego los conductos del tracto vocal hasta su salida al exterior.El sonido producido por la laringe es llamado sonoro o con fonación. Este tipo desonido puede verse desde un punto de vista espectral como una señal pulsante queconsiste en una frecuencia fundamental (F0) y sus componentes armónicos (múl-tiplos de la frecuencia fundamental), que será la señal de entrada al tracto vocal ycuya salida exterior será el sonido sonoro. El tracto vocal funciona como un resona-dor, modificando la calidad espectral de la señal de excitación, alterando la amplitud

6 Capítulo 1. Introducción

Page 9: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

individual de los picos definidos por los armónicos de la frecuencia fundamental. Eltracto vocal es un resonador variable, cuya forma se adapta para cada uno de losfonemas que componen nuestro vocabulario.

El término formante se utiliza para indicar el centro de estas frecuencias de resonan-cia, en el cual la concentración de energía es mayor. Los formantes en el espectro sonusualmente llamados F1, F2, F3,...., comenzando con el de menor frecuencia. Cadadistinto sonido del habla tiene una distinta distribución de formantes. Por ejemplo,los primeros dos formantes F1 y F2 del fonema /a/ se dan aproximadamente en 800Hz y 1200 Hz. La frecuencia fundamental y frecuencias de formante son probable-mente los conceptos más importantes en la producción y análisis del habla en gene-ral.

Ejemplos de fonemas sonoros son todas las vocales, los fonemas /b/, /d/, /l/, entreotros.

Figura 1.3: a) Forma de onda del fono /a/ y b) su respectiva magnitud del espectro.

Los sonidos sordos en cambio, son generados con las cuerdas vocales distendidas demodo que el flujo del aire es libre a través de la laringe, pero formando una constric-ción en algún punto a lo largo del tracto vocal, dando origen a turbulencias que dehecho pueden ocurrir en varios sitios del tracto. Con sonidos puramente sordos, nohay ninguna frecuencia fundamental en la señal de excitación y por lo tanto ningu-na estructura armónica, pudiendo considerar a la excitación como ruido blanco. Lossonidos sordos son también por lo general más silenciosos y menos estables que lossonoros.

Ejemplos de fonemas sordos son /p/, /f/, /t/, /s/, entre otros.

Los sonidos sordos y sonoros se alternan en rápida sucesión en una señal de habla,dando su aspecto característico al espectro: zonas de alta energía y calidad armónica,

1.1. Descripción general de las señales de música y habla 7

Page 10: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

Figura 1.4: a) Forma de onda del fono /t/ y b) su respectiva magnitud del espectro.

alternado con pequeños espacios de aspecto ruidoso, o silenciosos con pequeñasexplosiones como el caso de la /k/ y la /p/.

Ejercicios

1. Utilizando un micrófono y algún software de grabación, grabe una palabra ofrase a su elección. Grafique la señal generada y realice una segmentación vi-sual, identificando cada fonema y clasificándolos en sonoros y sordos. Rela-cione dicha clasificación con su forma temporal, y justifique su análisis congráficos. 1

2. De la clasificación anterior, seleccione dos fonemas sonoros y dos sordos y gra-fique el módulo del espectro, estimándolo con la transformada rápida de Fou-rier. Identifique, para los fonemas que correspondan, la frecuencia fundamen-tal y sus armónicos. Relacione lo obtenido con la forma temporal.

3. Realice el espectrograma de lo grabado en el punto 1, de forma tal que se obten-ga una buena visualización tanto en tiempo como en frecuencia; es decir, debepoder discernirse cuándo ocurre cada fonema, a la vez que deben distinguirselas características espectrales de cada uno. Justifique la elección de la ventanautilizada.

4. Visualice y explique el porqué de las líneas en el espectro. ¿Es igual la energíade cada línea en todo el rango de frecuencia?

1Un programa útil para ello es Wavesurfer, que un software desarrollado en el Department ofSpeech, Music and Hearing perteneciente al KTH Royal Institute of Technology, Suecia. Es un softwa-re open source, que funciona bajo Linux o Windows y permite grabar, visualizar, y reproducir señalesde audio o alguna selección de la señal, su espectrograma, formantes, F0, etc, etc.

8 Capítulo 1. Introducción

Page 11: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

5. Identifique en el espectrograma cada uno de los fonemas que componen laseñal, y muestre aproximadamente la ubicación de los formantes en el caso delos sonoros. Si sólo se quisiera visualizar la posición del formante sin identificarlos armónicos de la señal ¿qué ancho de ventana le conviene utilizar? ¿En quédifiere del que utilizó para visualizar las líneas del espectro?

Análisis de las señales de música

A diferencia de las señales de habla, la categoría “señales de música” denota a unconjunto demasiado amplio de señales como para dar una caracterización general.Esto es debido a la gran diversidad que se tiene cuando se considera al término “mú-sica” en general. Sin embargo, si se consideran solo las señales de música enmarca-das dentro de los estilos más o menos populares, como los que pueden escucharseen una radio de FM, pueden llegar a identificarse ciertos aspectos clave que seránútiles para distinguirlas de las señales de habla.

En lo que concierne a las características espectrales, puede asegurarse con ciertageneralidad que las señales de música, en comparación con las de habla, presentanlas siguientes características:

Una cantidad relativamente alta de picos en el espectro.

Un mayor número de armónicos pero provenientes de diversos instrumentossonoros tocando en forma conjunta, consecuencia en parte del item anterior.

Un espectro más “uniforme” en el transcurso del tiempo en lo que respecta aenergía, debido a que las señales de habla tienen mucha alternancia entre bajaenergía en los segmentos sordos y los sonoros.

Si se considera a la música como una superposición de varios sonidos los cuales, ensu mayoría, son originados por instrumentos tonales (es decir, que necesitan afina-ción) entonces las aseveraciones anteriores quedan justificadas a partir del hechode que dichos instrumentos emiten sonidos que presentan una estructura armóni-ca regular. Es de esperar entonces que un segmento musical presente una mayorcantidad de armónicos que un segmento de habla, pero que tanta superposiciónaparezca reflejada a veces como un espectro “ruidoso” donde no se puede distinguirvisualmente de un espectro de ruido. Cuando hay instrumentos solistas tocando, engeneral estos presentan un espectro parecido al del habla, pero sin alternancia conpequeños segmentos de fonemas sordos.

Ejercicios:

6. En el directorio wavfile hay muestras de señales de música. Seleccione algunosarchivos y verifique mediante el espectrograma las características enunciadas,indicando las diferencias que existen en la estructura armónica con respecto ala señal de habla.

1.1. Descripción general de las señales de música y habla 9

Page 12: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

1.2 Funcionamiento de un clasificador automático

En esta sección se explicarán los principios elementales de funcionamiento de unclasificador automático. La teoría completa sobre este tema es un campo entero deestudio, con lo cual en esta breve introducción solo se describirá algunos tipos sim-ples de clasificadores, basado en criterios empíricos. El interesado puede consultar[3], [4], [5] para más detalles sobre clasificación de patrones.

Para comprender la operación de un clasificador, se introducirán los conceptos pormedio de un ejemplo. Suponga que se tiene una población de personas, a las cualesse desea clasificar en dos clases diferentes: hombres o mujeres. Lo primero que senecesita determinar para construir el clasificador es un conjunto de característicasque sean de utilidad para realizar dicha clasificación. Suponga que se elige clasifi-car a las personas mediante su peso y altura. Entonces, el clasificador operará de lasiguiente manera:

Se elige una persona al azar de la población, es decir, se toma una muestra dela población.

Se registra peso y altura de la persona, es decir, se extraen las características dela muestra.

Se compara el peso y la altura registrados con valores típicos para hombres ymujeres, y se clasifica según a cuál se aproxime más, utilizando algún criteriode cercanía como se detalla más adelante.

Para llevar a cabo el último paso, el clasificador debe tener almacenados, previo a laclasificación, dichos valores típicos. Usualmente, estos valores no se conocen y de-ben estimarse a partir de una población de muestras de entrenamiento que se tomanpreviamente a la clasificación. Estas muestras de entrenamiento, que se consideranrepresentativas de la población entera, se sabe de antemano a qué clase pertenecen(en este caso, si son hombres o mujeres). El proceso de entrenamiento del clasifica-dor consiste en almacenar los valores de las características de cada una de las mues-tras de entrenamiento separadas por clases entre las que haya que discriminar. Estetipo de entrenamiento se denomina supervisado, es decir, el clasificador “aprende” adiscriminar con las muestras de entrenamiento que le son suministradas, de las queconoce su pertenencia a una clase u otra.

En la figura 1.5 se muestra el proceso de clasificación de una muestra desconocida.Al confeccionar este clasificador, se cargaron los datos de peso y altura de 20 hom-bres y 20 mujeres (es decir, éstas fueron las muestras de entrenamiento). Puede verseuna separación clara entre las características de hombres y mujeres, con lo cual pue-de decirse que dichas características son útiles a la clasificación. Al llegar una nuevamuestra, se la compara con el resto, y se elige clasificar en hombre o mujer segúnalgún criterio de cercanía. Por ejemplo, se elige clasificar a la nueva muestra asig-nándole la misma clase que la muestra de entrenamiento más cercana. Entonces, lamuestra de 1.80 m de altura y 80 kg de peso es así clasificada como hombre.

Una extensión de este método efectiva y simple de implementar es el conocido comok-vecinos más cercanos, en el cual se buscan las k muestras de entrenamiento más

10 Capítulo 1. Introducción

Page 13: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

1.6 1.65 1.7 1.75 1.8 1.85 1.9 1.9550

60

70

80

90

100

110

120

Altura (m)

Pes

o (k

g)

HombreMujerDesconocido

Figura 1.5: Clasificación de una muestra desconocida según el criterio del vecinomás cercano. Se asigna a la muestra desconocida la misma clase que la muestra deentrenamiento más cercana.

cercanas a la que se desea clasificar (siendo k un número impar a elección), y seclasifica según qué clase posea más muestras entre esas k. Por ejemplo, eligiendo k =3, si de las 3 muestras más cercanas a la que se desea clasificar hay 1 que correspondea la clase “hombre” y 2 a la clase “mujer”, entonces será clasificada como “mujer”.

1.2. Funcionamiento de un clasificador automático 11

Page 14: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

Ejercicios

7. [OPTATIVO] Genere 100 muestras aleatorias bidimensionales con distribuciónGaussiana de 2 clases diferentes, una clase A con media [10, 10] y desvío [5, 5] yotra clase B con media [0, 25] y desvío [5, 5]. Asuma independencia entre las di-mensiones (características). Construya en base a ellas un clasificador de veci-nos más cercanos. Genere luego 20 muestras más de cada clase y clasifíquelas,indicando el error cometido en función del k elegido.

Otro criterio posible de clasificación es decidir que una muestra pertenece a una uotra clase de acuerdo a si está más cerca o más lejos de un elemento representativode cada clase. Por ejemplo, en el ejemplo optativo anterior, podemos decidir que lamuestra pertenece a la clase A si sus características están más cerca de [10, 10] que de[0, 25], midiendo la distancia euclídea a dicho punto. En un caso más real la mediade las clases no se conoce y debe ser estimada a partir del conjunto de muestras deentrenamiento. En estos casos, la clasificación se puede ver como el trazado de una“frontera” en el espacio de características, determinada por la posición de todas lasmedias de las clases.

El caso más simple de frontera posible que se puede utilizar es la frontera lineal, don-de el límite entre las zonas correspondientes a cada clase es una recta para el caso de2 características, o en general un hiperplano. Este tipo de clasificador suele llamarsediscriminador lineal, o LDA por sus siglas en inglés (Linear Discriminat Analysis).

12 Capítulo 1. Introducción

Page 15: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

Ejercicios

8. [OPTATIVO] Para el caso anterior, genere puntos que pertenezcan a la frontera,es decir que estén a la misma distancia de una y otra media de cada clase. Lafrontera es una forma práctica de visualizar la clasificación, ya que marca jus-to la división entre la pertenencia a una u otra clase. Utilizando esta fronteraclasifique las 20 muestras de test generadas con la distribución anterior, segúnde qué lado aparezcan. Compare los resultados obtenidos en este caso con elclasificador de vecinos más cercanos.

En todos estos casos de clasificación por cercanía, la distancia con la cual medimos lacercanía es la distancia euclídea. Pero es posible determinar otros tipos de distanciasdonde no todas las direcciones en el espacio tengan el mismo peso. En general ese esel criterio adoptado en los clasificadores más exitosos, donde la distancia utilizadaes la distancia de Mahalanobis. En este tipo de distancia cada componente es pesadapor la covarianza en dicha dirección. Este efecto puede verse ilustrado en el siguienteejemplo optativo:

Ejercicios

9. [OPTATIVO] Genere 100 muestras aleatorias bidimensionales con distribucióngaussiana conjunta no independiente, una clase A con media [10, 10] y otra cla-se B con media [0, 10]. La sigma de cada componente será 5 como en el ejemploanterior, pero coeficiente de correlación r=0.95. ¿Qué pasaría si se utiliza la mis-ma frontera que en el caso anterior?

La frontera perpendicular a la recta que une las medias no es apropiada por la corre-lación de las características y su relación geométrica a la recta que une las medias.En este caso los puntos que equidistan en distancia de Mahalanobis de cada mediapuede ser calculada por medio de la siguiente ecuación:

xT .Σ−1(µ1 − µ2) =1

2µT

1 .Σ−1µ1 −

1

2µT

2 .Σ−1µ2 + log(N1/N2)

donde x es el vector de características escrito como x =

[x1

x2

], µ1 y µ2 son las medias

escritas en forma de vector también, la matriz Σ es la matriz de covarianza, es decir

Σ =

[σ2

1 rσ1σ2

rσ1σ2 σ22

], y N1 y N2 son las cantidades de puntos de entrenamiento de

cada clase. La ecuación anterior puede reescribirse de la forma x1.a1 + x2.a2 = a0,donde los coeficientes a1 y a2 que dan la dirección de la recta frontera son calculadoscomo la proyección del vector que une las medias (µ1 − µ2) en las direcciones dadaspor la matriz de covarianza. El coeficiente a0 que es igual al segundo término dela ecuación anterior, nos dará el punto justo de ubicación del origen de la fronterasobre la recta de separación de las medias. Esta forma de de escribir la recta fronteranos permite despejar x2 en función de x1 para su graficación. (Véase el apéndice finalde Matlab para generar variables aleatorias correlacionadas)

1.2. Funcionamiento de un clasificador automático 13

Page 16: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

14 Capítulo 1. Introducción

Page 17: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

CAPÍTULO 2

Descripción de la realización delproyecto

Los pasos a seguir en la realización del proyecto son los siguientes:

En primer lugar, se definirán las características propuestas para distinguir mú-sica de habla.

Luego, se realizará el diseño del clasificador, que a su vez consta de tres etapas.En primer lugar, se deberá diseñar un algoritmo para extraer dichas caracterís-ticas. Una vez logrado, se lo aplicará a un grupo de señales de entrenamiento(train), que consisten en archivos de música y habla previamente separados eidentificados obteniendo así las características que se considerarán típicas pa-ra la clasificación. Finalmente, con dichas características calculadas, se armarála función de clasificación.

Por último se usará el clasificador sobre un conjunto de señales de música yhabla de prueba (test), distintas a las de entenamiento, y se contabilizarán losaciertos y fracasos obtenidos, obteniendo así el porcentaje de error del clasifi-cador.

El trabajo se completará agregando más características al clasificador y eva-luando si la clasificación mejora.

Paso 1: Definición de las características para clasificaciónentre habla y música

Según lo desarrollado en las secciones anteriores, las características propuestas paraarmar el clasificador son las siguientes:

1. Media de la cantidad de líneas en el espectro sobre las partes que no son silen-cios.

2. Desvío estándar de la cantidad de líneas en el espectro sobre las partes que noson silencios.

15

Page 18: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

Para generar ambas características, es necesario calcular para cada frame el númerode líneas que posee, y luego se computará media y desvío estándar de la secuen-cia de valores obtenida para toda la señal. Así, para cada señal de audio, las carac-terísticas extraídas consisten simplemente en un par de números [media_líneas,

std_líneas].

Un frame consiste en el espectro que se observa al ventanear un segmento de señal,es decir, cada frame se corresponde con una columna en el espectrograma. Una líneaconsiste en una sucesión de máximos en la energía del espectro, que se mantienendentro de una cierta frecuencia, y se visualizan más o menos horizontalmente en elespectrograma. Estos dos conceptos se ilustran a continuación:

Tiempo (s)

Fre

cuen

cia

(Hz)

0 0.5 1 1.5 20

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

FRAME

LINEAS

Figura 2.1: Espectrograma de señal de habla indicando la posición de las líneas y losframes. Observe como los frames con líneas comienzan a sucederse desde el segun-do 0.4 en adelante

El algoritmo a diseñar debe recibir como entrada una señal de audio, y dar comosalidas el número medio y el desvío estándar de líneas en el espectro de dicha señal.

Esquema tentativo del algoritmo para determinar las características dela señal de entrada:

Nota: se recomienda utilizar alguna de las señales de habla de la carpeta wavfi-le/train para pruebas durante el desarrollo del algoritmo.

Paso 1.a. Normalice la señal de entrada, restándole la media y dividiéndola por su ener-gía media.

Paso 1.b. Realice un espectrograma de la señal, similar al del ejercicio 8. Deberá tenerseespecial cuidado en el tipo y largo de la ventana utilizada. El largo de la ventana

16 Capítulo 2. Descripción de la realización del proyecto

Page 19: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

debe permitir visualizar en forma clara los picos de la señal, ya que en base aellos se determinará la presencia de un continuado de picos sobre varios fra-mes, es decir, una línea. La ventana debe respetar la estructura fonética de laseñal, es decir no extenderse más allá de la duración de un fonema. Además eltipo de ventana utilizada puede dar lugar a la aparición de picos espúreos (nopertenecientes al verdadero espectro de la señal, sino que son debidos a la vi-sualización). Determine DETALLADAMENTE qué tipo de ventana utiliza pararealizar el espectrograma basado en dichas indicaciones.

Paso 1.c. Utilizando la densidad de energía (módulo al cuadrado del espectro) deberádetectarse para cada frame si posee o no picos en frecuencia. Establezca paraello umbrales. Para empezar, un frame será considerado silencio si no superaa cierto porcentaje de la energía media (a determinar). Luego, si el frame noes silencio, se lo procesará. Determine los picos utilizando la derivada segunda(diferencia segunda). Luego descarte los picos que no superen algún valor de-terminado por la normalización (algún porcentaje del pico máximo del espec-tograma, o de la energía media, etc.) ¿Mejora la detección de picos si procesa alespectro en dB (escala logarítmica)? Justifique.1

Paso 1.d. [OPTATIVO] Implemente el punto anterior utilizando un umbral variable, esdecir, que decrezca conforme aumenta la frecuencia. ¿Cómo debe ser la fun-ción de decrecimiento? Refiérase al ejercicio 4 para justificar.

Paso 1.e. Determinación de las líneas del espectro: los máximos hallados para un framedado deben ser la continuación de los máximos de un frame anterior, o biengenerarse como nuevos y que se continúen en frames sucesivos. Es decir, debenformar parte de una línea. Para esto, realice un seguimiento de los máximosdetectados. Los máximos formarán parte de una línea si no varían más quecierto valor en Hz entre frames sucesivos (también a determinar). Con esto setendrán determinadas las líneas del espectro. A continuación, elimine aquellasque considera que son de duración muy corta. Esto previene clasificar comolíneas máximos espúreos en frecuencia. 2

Paso 1.f. Contabilice la cantidad de líneas para cada frame que las posea. Esta secuen-cia temporal de números caracteriza a la señal y debería notarse mediante unainspección visual que las secuencias de cantidades de líneas para habla y paramúsica tienen características diferentes. Finalmente calcule a partir de esas se-cuencias el valor medio de esta secuencia y desvío standard, que constituyenlas dos características obtenidas para esa señal. 3

1Nota de ayuda en la implementación: el umbral elegido estará guiado por el criterio de captar lospicos relevantes solamente; si cada máximo local del espectro es detectado como pico, entonces esprobable que considere casi todo el espectro como pico, y todos ellos sean luego considerados comoparte de una línea. Un valor de pico relevante por ejemplo los constituyen los picos correspondientesa los armónicos de una porción sonora. Un pico no relevante son los debidos a ruidos de fondo o a pi-cos de las porciones ruidosas del habla. En las señales de música un pico relevante serían los mayoresarmónicos solamente, que corresponderían a la frecuencia F0 (fundamental) de cada instrumento.

2Nota de ayuda en la implementación: Grafique sobre el espectrograma de la señal que grabó enel ejercicio 1, los picos relevantes detectados y el seguimiento de las líneas realizado con el algoritmo.

3Notas de ayuda de implementación de gráficos en matlab: suponga que luego de procesar un ar-chivo completo de audio se hallaron M líneas máximo para algún frame. Genere una matriz X con M

columnas y N filas, siendo N el número de frames de la señal. La columna i-ésima de la matriz estará

Paso 1:. Definición de las características para clasificación entre habla y música 17

Page 20: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

Time

Fre

quen

cy

0 0.5 1 1.5 20

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Figura 2.2: Ejemplo de detección de líneas en señal de audio. Se grafican en colornegro, superpuestas al espectrograma

Paso 2: Diseño del clasificador

Se propone realizar un clasificador del tipo k-vecinos más cercanos. En esta sección,deberán utilizarse los archivos de audio de entrenamiento de música y de habla dela base de datos. Las características de dichos archivos deberán ser extraídas por elalgoritmo diseñado en el punto anterior, para luego ser cargadas al clasificador, demanera que se obtenga un espacio de características similar al de la figura 1.5. En lafigura 2.3 se ilustra el uso de dichos archivos en la confección del clasificador, y supuesta a prueba:

Paso 2.a. Aplique el algoritmo diseñado en el item anterior a todas las señales de entre-namiento de música y habla. Con esto, obtendrá el espacio de características.

Paso 2.b. Grafique el espacio de características obtenido, y determine si son útiles o no ala clasificación. En caso de no serlo, deberá reverse el diseño del algoritmo dedetección de líneas del espectro.

Paso 2.c. Programe un algoritmo de clasificación para k-vecinos más cercanos, similar aldel ejercicio 7, que utilice el espacio de características obtenido.

asociada a la línea i-ésima del espectro. Asumiendo que la línea i-ésima se dio entre los frames fa a fb,asigne a las posiciones fa a fb de la columna i-ésima de la matriz las frecuencias que tomó dicha líneapara cada frame, y NaN al resto de los elementos. Grafique, en superposición con el espectrograma, lamatriz generada, usando el comando PLOT(X). Los elementos NaN no son graficados, son invisibles.

18 Capítulo 2. Descripción de la realización del proyecto

Page 21: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

Archivos de Música

Entrenamiento Test

Archivos de Habla

Test Entrenamiento

Clasificador

Extracción de

características

Armado del

clasificador

Clasificación

Figura 2.3: Uso de los archivos de audio para la confección del clasificador y el pro-ceso de clasificación.

Paso 2:. Diseño del clasificador 19

Page 22: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

Paso 2.d. [OPTATIVO] Programe el algoritmo de clasificación lineal (LDA). Para ello es-time las medias de cada clase como el promedio de las características de cadaclase, y la matriz de covarianza como la media de los productos externos de lascaracterísticas, es decir, el promedio de las matrices formadas por los produc-tos externos x.xT , con x escrito como vector columna de las características.

Paso 3: Prueba del clasificador

En esta última sección se pondrá a prueba el clasificador diseñado.

Paso 3.a. Extraiga las características de las señales de música y habla de test, y clasifíque-las. Obtenga el error cometido.

Tentativamente, deberá lograrse una tasa de aciertos mayor al 75 % con el primerjuego de características, tanto para audio como para música. La clasificación deberíamejorar agregando más características, sobre todo las temporales. También puedecompararse este resultado con el obtenido mediante el clasificador lineal.

Paso 4: Otras características posibles

Otras características importantes que pueden ayudar a distinguir las señales de mú-sica de las de habla son las características temporales: las envolventes de la señal dehabla pueden ser más variables, mientras que las de la música pueden ser muchomás suaves, o variar en forma escalonada de acuerdo a la cantidad de instrumen-tos utilizados en cada momento. Usar dichas características puede aportar muchariqueza a la discriminación porque son características no espectrales, descorrelacio-nadas del número de líneas del espectro que es nuestra característica básica.

Paso 4.a. Implemente un detector de envolvente simple: genere un rectificador simplede la señal elevando la señal al cuadrado. Luego filtre la señal con un filtro pa-sabajos, por ejemplo un filtro MA, o sea un filtro FIR con coeficientes dados poralgún tipo de ventana. También es posible hacer un filtro como el que usan lasradios AM que consiste de un capacitor y una resistencia. Esto es equivalente aun filtro IIR de primer orden. Superponga el gráfico de la envolvente al gráficode la señal temporal para encontrar el ancho de la ventana o la constante detiempo adecuada, según se utilice un filtro FIR o IIR. A partir de la nueva se-ñal envolvente, genere algún descriptor estadístico útil, como media y desvío,o bien cantidad de frames que son menores que un umbral, etc. y agrégueloscomo nuevas características del discriminador.

Paso 4.b. [OPTATIVO] Para mejorar la clasificación, agregue nuevas características al cla-sificador. La media y el desvío estándar son dos descriptores estadísticos sim-ples de una secuencia. Otros descriptores estadísticos son útiles, como porejemplo la distancia intercuartil (distancia entre los puntos de probabilidadacumulada 1/4 y 3/4) o la razón entre la media y la moda (la moda es el punto

20 Capítulo 2. Descripción de la realización del proyecto

Page 23: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

de frecuencia de aparición máxima). También es posible hacer descripcionestemporales de la señal basado simplemente en obtener la cantidad de crucespor cero, que son indicadores de los silencios de la señal. Esta última caracte-rística generalmente favorece la discriminación en la clasificación. A partir delas líneas detectadas del espectro también es posible construir otra secuenciarepresentativa de la discriminación, como por ejemplo la cantidad de líneasque pueden ser consideradas armónicos de una fundamental. De esa secuen-cia también pueden calcularse la media y el desvío standard y usarse conjun-tamente con las características halladas anteriormente.

Submuestreo de las señales

Debido a que las características espectrales para señales de audio decrecen nota-blemente con el aumento de frecuencia, es de esperar que con una frecuencia demuestreo menor a la original puedan obtenerse buenos resultados, reduciendo sig-nificativamente el trabajo de computación.

1. Cargue los coeficientes del filtro FIR filtro_lp.mat. Calcule y grafique su res-puesta al impulso y su respuesta en frecuencia. ¿Cómo utiliza DFT para calcularesto último?

2. ¿Qué tipo de filtro es? ¿Qué puede decir acerca de la fase? ¿Cómo se relacionacon la respuesta al impulso?

3. Repita el proceso de armado del clasificador y de clasificación utilizando el fil-tro como antialiasing, decimando las señales en el máximo factor que se pueda.Justifique el valor de dicho factor, y ajuste la ventana de los espectrogramas deacuerdo con esto. Compare el porcentaje de aciertos obtenidos con los resulta-dos anteriores.

4. ¿Qué sucede si no se realiza el filtrado previo a la decimación? Elija una señal ymuestre el espectrograma que se obtiene decimando la señal con y sin filtrado.

Paso 4:. Otras características posibles 21

Page 24: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

22 Capítulo 2. Descripción de la realización del proyecto

Page 25: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

CAPÍTULO 3

Apéndice

En este apéndice listamos varias funciones de MATLAB que pueden resultar de utili-dad en la resolución de algunos de los problemas.

Para manipular archivos de audio:

[Y,FS] = wavread(`file')

wavwrite(Y,FS,`wavefile')

sound(Y,FS)

Ejemplo de código para cargar múltiples archivos wav:

archivos = dir('wavfile/train/music/*.wav');

for k=3:numel(archivos)

[aux,fs] = wavread(['wavfile/train/music/' archivos(k).name]);

extraer_features(aux);

end

Para procesar señales:

B = specgram(a,nfft,fs,window,numoverlap)

X = fft(x,nfft)

X = fftshift(x)

C = conv(a,b)

Y = filter(b,a,x)

[H,W] = freqz(b,a,n)

[Y,I] = max(x)

[R,C] = find(expr)

Y = downsample(x,n)

Y = mean(x)

Y = diff(x)

Operadores �, �, �=, �=, ==, ~=

Para graficar y crear ejes:

X = linspace(x1, x2, n)

X = logspace(x1, x2, n)

hold on

23

Page 26: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

Proyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla

plot(x,y)

xlabel(`text')

ylabel(`text')

title(`text')

imagesc(x)

surf(x,y,z,c)

colormap(map)

colorbar

scatter(X, Y)

Nota: pueden graficarse múltiples vectores en superposición si se los agrupa comocolumnas dentro de una matriz.

Para señales aleatorias:

randn(m,n)

cov(x, y)

Implementación de Variables aleatorias no descorrelacionadas:

La covarianza de dos variables aleatorias descorrelacionadas es una matriz diagonal.Para generar v.a. correlacionadas, es suficiente un cambio de base que transforme lasvariables independientes a otras variables, combinación lineal de las primeras:

X = sqrt(s)*randn(2,1000) % V.A. independientes

Y = A*X % V.A. correlacionadas

donde A es la matriz de cambio de base, y s es la matriz diagonal cuyos valores sonlas varianzas de cada una de las componentes de X. Entonces la matriz de covarianzade las nuevas V.A. en el vector Y será la expectación de los productos externos de lasvariables aleatorias:

Sy = Y*Y'/1000 % verificar que es igual a A*s*A'

Si el dato de que disponemos es la matriz de covarianza Sy que deberían tener nues-tras variables, se puede generar el vector Y partiendo de un vector de variables X des-correlacionadas, y obtener la matriz A como la matriz de autovectores de la descom-posición de Sy.

[A,s] = eig(Sy)

24 Capítulo 3. Apéndice

Page 27: Proyecto Especial 1er Cuat 2010materias.fi.uba.ar/6607/adicional/tpe_101c.pdfProyecto Especial 1er Cuat 2010, Clasificador de señales de música/habla tiempo. Diseño y uso de filtros

BIBLIOGRAFÍA

[1] M. Carey, E. Parris, and H. Lloyd-Thomas, “A comparison of features for speech,music discrimination,” Acoustics, Speech, and Signal Processing, IEEE Internatio-nal Conference on, vol. 1, pp. 149–152, 1999.

[2] J. L. Flanagan, Speech analysis: synthesis and perception; 2nd ed., ser. Kommuni-kat. und Kybernetik Einzeldarstellungen. Berlin: Springer, 1972.

[3] R. O. Duda and P. E. Hart, Pattern Recognition and Scene Analysis. John Wiley,1973.

[4] T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning.Springer-Verlag New York, Inc., 2009.

[5] V.N. Vapnik, The nature of statistical learning theory. New York, NY, USA:Springer-Verlag New York, Inc., 1995.

25