Compartilhar via


Propriedade Voice (objeto Commands)

[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]

Descrição

Retorna ou define o texto que é passado para a gramática do mecanismo de fala (para reconhecimento).

Sintaxe

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

Parte Descrição
cadeia de caracteres Uma expressão de cadeia de caracteres correspondente às palavras ou frase a serem usadas pelo mecanismo de fala para reconhecer esse comando.

 

Comentários

Se você não fornecer esse parâmetro, o VoiceCaption para o objeto Commands não aparecerá na janela Comandos de Voz.

A expressão de cadeia de caracteres fornecida pode incluir caracteres de colchete ([ ]) para indicar palavras opcionais e caracteres de barra vertical (|) para indicar cadeias de caracteres alternativas. As alternativas devem ser colocadas entre parênteses. Por exemplo, "(hello [there] | oi)", diz ao mecanismo de fala para aceitar "olá", "olá lá" ou "oi" para o comando. Lembre-se de incluir espaços apropriados entre o texto entre colchetes ou parênteses e o texto que não está entre colchetes ou parênteses. Você pode usar o operador star (*) para especificar zero ou mais instâncias das palavras incluídas no grupo ou no operador de adição (+) para especificar uma ou mais instâncias. Por exemplo, os seguintes resultados em uma gramática que dá suporte a "experimente isso", "por favor, experimente isso", "por favor, experimente isso", com iterações ilimitadas de "por favor":

   "please* try this"

O seguinte formato gramatical exclui "experimente isso" porque o operador + define pelo menos uma instância de "por favor":

   "please+ try this"

Os operadores de repetição seguem regras normais de precedência e se aplicam ao item de texto imediatamente anterior. Por exemplo, a gramática a seguir resulta em "Nova York" e "Nova York", mas não em "Nova York":

   "New York+"

Portanto, você normalmente deseja usar esses operadores com os caracteres de agrupamento. Por exemplo, a gramática a seguir inclui "Nova York" e "Nova York":

   "(New York)+"

Operadores de repetição são úteis quando você deseja compor uma gramática que inclui uma sequência repetida, como um número de telefone ou especificação de uma lista de itens.

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

Embora os operadores também possam ser usados com o caractere de agrupamento de colchetes opcionais, isso pode reduzir a eficiência do processamento do Agent da gramática.

Você também pode usar uma reticências (...) para dar suporte à detecção de palavras, ou seja, dizer ao mecanismo de reconhecimento de fala para ignorar palavras faladas nessa posição na frase (às vezes chamada de palavras de lixo ). Portanto, o mecanismo de fala reconhece apenas palavras específicas na cadeia de caracteres, independentemente de quando faladas com palavras ou frases adjacentes. Por exemplo, se você definir essa propriedade como "[...] marcar email [...]", o mecanismo de reconhecimento de fala corresponderá frases como "por favor, marcar email" ou "marcar email por favor" a este comando. As reticências podem ser usadas em qualquer lugar dentro de uma cadeia de caracteres. No entanto, tenha cuidado ao usar essa técnica, pois ela pode aumentar o potencial de correspondências indesejadas.

Ao definir a palavra gramática para seu comando, inclua pelo menos uma palavra necessária; ou seja, evite fornecer apenas palavras opcionais. Além disso, verifique se a palavra inclui apenas palavras e letras pronunciáveis. Para números, é melhor soletrar a palavra em vez de usar uma representação ambígua. Por exemplo, "345" não é uma boa forma gramatical. Da mesma forma, em vez de "IEEE", use "I triple E". Além disso, omita qualquer pontuação ou símbolo. Por exemplo, em vez de "a pizza #1 $10!", use "a pizza número um de dez dólares". Incluir caracteres ou símbolos não pronunciáveis para um comando pode fazer com que o mecanismo de fala falhe ao compilar a gramática para todos os seus comandos. Por fim, torne o parâmetro de voz o mais distinto possível de outros comandos de voz que você definir. Quanto maior a semelhança entre a gramática de voz para comandos, maior a probabilidade de o mecanismo de fala cometer um erro de reconhecimento. Você também pode usar as pontuações de confiança para distinguir melhor entre dois comandos que podem ter gramática de voz semelhante ou semelhante.

Você pode incluir em suas palavras gramaticais na forma de "text\pronúncia", em que texto é o texto exibido e pronúncia é texto que esclarece a pronúncia. Por exemplo, a gramática , "1st\first", seria reconhecida quando o usuário diz "primeiro", mas o evento Command retornará o texto , "1st\first". Você também pode usar o IPA (Alfabeto Fonético Internacional) para especificar uma pronúncia iniciando a pronúncia com um caractere de sinal de libra ("#"), em seguida, inclua o texto que representa a pronúncia IPA.

Para mecanismos de reconhecimento de fala japonês, você pode definir gramática no formato "kana\kanji", reduzindo as pronúncias alternativas e aumentando a precisão. (A ordenação é revertida para compatibilidade com versões anteriores.) Isso é particularmente importante para a pronúncia de nomes adequados em Kanji. No entanto, você pode apenas passar kanji sem o Kana, nesse caso, o mecanismo deve escutar todas as pronúncias aceitáveis para o Kanji. Você também pode passar apenas Kana.

Observe também que, para idiomas como japonês, chinês e tailandês, que não usam caracteres de espaço para designar quebras de palavra, insira um caractere de espaço de largura zero Unicode (0x200B) para indicar quebras de palavras lógicas.

Exceto por erros ao usar os caracteres de formatação de agrupamento ou repetição, o Agent não relatará erros em sua gramática, a menos que o próprio mecanismo relate o erro. Se você passar um texto em sua gramática informando que o mecanismo falha ao compilar, mas o mecanismo não manipula e retorna como um erro, o Agent não pode relatar o erro. Portanto, o aplicativo cliente deve ser cuidadosamente definido gramática para a propriedade Voice .

Observação

Os recursos gramaticais disponíveis podem depender do mecanismo de reconhecimento de fala. Talvez você queira marcar com o fornecedor do mecanismo para determinar quais opções de gramática têm suporte. Use o SRModeID para usar um mecanismo específico.

 

A operação dessa propriedade depende do estado da propriedade de reconhecimento de fala do servidor. Por exemplo, se o reconhecimento de fala estiver desabilitado ou não estiver instalado, essa propriedade não terá efeito.