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.