PromptBuilder.AppendTextWithPronunciation(String, String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Aggiunge testo all'oggetto PromptBuilder e specifica la pronuncia per il testo.
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)
Parametri
- textToSpeak
- String
Stringa contenente la forma scritta della parola utilizzando l'alfabeto convenzionale per una lingua.
- pronunciation
- String
Stringa contenente telefoni da pronunciare dall'alfabeto fonetico internazionale (IPA).
Esempio
Nell'esempio seguente viene inizializzata una nuova istanza della PromptBuilder classe . Aggiunge quindi la stringa di testo "My name is" all'istanza. Infine, aggiunge una stringa contenente il nome corretto "DuBois" e specifica la pronuncia del nome.
public void ProperName()
{
PromptBuilder builder = new PromptBuilder();
builder.AppendText("My name is");
// Add a proper name and its pronunciation.
builder.AppendTextWithPronunciation("DuBois", "duˈbwɑ");
}
Il markup seguente illustra il codice SSML generato da questo PromptBuilder oggetto.
<speak xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-us">
My name is <phoneme ph="duˈbwɑ"> DuBois </phoneme>
</speak>
Commenti
Il sintetizzatore parla il contenuto del pronunciation parametro, non il contenuto del textToSpeak parametro.
Le pronunce specificate inline nelle richieste si applicano solo alle singole occorrenze di una parola ed eseguono l'override delle pronunce del motore vocale o di uno dei suoi lessici attualmente attivi. In genere, si useranno pronunce inline per le pronunce personalizzate delle parole esistenti o per la pronuncia di parole non comuni, ad esempio nomi appropriati, che il motore di sintesi vocale potrebbe non pronunciare così come previsto.
Le pronunce inline devono essere specificate utilizzando telefoni dell'alfabeto fonetico internazionale (IPA). Un telefono è una lettera o un carattere che rappresenta un suono discreto del parlato. I motori di riconoscimento vocale conformi alla specifica SSML (Speech Synthesis Markup Language) versione 1.0 pronunciano telefoni dall'IPA. Per specificare le pronunce inline usando altri alfabeti fonetici, vedere AppendSsmlMarkup.
L'IPA pubblica un grafico che elenca i telefoni e ne esegue il mapping ai numeri Unicode.
Alcuni telefoni nell'alfabeto IPA hanno le stesse rappresentazioni delle lettere nell'alfabeto latino. In questi casi, è possibile digitare il carattere latino e avere la rappresentazione corretta per un telefono. Poiché i caratteri latini usati comunemente nel testo possono rappresentare diversi telefoni del set di telefono IPA, semplicemente digitando il carattere latino potrebbe non produrre il telefono IPA preciso desiderato. Gli altri telefoni dell'alfabeto IPA devono essere rappresentati nel codice come riferimenti di carattere costituiti da una e commerciale (&), il segno di numero (#) e un numero Unicode per il telefono desiderato in formato esadecimale o decimale, tutti seguiti da un punto e virgola (;). Ad esempio, una schwa (ə) sarebbe rappresentata da ə.
Per aggiungere pronunce nuove o personalizzate per più parole, ad esempio per esprimere dialetti regionali o per aggiungere nomi o vocabolari appropriati specifici di una disciplina educativa o medica, creare un lessico e aggiungerlo all'oggetto SpeechSynthesizer usando AddLexicon.