SpeechSynthesizer.AddLexicon(Uri, String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adiciona um léxico ao SpeechSynthesizer objeto.
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
A localização da informação do léxico.
- mediaType
- String
O tipo de media do léxico. Os valores do tipo de media não são sensíveis a maiúsculas minúsculas.
Exemplos
O exemplo seguinte demonstra o efeito de adicionar e remover um léxico que contém uma pronúncia personalizada para a palavra "blue". O léxico define a pronúncia de "blue" para soar como "bleep". Enquanto o léxico está carregado, o sintetizador de fala utiliza 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();
}
}
}
Segue-se o conteúdo do ficheiro 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>
Observações
Um léxico de pronúncia é uma coleção de palavras ou frases juntamente com as suas pronúncias, que consistem em letras e caracteres de um alfabeto fonético suportado. Pode usar um léxico para especificar pronúncias personalizadas para vocabulário especializado na sua aplicação.
As pronúncias especificadas num ficheiro de léxico externo têm precedência sobre as pronúncias do léxico ou dicionário interno do sintetizador de voz. No entanto, pronúncias especificadas em linha em prompts criados com qualquer um dos AppendTextWithPronunciation, AppendSsmlMarkup, ou AppendSsml métodos têm precedência sobre as pronúncias especificadas em qualquer léxico. As pronúncias inline aplicam-se apenas a uma única ocorrência de uma palavra. Consulte Léxicos e Alfabetos Fonéticos para mais informações.
Podes adicionar múltiplos léxicos a um SpeechSynthesizer objeto. Atualmente, são suportados dois valores para o mediaType parâmetro:
O valor
application/pls+xmlindica que o léxico está em conformidade com a Especificação do Léxico de Pronúncia (PLS) Versão 1.0. Este é o formato preferido a usar.O valor
application/vdn.ms-sapi-lexindica que o formato do léxico é Léxico Não Comprimido, que é um formato proprietário Microsoft. Este é um formato legado e recomendamos que utilize o formato PLS descrito acima.
Importante
Chamar métodos dessa classe com dados não confiáveis é um risco de segurança. Chame os métodos dessa classe somente com dados confiáveis. Para obter mais informações, consulte Validar todas as informações inseridas.