SpeechSynthesizer.AddLexicon(Uri, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 zastrzeżonym formatem firmy Microsoft. Jest to starszy format i zalecamy użycie opisanego powyżej formatu PLS.