spanish recognition pocketsphinx google espaƱol sphinx speech-recognition speech-to-text

pocketsphinx - speech recognition python spanish



Pocketsphinx-Agregar palabras y mejorar la precisiĆ³n (5)

Asegúrese de colocar una pestaña (no un espacio) después de la palabra y antes del comienzo de la pronunciación.

Finalmente logré crear y ejecutar pocketsphinx (pocketsphinx_continuous). El problema que estoy encontrando es cómo mejorar la precisión. Por lo que entiendo, puede especificar un archivo de diccionario (-dict test.dic). Así que tomé el archivo de diccionario predeterminado y agregué algunas pronunciaciones más de las mismas palabras, por ejemplo:

pencil P EH N S AH L pencil(2) P EH N S IH L spaghetti S P AH G EH T IY spaghetti(2) S P UH G EH T IY

Sin embargo, pocketsphinx todavía no reconoce ninguna de las dos palabras. Sé que hay un archivo jsgf que también puedes especificar, pero eso parece más para las frases y la gramática. ¿Cómo puedo hacer que Pocketsphinx reconozca palabras comunes como lápiz y espagueti?

Gracias

-Micro


Con algo como esto, no puede estar seguro, pero puedo ofrecer las siguientes sugerencias:

  1. Tal vez el modelo de lenguaje de alguna manera tenga bajas probabilidades de "espagueti" y "lápiz". Como sugirió, podría usar un JSGF para probar cómo funciona el reconocimiento si no usa los modelos de N-gramas, pero en lugar de eso, hace una gramática simple (déle como veinte palabras, incluidos los espaguetis y el lápiz). De esta manera puede ver si es quizás el modelo de lenguaje lo que dificulta el reconocimiento de estas palabras, y puede hacerlo bien si considera que todas las palabras tienen la misma probabilidad.

  2. Tal vez simplemente pronuncia mal estas palabras, incluso con las entradas del diccionario alternativo. Intente A. Probar las voces de otras personas, o B. Adaptar el modelo acústico a su voz (consulte http://cmusphinx.sourceforge.net/wiki/tutorialam )

  3. Además, ¿qué es reconocerlos cuando está fallando? Si es posible, elimine las palabras que desconoce del diccionario.

Nuevamente, para una mayor precisión, solo tres cosas lo ayudarán realmente: restringir la gramática, adaptar el modelo acústico y quizás obtener una entrada de grabación de mayor calidad.


Para lograr una buena precisión con una hélice de bolsillo:

  • ¡Importante! Verifique que su micrófono, dispositivo de audio, soporte de archivos y 16 kHz, mientras que el modelo general esté entrenado con tales ejemplos acústicos.
  • Debe crear su propio diccionario limitado, no puede usar cmusphinx-voxforge-de.dic mientras la precisión se reduce drásticamente.
  • Debes crear tu propio modelo de lenguaje.

Puedes buscar el proyecto Jasper en GitLab para ver cómo se implementa. O puede utilizar consultar la documentation



Puede ser que el problema sea con Pocketsphinx. Yo tampoco estaba obteniendo buenos resultados con Pocketsphinx. Pero obtuve una muy buena precisión con Sphinx4 (para un altavoz estadounidense con un micrófono con cancelación de ruido). Por lo tanto, hice una comparación entre los dos usando las mismas grabaciones de audio. Para pocketsphinx utilicé pocketsphinx_batch con el modelo de audio WSJ y un pequeño diccionario y modelo de lenguaje de vocabulario (creado en línea con el kit de herramientas de modelado de lenguaje CMU Cambridge). Para Sphinx4 escribí un pequeño programa Java utilizando la biblioteca Sphinx4. El resultado fue que Sphinx4 era mucho más preciso. Todos los detalles sangrientos se encuentran en http://www.jaivox.com/pocketsphinx.html .