2011-06-11 16 views
5

Esto es para un proyecto personal mío, y no tengo ni idea de por dónde empezar, ya que va más allá de mi zona de confort.Cómo comparar la palabra pronunciar?

Sé que hay algunos programas de aprendizaje de idiomas que permiten al usuario grabar su voz y comparar la pronunciación con un hablante nativo de dicho idioma.

Mi pregunta es, ¿cómo lograr esto?

Quiero decir, ¿cómo se compara la pronunciación entre el usuario y el hablante nativo?

Respuesta

2

Si está buscando algo relativamente simple, puede simplemente calcular el MFCC (http://en.wikipedia.org/wiki/Mel-frequency_cepstrum) de la grabación, y luego ver algo simple como la correlación entre la grabación y los coeficientes promedio de esa palabra son pronunciados por un hablante nativo. El MFCC transformará el audio en un espacio donde la distancia euclidiana se corresponde más estrechamente con la diferencia perceptual.

Por supuesto, hay varios problemas posibles:

  1. alineando las dos grabaciones por lo que los coeficientes coinciden. Para solucionar esto, podría ver la correlación cruzada máxima de los coeficientes, en lugar de la correlación simple, por lo que obtendrá una "mejor alineación" automática de forma gratuita. Además, es posible que tenga que recortar los extremos de la grabación, por lo que solo la pronunciación real de la palabra permanece en la grabación.

  2. El MFCC se correlaciona con el espacio perceptual, pero es posible que no se corresponda tan bien con las inexactitudes de los acentos. Tal vez podría tratar de corregir esto en lugar de compararlo con la pronunciación "ideal", comparándola con el promedio de varios tipos diferentes de mala pronunciación y mirando a qué modelo está más cerca.

  3. Incluso las palabras con un buen acento serán, en promedio, una "distancia" del ideal. Tendrás que tener esto en cuenta y comparar la distancia de la entrada con la buena distancia "relativa".

  4. La correlación puede no ser la mejor manera de comparar la similitud relativa de dos sonidos.Experimente con muchas métricas diferentes ... pruebe diferentes normas L^p: (http://en.wikipedia.org/wiki/Lp_space), o intente ponderar los diferentes MFCC de forma diferente (si recuerdo, incluso después de que se hayan tomado MFCC) , aunque se supone que todos ellos tienen el mismo "peso" perceptual, los que están en el medio son aún más importantes por la forma en que percibimos un sonido que los altos o bajos.)

  5. Puede haber ciertas partes del sonido donde la pronunciación importa mucho más por la calidad del acento. Quizás la detección transitoria para encontrar esas posiciones y marcarlas como más importantes sería bueno. Si tuviera muchos ejemplos de "buena pronunciación" y "mala pronunciación", probablemente podría extraer esas ubicaciones automáticamente.

De nuevo, al final, la única forma en que sabrá qué combinación de estas opciones funciona mejor es probando.

1

He leído acerca de la adaptación de modelos de mezclas gaussianas para el espacio fonético de un hablante general a un individuo. Esto podría ser útil para entrenar para un acento no canónico para uso privado.

Si compara el altavoz con un modelo de pronunciación general, es posible que la coincidencia no sea muy buena. Entonces, la idea es ajustar los modelos para que se adapten mejor al altavoz durante el entrenamiento individual.

Speaker Verification using Adapted Gaussian Mixture Models

EDIT: mirando sobre su pregunta de nuevo, creo que respondió a una pregunta diferente. Pero la técnica utiliza modelos similares:

  1. Modelo de varios idiomas (¿Tiene muchos datos para diferentes idiomas? Recoger los datos puede ser la parte difícil.) Los MMG funcionan bien para esto.
  2. Comparar el punto de datos del altavoz con los diversos modelos de lenguaje
  3. Elija el modelo que sea el mejor pronosticador para los datos del altavoz como el ganador.