SpeechSynthesizer.AddLexicon(Uri, String) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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+xmlgeeft 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-lexgeeft 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.