SpeechSynthesizer.AddLexicon(Uri, String) Methode

Definitie

Voegt een lexicon toe aan het SpeechSynthesizer object.

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)

Parameters

uri
Uri

De locatie van de lexiconinformatie.

mediaType
String

Het mediatype van het lexicon. Waarden voor mediatypen zijn niet hoofdlettergevoelig.

Voorbeelden

In het volgende voorbeeld ziet u het effect van het toevoegen en verwijderen van een lexicon met een aangepaste uitspraak voor het woord 'blauw'. De lexicon definieert de uitspraak van 'blauw' om als 'bleep' te klinken. Terwijl het lexicon wordt geladen, gebruikt de spraaksynthese de uitspraak die in het lexicon is gedefinieerd.

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

Hieronder volgt de inhoud van het lexiconbestand 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>

Opmerkingen

Een uitspraak lexicon is een verzameling woorden of woordgroepen samen met hun uitspraak, die bestaan uit letters en tekens uit een ondersteund fonetisch alfabet. U kunt een lexicon gebruiken om aangepaste uitspraken op te geven voor gespecialiseerde woordenlijst in uw toepassing.

Uitspraken die zijn opgegeven in een extern lexiconbestand hebben voorrang op de uitspraak van de interne lexicon of woordenlijst van de spraaksynthese. Uitspraak die inline zijn opgegeven in prompts die zijn gemaakt met een van de AppendTextWithPronunciation, AppendSsmlMarkupof AppendSsml methoden hebben echter voorrang op uitspraken die zijn opgegeven in een lexicon. Inline uitspraak is alleen van toepassing op één exemplaar van een woord. Zie Lexicons en fonetische alfabetten voor meer informatie.

U kunt meerdere lexicons toevoegen aan een SpeechSynthesizer object. Er worden momenteel twee waarden ondersteund voor de mediaType parameter:

  • De waarde application/pls+xml geeft aan dat het lexicon voldoet aan de Uitspraak Lexicon Specification (PLS) versie 1.0. Dit is de voorkeursindeling die moet worden gebruikt.

  • De waarde application/vdn.ms-sapi-lex geeft aan dat de lexicon-indeling Niet-gecomprimeerd Lexicon is, een Microsoft eigen indeling. Dit is een verouderde indeling en we raden u aan de hierboven beschreven PLS-indeling te gebruiken.

Important

Het aanroepen van methoden uit deze klasse met niet-vertrouwde gegevens is een beveiligingsrisico. Roep de methoden van deze klasse alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

Van toepassing op

Zie ook