SpeechSynthesizer.AddLexicon(Uri, String) Methode

Definition

Fügt dem SpeechSynthesizer-Objekt ein Lexikon hinzu.

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)

Parameter

uri
Uri

Der Speicherort der Lexikoninformationen.

mediaType
String

Der Medientyp des Lexikons. Bei Medientypwerten wird die Groß-/Kleinschreibung nicht berücksichtigt.

Beispiele

Im folgenden Beispiel wird die Auswirkung des Hinzufügens und Entfernens eines Lexikons veranschaulicht, das eine benutzerdefinierte Aussprache für das Wort "blue" enthält. Das Lexikon definiert die Aussprache von "blau", um wie "bleep" zu klingen. Während das Lexikon geladen wird, verwendet der Sprachsynthesizer die im Lexikon definierte Aussprache.

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();
    }
  }
}

Im Folgenden sind die Inhalte der Lexikondatei Blue.pls aufgeführt:

<?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>

Hinweise

Ein Aussprache-Lexicon ist eine Sammlung von Wörtern oder Ausdrücken zusammen mit ihren Aussprachen, die aus Buchstaben und Zeichen eines unterstützten phonetischen Alphabets bestehen. Sie können ein Lexikon verwenden, um benutzerdefinierte Aussprachen für spezielle Vokabeln in Ihrer Anwendung anzugeben.

Aussprachen, die in einer externen Lexikondatei angegeben sind, haben Vorrang vor den Aussprachen des internen Lexikons oder Wörterbuchs des Sprachsynthesizers. Inline angegebene Aussprachen in Eingabeaufforderungen, die mit einer der AppendTextWithPronunciationMethoden , oder erstellt wurden, AppendSsmlMarkupAppendSsml haben jedoch Vorrang vor aussprachen, die in einem beliebigen Lexikon angegeben sind. Inlineaussprechungen gelten nur für ein einzelnes Vorkommen eines Worts. Weitere Informationen finden Sie unter Lexicons und Phonetische Alphabete .

Sie können einem SpeechSynthesizer Objekt mehrere Lexicons hinzufügen. Für den mediaType Parameter werden derzeit zwei Werte unterstützt:

  • Der Wert application/pls+xml gibt an, dass das Lexikon der PLS-Version 1.0 (Pronunciation Lexicon Specification) entspricht. Dies ist das bevorzugte Format, das verwendet werden sollte.

  • Der Wert application/vdn.ms-sapi-lex gibt an, dass das Lexikonformat Uncompressed Lexicon ist, ein Microsoft proprietäres Format. Dies ist ein Legacyformat, und es wird empfohlen, das oben beschriebene PLS-Format zu verwenden.

Gilt für:

Weitere Informationen