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 (Interfaz de programación de aplicaciones de voz), puede usar Microsoft Agent con motores de control y comandos de reconocimiento de voz que incluyen la compatibilidad con SAPI requerida. Para obtener 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 De escucha de inserción a conversación. En este modo de escucha, si el motor de voz recibe el principio de la entrada hablada, contiene el canal de audio abierto 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 de caracteres avanzados. 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 el texto todavía puede mostrarse en su globo de palabras. Si el carácter tiene el canal de audio mientras se presiona la tecla Escuchar, 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 listen para desactivar la entrada de voz.

Para admitir la entrada de voz, defina una gramática , un conjunto de palabras que quiere que el motor de reconocimiento de voz escuche y coincida como la configuración de Voice para un Comando en la colecciónComandos de. 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 un de voz de para uno de sus objetos Command.

Tanto si el usuario presiona la tecla de acceso rápido Escuchando 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 de vuelta al servidor. A continuación, el servidor notifica a la aplicación cliente mediante el eventocommand de(IAgentNotifySink::Command); pasando el objeto UserInput que incluye el identificador de comando de la mejor coincidencia y dos coincidencias alternativas (si las hay), 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 está en modo de escucha, el servidor reproduce automáticamente la animación asignada al estado del escuchando del carácter. A continuación, cuando se detecta realmente una expresión, el servidor reproduce la animación de estado audición del personaje el carácter. El servidor mantendrá el carácter en un estado atento hasta que finalice la expresión. 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, al intentar llamar al método Listen cuando la entrada de voz está deshabilitada, el método producirá un error.