¿Cuál es la interpretación gráfica correcta de una serie de vectores MFCC?


7

Estoy estudiando el reconocimiento de voz, en particular el uso de MFCC para la extracción de características. Todos los ejemplos que he encontrado en línea tienden a graficar una serie de MFCC extraídos de un enunciado particular de la siguiente manera (gráfico generado por mí desde el software que estoy escribiendo):

Vectores MFFC por característica Como puede ver en el gráfico anterior:

  • el eje x se usa para cada uno de los coeficientes MFC (de 1 a 12 en este ejemplo)
  • el eje y se usa para los valores de los coeficientes (que varían aproximadamente de -12 a 42 en este ejemplo)
  • tiene tantas líneas como cuadros o vectores de características que ha extraído (140 en este ejemplo).

Ahora, esto no tiene mucho sentido para mí, porque lo que estamos viendo aquí, es la superposición de todos los vectores de características a la vez, perdiendo información en cualquier momento. Me está costando entender cómo es útil esta representación.

En mi opinión, representaría los vectores extraídos de la siguiente manera (nuevamente, gráfico generado por mí):

Vectores MFCC por cuadro

En el gráfico de arriba:

  • el eje x es el número de cuadro o vector (1 a 140)
  • el eje y son los valores de los coeficientes (nuevamente, de -12 a 42 aprox)
  • tiene una línea para cada función (12).

Para mí, esta representación debería ser más útil porque puede ver la evolución en el tiempo de cada característica en particular, y en mi opinión eso debería tener un impacto más fuerte sobre cómo aplicar algoritmos de comparación en palabras habladas.

Tal vez las dos representaciones son igualmente válidas y útiles para diferentes propósitos, muy parecido a cuando se necesita estudiar una señal en el dominio del tiempo o en el dominio de la frecuencia, pero en el caso del reconocimiento de voz, esperaría la evolución en el tiempo de cada individuo. característica para ser más significativo que la densidad de valores para cada característica (y tal vez estoy completamente equivocado: P).

Entonces, dos preguntas de hecho:

  1. ¿Por qué la primera representación es la que parece ser ampliamente utilizada y no la segunda?
  2. Cuando desea comparar dos conjuntos de MFCC extraídos, por ejemplo, utilizando Dynamic Time Warping - DTW, y relacionado con este tema, ¿compara los vectores de características (es decir, 140 vectores de 12 características) o los cuadros (12 vectores de 140 cuadros )? (en otras palabras, MxN o NxM?)

¡Gracias!


Estás completamente equivocado Los coeficientes individuales tienen poco sentido, debe considerarlos en su conjunto como un vector de 12 dimensiones.
Nikolay Shmyrev

¿cuidado para elaborar? ¿Por qué el voto negativo?
jotadepicas

brillante, rechazar una pregunta porque el que pregunta está (supuestamente) equivocado
Robert

Voto negativo porque citó información de Internet y no proporcionó el enlace, por lo que es imposible explicarle las intenciones originales del autor.
Nikolay Shmyrev

de acuerdo con stackoverflow.com/help/privileges/vote-down está haciendo un uso incorrecto de los votos negativos, en particular "No se entiende como un sustituto de la comunicación y la edición". y "Si algo está mal, deje un comentario o edite la publicación para corregirlo". Por cierto, esos gráficos fueron generados por mí con el software que estoy escribiendo y como parte de mi esfuerzo por escribir una buena pregunta, por lo que no hay un enlace de Internet para ellos. Si me refiero a los "ejemplos en línea" que menciono, puedo agregar enlaces, pero como ese es el enfoque general aceptado como usted reconoce, no estoy seguro de si hará alguna diferencia.
jotadepicas

Respuestas:


10

La forma en que siempre se usan los MFCC es introduciéndolos en el clasificador. Esto se puede hacer cuadro por cuadro ( 12x1vector) o concatenando ( 12xN), lo mismo que un espectrograma.

Por lo tanto, para DTW, debe realizar la clasificación calculando la distancia entre los vectores 12D. Es una deformación dinámica del tiempo , por lo que la diferencia debe calcularse entre cuadros en el dominio del tiempo , no entre muestras en un "dominio de una sola característica".

Aquí hay una representación gráfica de eso:

ingrese la descripción de la imagen aquí


Solo un apéndice sobre el trazado de MFCC. No tiene sentido mirar la gráfica de línea de todos los vectores MFCC apilados juntos (primera imagen), y no es realmente útil observar la evolución temporal de todos los MFCC (segunda imagen). No existe un concepto de representación gráfica correcta para los MFCC a menos que desee lograr algo específico.

En primer lugar, se puede trazar una distribución (histograma) de cada MFCC para ver cuáles son los valores típicos, etc. Especialmente si tiene un modelo GMM entrenado para una señal, puede trazar la distribución de la muestra de prueba y superponerla con un PDF de GMM en esa dimensión

El segundo enfoque sería trazar los MFCC de manera similar a un espectrograma (como se muestra en la imagen de arriba). Uno podría querer usarlo para "una buena representación" o para ver las tendencias y patrones generales. Pero es casi imposible saber qué tipo de señal se esconde detrás de tal representación.

Por ejemplo, aquí hay un diagrama MFCC de una señal muy simple. ¿Qué señal es esa? Si está listo, pase el espacio amarillo.

ingrese la descripción de la imagen aquí

¡Barrido senoidal exponencial! ingrese la descripción de la imagen aquí

¿Fue fácil saberlo? Definitivamente, al mirar el espectrograma fue inmediatamente obvio. Tal vez hay pocas personas que adivinaron ya que jugaron con tales ejemplos antes. Ahora algo más complicado:

ingrese la descripción de la imagen aquí

Listo?

Canto de los pájaros: puedes escuchar aquí ingrese la descripción de la imagen aquí

Apenas creo que esta representación de MFCC sea de alguna utilidad, excepto llenar el espacio. Ahora pocas personas pueden adivinar la señal basada en un espectrograma, pero es imposible hacerlo mirando los MFCC.

Entonces, si alguien le dice que puede decir lo que está sucediendo con la señal basada en "ajustes de coseno des-correlacionados de las energías logarítmicas dentro de los bancos de filtros triangulares en el dominio de la frecuencia", entonces es un mentiroso (con un antecedente de 99.9%) o una computadora. Muy raramente hay ocasiones en las que es útil mirar los valores de MFCC sin procesar, como la depuración y la verificación de la cordura (son coeficientes constantes para la señal estacionaria).


1
Muchas gracias por una respuesta tan completa (y divertida de leer: P). Exactamente el tipo de orientación que estaba buscando, y la OMI, un ejemplo de contenido de calidad.
jotadepicas 01 de

@jotadepicas: no te preocupes. Si eso responde a su pregunta, márquela como aceptada (con un tic) para que no vuelva a la página principal.
jojek

¡Sin lugar a duda! Siempre tiendo a dejar preguntas abiertas durante un día o dos en caso de que surjan otras respuestas, y luego marco la mejor como aceptada. Muy probablemente, el tuyo: D. ¡Gracias de nuevo!
jotadepicas 01 de
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.