SpeechSynthesizer.AddLexicon(Uri, String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ajoute un lexique à l'objet 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)
Paramètres
- uri
- Uri
Emplacement des informations de lexique.
- mediaType
- String
Type de média du lexique. Les valeurs de type de média ne respectent pas la casse.
Exemples
L’exemple suivant illustre l’effet de l’ajout et de la suppression d’un lexique qui contient une prononciation personnalisée pour le mot « blue ». Le lexique définit la prononciation de « bleu » pour sonner comme « bleep ». Lorsque le lexique est chargé, le synthétiseur vocal utilise la prononciation définie dans le lexique.
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();
}
}
}
Voici le contenu du fichier de lexique 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>
Remarques
Un lexique de prononciation est une collection de mots ou d’expressions ainsi que leurs prononciations, qui se composent de lettres et de caractères d’un alphabet phonétique pris en charge. Vous pouvez utiliser un lexique pour spécifier des prononciations personnalisées pour le vocabulaire spécialisé dans votre application.
Les prononciations spécifiées dans un fichier lexique externe sont prioritaires sur les prononciations du lexique interne ou du dictionnaire du synthétiseur vocal. Toutefois, les prononciations spécifiées inline dans les invites créées avec l’une AppendTextWithPronunciationdes méthodes , AppendSsmlMarkupou AppendSsml sont prioritaires sur les prononciations spécifiées dans n’importe quel lexique. Les prononciations inline ne s’appliquent qu’à une seule occurrence d’un mot. Pour plus d’informations, consultez Lexiques et alphabets phonétiques .
Vous pouvez ajouter plusieurs lexiques à un SpeechSynthesizer objet. Deux valeurs sont actuellement prises en charge pour le mediaType
paramètre :
La valeur
application/pls+xml
indique que le lexique est conforme à la spécification de lexique de prononciation (PLS) version 1.0. Il s’agit du format préféré à utiliser.La valeur
application/vdn.ms-sapi-lex
indique que le format de lexique est Uncompressed Lexicon, qui est un format propriétaire de Microsoft. Il s’agit d’un format hérité et nous vous recommandons d’utiliser le format PLS décrit ci-dessus.