Partager via


SpeechSynthesizer.AddLexicon(Uri, String) Méthode

Définition

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.

S’applique à

Voir aussi