SpeechSynthesizer.AddLexicon(Uri, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adiciona um léxico ao objeto SpeechSynthesizer.
public:
void AddLexicon(Uri ^ uri, System::String ^ mediaType);
public void AddLexicon (Uri uri, string mediaType);
member this.AddLexicon : Uri * string -> unit
Public Sub AddLexicon (uri As Uri, mediaType As String)
Parâmetros
- uri
- Uri
O local das informações de léxico.
- mediaType
- String
O tipo de mídia do léxico. Os valores de tipo de mídia não diferenciam maiúsculas e minúsculas.
Exemplos
O exemplo a seguir demonstra o efeito de adicionar e remover um léxico que contém uma pronúncia personalizada para a palavra "azul". O léxico define a pronúncia de "azul" para soar como "bleep". Enquanto o léxico é carregado, o sintetizador de fala usa a pronúncia definida no léxico.
using System;
using System.Speech.Synthesis;
namespace SampleSynthesis
{
class Program
{
static void Main(string[] args)
{
// Initialize a new instance of the SpeechSynthesizer.
using (SpeechSynthesizer synth = new SpeechSynthesizer())
{
// Configure the audio output.
synth.SetOutputToDefaultAudioDevice();
// Speak the prompt.
synth.Speak("My favorite color is blue.");
// Add a lexicon that changes the pronunciation of "blue".
synth.AddLexicon(new Uri("C:\\test\\Blue.pls"), "application/pls+xml");
// Speak the prompt.
synth.Speak("My favorite color is blue.");
// Remove the lexicon.
synth.RemoveLexicon(new Uri("C:\\test\\Blue.pls"));
// Speak the prompt.
synth.Speak("My favorite color is blue.");
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
A seguir estão o conteúdo do arquivo léxico Blue.pls:
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
alphabet="x-microsoft-ups" xml:lang="en-US">
<lexeme>
<grapheme> blue </grapheme>
<phoneme> B L I P </phoneme>
</lexeme>
</lexicon>
Comentários
Um léxico de pronúncia é uma coleção de palavras ou frases junto com suas pronúncias, que consistem em letras e caracteres de um alfabeto fonético com suporte. Você pode usar um léxico para especificar pronúncias personalizadas para vocabulário especializado em seu aplicativo.
Pronúncias especificadas em um arquivo léxico externo têm precedência sobre as pronúncias do léxico ou dicionário interno do sintetizador de fala. No entanto, pronúncias especificadas embutidas em prompts criados com qualquer um dos AppendTextWithPronunciationmétodos , AppendSsmlMarkupou AppendSsml têm precedência sobre pronúncias especificadas em qualquer léxico. Pronúncias embutidas se aplicam apenas a uma única ocorrência de uma palavra. Consulte Léxicos e Alfabetos Fonéticos para obter mais informações.
Você pode adicionar vários léxicos a um SpeechSynthesizer objeto . No momento, há suporte para dois valores para o mediaType
parâmetro :
O valor
application/pls+xml
indica que o léxico está em conformidade com a PLS (Especificação de Léxico de Pronúncia) versão 1.0. Esse é o formato preferencial a ser usado.O valor
application/vdn.ms-sapi-lex
indica que o formato léxico é léxico descompactado, que é um formato proprietário da Microsoft. Esse é um formato herdado e recomendamos que você use o formato PLS descrito acima.