Freigeben über


PromptBuilder.AppendTextWithPronunciation(String, String) Methode

Definition

Fügt Text an das PromptBuilder-Objekt an und gibt die Aussprache für den Text an.

public:
 void AppendTextWithPronunciation(System::String ^ textToSpeak, System::String ^ pronunciation);
public void AppendTextWithPronunciation (string textToSpeak, string pronunciation);
member this.AppendTextWithPronunciation : string * string -> unit
Public Sub AppendTextWithPronunciation (textToSpeak As String, pronunciation As String)

Parameter

textToSpeak
String

Eine Zeichenfolge, die die im konventionellen Alphabet einer Sprache geschriebene Form des Worts enthält.

pronunciation
String

Eine Zeichenfolge, die die zu sprechenden Sprachlaute aus dem internationalen Lautalphabet (IPA) enthält.

Beispiele

Im folgenden Beispiel wird eine neue instance der PromptBuilder -Klasse initialisiert. Anschließend wird die Textzeichenfolge "Mein Name ist" an die instance angefügt. Schließlich fügt er eine Zeichenfolge an, die den Eigennamen "DuBois" enthält, und gibt die Aussprache des Namens an.

public void ProperName()  
{  
    PromptBuilder builder = new PromptBuilder();  
    builder.AppendText("My name is");  

    // Add a proper name and its pronunciation.  
    builder.AppendTextWithPronunciation("DuBois", "duˈbwɑ");     
}  

Das folgende Markup zeigt die SSML, die dieses PromptBuilder Objekt generiert.

<speak xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-us">  
  My name is <phoneme ph="duˈbwɑ"> DuBois </phoneme>  
</speak>  

Hinweise

Der Synthesizer spricht den Inhalt des pronunciation Parameters, nicht den Inhalt des textToSpeak Parameters.

Aussprachen, die in Eingabeaufforderungen inline angegeben sind, gelten nur für das individuelle Vorkommen eines Worts und überschreiben Aussprachen der Sprach-Engine oder eines ihrer derzeit aktiven Lexikon. In der Regel verwenden Sie Inline-Aussprachen für benutzerdefinierte Aussprachen vorhandener Wörter oder für die Aussprache ungewöhnlicher Wörter, z. B. Eigennamen, die die Sprachsynthese-Engine möglicherweise nicht so gut wie erwartet ausspricht.

Inline-Aussprachen müssen mithilfe von Telefonen des internationalen phonetischen Alphabets (IPA) angegeben werden. Ein Telefon ist ein Buchstabe oder ein Zeichen, das ein diskretes Sprachgeräusch darstellt. Sprach-Engines, die der SSML-Spezifikation (Speech Synthesis Markup Language, Version 1.0) entsprechen, sprechen Telefone aus dem IPA aus. Informationen zum Angeben von Inline-Aussprachen mit anderen phonetischen Alphabeten finden Sie unter AppendSsmlMarkup.

Das IPA veröffentlicht ein Diagramm , das seine Telefone auflistet und unicode-Nummern zuordnet.

Einige Telefone im IPA-Alphabet haben die gleichen Darstellungen wie Buchstaben im lateinischen Alphabet. In diesen Fällen ist es möglich, das lateinische Zeichen einzugeben und die richtige Darstellung für ein Telefon zu haben. Da die im Text häufig verwendeten lateinischen Zeichen mehrere Telefone des IPA-Telefonsatzes darstellen können, führt die einfache Eingabe des lateinischen Zeichens möglicherweise nicht zu dem gewünschten IPA-Telefon. Andere Telefone des IPA-Alphabets müssen im Code als Zeichenverweise dargestellt werden, die aus einem Ampersand (&), dem Nummernzeichen (#) und einer Unicode-Zahl für das gewünschte Telefon im Hexadezimal- oder Dezimalzeichen bestehen, gefolgt von einem Semikolon (;). Beispielsweise würde ein schwa (ə) durch &#x0259;dargestellt werden.

Um neue oder benutzerdefinierte Aussprachen für mehrere Wörter hinzuzufügen, z. B. um regionale Dialekte auszudrücken oder Eigennamen oder Vokabular hinzuzufügen, die speziell für eine Bildungs- oder medizinische Disziplin gelten, erstellen Sie ein Lexikon, und fügen Sie es mithilfe von SpeechSynthesizerAddLexiconhinzu.

Gilt für:

Weitere Informationen