SpeechSynthesizer.AddLexicon(Uri, String) Метод

Определение

Добавляет лексикон в объект 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)

Параметры

uri
Uri

Расположение сведений о лексиконе.

mediaType
String

Тип носителя лексикона. Значения типов мультимедиа не учитывают регистр.

Примеры

В следующем примере показан эффект добавления и удаления лексикона, содержащего пользовательское произношение слова "blue". Лексикон определяет произношение слова "синий", чтобы звучать как "бледение". Во время загрузки словаря синтезатор речи использует произношение, определенное в лексиконе.

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

Ниже приведено содержимое словарного файла 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>

Комментарии

Словарь произношения — это коллекция слов или фраз вместе с их произношением, которая состоит из букв и символов поддерживаемого фонетического алфавита. Вы можете использовать лексикон, чтобы указать пользовательские произношения для специализированного словаря в приложении.

Произношение, указанное во внешнем файле словаря, имеет приоритет над произношением внутреннего словаря или словаря синтезатора речи. Однако произношение, указанное в запросах, созданных с помощью любого метода AppendTextWithPronunciation, илиAppendSsml, AppendSsmlMarkupимеет приоритет над произношением, указанным в любом лексиконе. Встроенные произношения применяются только к одному вхождении слова. Дополнительные сведения см. в статье Лексиконы и фонетические алфавиты .

В объект можно добавить несколько лексиконов SpeechSynthesizer . В настоящее время для параметра поддерживаются mediaType два значения:

  • Значение application/pls+xml указывает, что лексикон соответствует спецификации лексикона произношения (PLS) версии 1.0. Это предпочтительный формат.

  • Значение application/vdn.ms-sapi-lex указывает, что в лексиконе используется формат без сжатия, который является Майкрософт собственным форматом. Это устаревший формат, и мы рекомендуем использовать описанный выше формат PLS.

Применяется к

См. также раздел