Ambiguedad de frases Reconocimiento de voz C#

El reconocimiento de voz de windows utiliza intervalos de tiempo como:

  • El tiempo de silencio de inicio antes de iniciar un reconocimiento.
  • El tiempo de silencio al final para aceptar la palabra a reconocer.
  • Y los mas importante el silencio que tiene que pasar para aceptar una palabra ambigua.

Hablemos de la palabras o frases ambiguas con el siguiente ejemplo.

“que hora es” y “que hora es jarvis”.

ambas frases tienes una frase en común y ambigua es “que hora es”.

si queremos mejorar el entendimiento del sistema entre estas dos frases, ya que cada una pueda realizar una función distinta en nuestro proyecto.

Para eso utilizaremos estas propiedades que por defecto el primero esta a 150 mili segundos y el segundo a 500 mili segundos por defecto, la cual el reconocimiento puede verse afectado deacuerdo al dialecto o forma de hablar de cada persona, entre un habla lento o rápido.

EndSilenceTimeout

tiempo de silencio para terminar el reconocimiento: 150 mili sengundos por defecto

EndSilenceTimeout Ambiguous

En el tiempo de espera para terminar el reconocimiento (EndSilenceTimeout) , un tiempo de espera en paralelo para ver si la palabra ambigua puede ser completada :500 mili sengundos por defecto

de nuestro ejemplo ya conocido añadiremos esta propiedad.


void loadCfgRec() // Configuracion del reconocimiento
{
Choices cmds = new Choices(comandos); // convierto en gramaticas nuestros comandos.
reconocedor.LoadGrammar(new Grammar(cmds)); //ingresamos las gramaticas
reconocedor.SetInputToDefaultAudioDevice(); // el programa usara el microfono predeterminado por el sistema
reconocedor.SpeechRecognized += Reconocedor_SpeechRecognized; // evento que se ejecutara al reconocer
reconocedor.RecognizeAsync(RecognizeMode.Multiple);// iniciamos el reconocimiento.

reconocedor.EndSilenceTimeout = TimeSpan.FromMilliseconds(150); // tiempo por defeto segundo
reconocedor.EndSilenceTimeoutAmbiguous = TimeSpan.FromMilliseconds(1000); // tiempo de 1 segundo
}

Te recomiendo ejecutar el código y verlo por ti mismo, intenta hablar los mas lento posible “buenos dias jarvis” y veras como el sistema espera a que termines, pero si dices otro comando como arriba el sistema lo reconocerá inmediatamente.

ambiguedad reconocimiento

Descargar el código AQUI




comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *