SpeechSynthesizer.AddLexicon(Uri, String) Metoda

Definicja

Dodaje leksykon do SpeechSynthesizer obiektu.

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

Lokalizacja informacji leksykonu.

mediaType
String

Typ nośnika leksykonu. W wartościach typu nośnika nie jest uwzględniana wielkość liter.

Przykłady

W poniższym przykładzie pokazano efekt dodawania i usuwania leksykonu zawierającego niestandardową wymowę słowa "niebieski". Leksykon definiuje wymowę "niebieski", aby brzmieć jak "bleep". Podczas ładowania leksykonu syntezator mowy używa wymowy zdefiniowanej w leksykonie.

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

Poniżej przedstawiono zawartość pliku leksykonu 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>

Uwagi

Leksykon wymowy jest kolekcją słów lub fraz wraz z ich wymową, która składa się z liter i znaków z obsługiwanego alfabetu fonetycznego. Leksykon umożliwia określenie wymowy niestandardowej dla specjalistycznego słownictwa w aplikacji.

Wymowa określona w zewnętrznym pliku leksykonu ma pierwszeństwo przed wymową wewnętrznego leksykonu lub słownika syntezatora mowy. Jednak wymowa określona w tekście w monitach utworzonych przy użyciu dowolnej z AppendTextWithPronunciationmetod , AppendSsmlMarkuplub AppendSsml ma pierwszeństwo przed wymową określoną w dowolnym leksykonie. Wymowa śródliniowa ma zastosowanie tylko do pojedynczego wystąpienia słowa. Aby uzyskać więcej informacji, zobacz Leksykony i Alfabety fonetyczne .

Do obiektu można dodać SpeechSynthesizer wiele leksykonów. Dla parametru mediaType są obecnie obsługiwane dwie wartości:

  • Wartość application/pls+xml wskazuje, że leksykon jest zgodny ze specyfikacją leksykonu wymowy (PLS) w wersji 1.0. Jest to preferowany format do użycia.

  • Wartość application/vdn.ms-sapi-lex wskazuje, że format leksykonu to Nieskompresowany leksykon, który jest Microsoft zastrzeżonym formatem. Jest to starszy format i zalecamy użycie opisanego powyżej formatu PLS.

Dotyczy

Zobacz też