Sdílet prostřednictvím


SpeechSynthesizer.AddLexicon(Uri, String) Metoda

Definice

Přidá do objektu SpeechSynthesizer lexikon.

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)

Parametry

uri
Uri

Umístění informací o lexikonu.

mediaType
String

Typ média lexikonu. V hodnotách typu média se nerozlišují velká a malá písmena.

Příklady

Následující příklad ukazuje efekt přidání a odebrání lexikonu, který obsahuje vlastní výslovnost pro slovo "blue". Lexikon definuje výslovnost "blue" tak, aby zněla jako "bleep". Při načítání lexikonu syntetizátor řeči používá výslovnost definovanou v lexikonu.

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

Následuje obsah souboru lexicon 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>

Poznámky

Lexikon výslovnosti je kolekce slov nebo frází společně s jejich výslovností, která se skládá z písmen a znaků z podporované fonetické abecedy. Lexikon můžete použít k určení vlastní výslovnosti pro specializovanou slovní zásobu ve vaší aplikaci.

Výslovnost zadaná v externím souboru lexikonu má přednost před výslovností interního slovníku syntetizátoru řeči nebo slovníku. Výslovnost zadaná inline v výzev vytvořených AppendTextWithPronunciationpomocí metody , AppendSsmlMarkupnebo AppendSsml však mají přednost před výslovností určenou v libovolném lexikonu. Vložená výslovnost se vztahuje pouze na jeden výskyt slova. Další informace najdete v tématu Lexikony a fonetické abecedy .

K objektu SpeechSynthesizer můžete přidat více lexikonů. Parametr aktuálně podporuje mediaType dvě hodnoty:

  • Hodnota application/pls+xml označuje, že lexikon odpovídá výslovnosti Lexicon Specification (PLS) verze 1.0. Toto je upřednostňovaný formát, který se má použít.

  • Hodnota application/vdn.ms-sapi-lex označuje, že formát lexikonu je Nekomprimovaný lexicon, což je proprietární formát Microsoftu. Toto je starší formát a doporučujeme použít formát PLS popsaný výše.

Platí pro

Viz také