PromptBuilder.AppendTextWithPronunciation(String, String) Metodo

Definizione

Aggiunge il testo all'oggetto PromptBuilder e specifica la pronuncia per il testo.

public void AppendTextWithPronunciation (string textToSpeak, string pronunciation);

Parametri

textToSpeak
String

Stringa contenente la forma scritta della parola che usa l'alfabeto convenzionale per una lingua.

pronunciation
String

Stringa contenente i fonemi da pronunciare in base all'alfabeto fonetico internazionale (IPA).

Esempio

Nell'esempio seguente viene inizializzata una nuova istanza della PromptBuilder classe. Aggiunge quindi la stringa di testo "Nome personale" all'istanza. Infine, aggiunge una stringa contenente il nome appropriato "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 mostra il codice SSML PromptBuilder generato dall'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 pronuncia specificate inline nelle richieste si applicano solo alle singole occorrenze di una parola e sostituiscono le pronuncia del motore vocale o uno dei relativi lexicon attualmente attivi. In genere, si useranno pronuncia inline per pronuncia personalizzate di 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 usando telefoni dall'IPA (International Phonetic Alphabet). Un telefono è una lettera o un carattere che rappresenta un suono discreto di voce. I motori vocali conformi alla specifica SSML (Speech Synthesis Markup Language) versione 1.0 pronunciano i telefoni dall'IPA. Per specificare le pronuncia inline usando altri alfabeti fonetici, vedere AppendSsmlMarkup.

L'IPA pubblica un grafico che elenca i telefoni e li 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 appropriata 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 comportare il telefono IPA preciso desiderato. Altri telefoni dell'alfabeto IPA devono essere rappresentati nel codice come riferimenti di carattere costituiti da un amperando (&), il segno di numero (#) e un numero Unicode per il telefono desiderato in esadecimale o decimale, tutto seguito da un punto e virgola (;). Ad esempio, un schwa (ə) sarebbe rappresentato da &#x0259;.

Per aggiungere pronuncia nuove o personalizzate per più parole, ad esempio per esprimere i dialetti regionali o per aggiungere nomi o vocabolari appropriati specifici a una disciplina educativa o medica, compilare un lexicon e aggiungerlo all'uso SpeechSynthesizerAddLexicon.

Si applica a

Prodotto Versioni
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

Vedi anche