Propiedad Voice (objeto Commands)

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

Descripción

Devuelve o establece el texto que se pasa a la gramática del motor de voz (para el reconocimiento).

Syntax

agent**. Caracteres ("CharacterID"). Commands.Voice** [ = string]

Parte Descripción
string Expresión de cadena correspondiente a las palabras o frases que va a usar el motor de voz para reconocer este comando.

 

Observaciones

Si no proporciona este parámetro, voiceCaption del objeto Commands no aparecerá en la ventana Comandos de voz.

La expresión de cadena que proporcione puede incluir caracteres entre corchetes ([ ]) para indicar palabras opcionales y caracteres de barra vertical (|) para indicar cadenas alternativas. Las alternativas deben ir entre paréntesis. Por ejemplo, "(hello [there] | hi)" indica al motor de voz que acepte "hello", "hello there" o "hi" para el comando. No olvide incluir espacios adecuados entre el texto entre corchetes o paréntesis y el texto que no está entre corchetes o paréntesis. Puede usar el operador star (*) para especificar cero o más instancias de las palabras incluidas en el grupo o el operador más (+) para especificar una o varias instancias. Por ejemplo, los siguientes resultados en una gramática que admite "try this", "please try this", "please try this", with unlimited iterations of "please":

   "please* try this"

El siguiente formato de gramática excluye "try this" porque el operador + define al menos una instancia de "please":

   "please+ try this"

Los operadores de repetición siguen las reglas normales de precedencia y se aplican al elemento de texto inmediatamente anterior. Por ejemplo, la gramática siguiente da como resultado "Nueva York" y "Nueva York", pero no "Nueva York":

   "New York+"

Por lo tanto, normalmente quiere usar estos operadores con los caracteres de agrupación. Por ejemplo, la gramática siguiente incluye "New York" y "New York New York":

   "(New York)+"

Los operadores de repetición son útiles cuando se desea crear una gramática que incluya una secuencia repetida, como un número de teléfono o una especificación de una lista de elementos.

   "call (one|two|three|four|five|six|seven|eight|nine|zero|oh)*"
   "I'd like (cheese|pepperoni|pineapple|canadian bacon|mushrooms|and)+"

Aunque los operadores también se pueden usar con el carácter de agrupación de corchetes opcionales, hacerlo puede reducir la eficacia del procesamiento del Agente de la gramática.

También puede usar puntos suspensivos (...) para admitir la detección de palabras, es decir, indicar al motor de reconocimiento de voz que omita las palabras habladas en esta posición en la frase (a veces denominadas palabras no utilizados ). Por lo tanto, el motor de voz solo reconoce palabras específicas en la cadena, independientemente de cuándo se hable con palabras o frases adyacentes. Por ejemplo, si establece esta propiedad en "[...] check mail [...]", el motor de reconocimiento de voz coincidirá con frases como "please check mail" o "check mail please" to this command. Los puntos suspensivos se pueden usar en cualquier parte de una cadena. Sin embargo, tenga cuidado de usar esta técnica, ya que puede aumentar el potencial de coincidencias no deseadas.

Al definir la gramática de palabras para el comando, incluya al menos una palabra que sea necesaria; es decir, evite proporcionar solo palabras opcionales. Además, asegúrese de que la palabra solo incluya palabras y letras pronunciables. En el caso de los números, es mejor escribir la palabra en lugar de usar una representación ambigua. Por ejemplo, "345" no es una buena forma gramatical. De forma similar, en lugar de "IEEE", use "I triple E". Además, omita los signos o signos de puntuación. Por ejemplo, en lugar de "la pizza #1 $10!", use "la pizza número 1 diez dólares". Incluir caracteres o símbolos no pronunciables para un comando puede provocar que el motor de voz no compile la gramática para todos los comandos. Por último, haga que el parámetro de voz sea lo más distinto posible de otros comandos de voz que defina. Cuanto mayor sea la similitud entre la gramática de voz para los comandos, más probable es que el motor de voz realice un error de reconocimiento. También puede usar las puntuaciones de confianza para distinguir mejor entre dos comandos que pueden tener gramática de voz similar o similar.

Puede incluir en las palabras gramaticales en forma de "texto\pronunciación", donde texto es el texto que se muestra y la pronunciación es texto que aclara la pronunciación. Por ejemplo, la gramática "1st\first" se reconocería cuando el usuario dice "first", pero el evento Command devolverá el texto "1st\first". También puede usar IPA (Alfabeto fonético internacional) para especificar una pronunciación iniciando la pronunciación con un carácter de signo de libra ("#") e incluir el texto que representa la pronunciación IPA.

En el caso de los motores de reconocimiento de voz japoneses, puede definir la gramática con el formato "kana\kanji", lo que reduce las pronunciaciones alternativas y aumenta la precisión. (La ordenación se invierte por motivos de compatibilidad con versiones anteriores). Esto es especialmente importante para la pronunciación de los nombres adecuados en Kanji. Sin embargo, puedes pasar kanji sin kana, en cuyo caso el motor debe escuchar todas las pronunciaciones aceptables para kanji. También puedes pasar solo Kana.

Tenga en cuenta también que, para idiomas como japonés, chino y tailandés, que no usan caracteres de espacio para designar saltos de palabra, inserte un carácter de espacio de ancho cero Unicode (0x200B) para indicar saltos de palabra lógicos.

Excepto los errores que usan los caracteres de formato de agrupación o repetición, el Agente no notificará errores en la gramática, a menos que el propio motor notifique el error. Si pasa texto en la gramática que el motor no puede compilar, pero el motor no controla y devuelve como un error, el Agente no puede notificar el error. Por lo tanto, la aplicación cliente debe definir cuidadosamente la gramática para la propiedad Voice .

Nota

Las características gramaticales disponibles pueden depender del motor de reconocimiento de voz. Es posible que desee consultar con el proveedor del motor para determinar qué opciones de gramática se admiten. Use SRModeID para usar un motor específico.

 

El funcionamiento de esta propiedad depende del estado de la propiedad de reconocimiento de voz del servidor. Por ejemplo, si el reconocimiento de voz está deshabilitado o no está instalado, esta propiedad no tiene ningún efecto.