Compartir a través de


Compatibilidad con la entrada de voz

[Microsoft Agent está en desuso a partir de Windows 7 y puede no estar disponible en versiones posteriores de Windows.

Además de admitir la interacción con el mouse y el teclado, Microsoft Agent incluye compatibilidad directa con la entrada de voz. Dado que la compatibilidad de Microsoft Agent con la entrada de voz se basa en Microsoft SAPI (Speech Application Programming Interface), puede usar Microsoft Agent con motores de control y comandos de reconocimiento de voz que incluyen la compatibilidad con SAPI requerida. Para más información sobre los requisitos del motor de voz, consulte Requisitos de compatibilidad del motor de voz.

Microsoft proporciona un motor de reconocimiento de voz de comando y control que puede usar con Microsoft Agent. Para obtener más información, consulte Selección del motor de voz.

El usuario puede iniciar la entrada de voz presionando y manteniendo presionada la tecla de acceso rápido escuchando de inserción a conversación. En este modo de escucha, si el motor de voz recibe el principio de la entrada hablada, mantiene abierto el canal de audio hasta que detecta el final de la expresión. Sin embargo, al no recibir la entrada, no bloquea la salida de audio. Esto permite al usuario emitir varios comandos de voz mientras mantiene presionada la tecla y el carácter puede responder cuando el usuario no habla.

El modo de escucha agota el tiempo de espera una vez que el usuario libera la clave de escucha. El usuario puede ajustar el tiempo de espera de este modo mediante las Opciones avanzadas de caracteres. No se puede establecer este tiempo de espera desde el código de la aplicación cliente.

Si un carácter intenta hablar mientras el usuario habla, se produce un error en la salida audible del carácter, aunque es posible que el texto todavía se muestre en su globo de palabras. Si el carácter tiene el canal de audio mientras se presiona la tecla Escucha, el servidor transfiere automáticamente el control al usuario después de procesar el texto en el método Speak . Se reproduce un tono MIDI opcional para indicar al usuario que empiece a hablar. Esto permite al usuario proporcionar la entrada incluso si la aplicación que conduce el carácter no pudo proporcionar pausas lógicas en su salida.

También puede usar el método Listen para iniciar la entrada de voz. Al llamar a este método, se activa el reconocimiento de voz durante un período de tiempo predefinido. Si no hay ninguna entrada durante este intervalo, Microsoft Agent desactiva automáticamente el motor de reconocimiento de voz y libera el canal de audio. Esto evita bloquear la entrada o salida del dispositivo de audio y minimiza la sobrecarga del procesador que usa el reconocimiento de voz cuando está activado. También puede usar el método Listen para desactivar la entrada de voz. Sin embargo, tenga en cuenta que, dado que el motor de reconocimiento de voz funciona de forma asincrónica, es posible que el efecto no sea inmediato. Como resultado, es posible recibir un evento Command incluso después de que el código llamado Escuchar para desactivar la entrada de voz.

Para admitir la entrada de voz, se define una gramática, un conjunto de palabras que desea que el motor de reconocimiento de voz escuche y coincida como la configuración voz de un comando en la colección Commands . Puede incluir palabras opcionales y alternativas y secuencias repetidas en la gramática. Tenga en cuenta que el Agente no habilita la tecla de acceso rápido Escuchando hasta que uno de sus clientes haya cargado correctamente un motor de voz o haya creado una voz para uno de sus objetos Command .

Tanto si el usuario presiona la tecla de acceso rápido escucha como la aplicación cliente llama al método Listen para iniciar la entrada de voz, el motor de reconocimiento de voz intenta hacer coincidir la entrada de una expresión con la gramática de los comandos que se han definido y pasa la información del servidor. A continuación, el servidor notifica a la aplicación cliente mediante el evento Command (IAgentNotifySink::Command); pasando atrás el objeto UserInput que incluye el identificador de comando de la mejor coincidencia y las dos coincidencias alternativas siguientes (si existe), una puntuación de confianza y el texto coincidente para cada coincidencia.

El servidor también notifica a la aplicación cliente cuando coincide con la entrada de voz a uno de sus comandos proporcionados. Aunque el identificador de comando es NULL, se obtiene la puntuación de confianza y el texto coincidentes. Cuando se encuentra en modo escucha, el servidor reproduce automáticamente la animación asignada al estado de escucha del personaje. A continuación, cuando se detecta realmente una expresión, el servidor reproduce la animación de estado de audición del personaje. El servidor mantendrá el carácter en un estado atento hasta que la expresión haya finalizado. Esto proporciona los comentarios sociales adecuados para informar al usuario de la entrada.

Si el usuario deshabilita la entrada de voz en Opciones avanzadas de caracteres, también se deshabilitará la tecla de acceso rápido Escuchando. De forma similar, si se intenta llamar al método Listen cuando se deshabilita la entrada de voz, se producirá un error en el método.