PromptBuilder.AppendTextWithPronunciation(String, String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Anexa texto al objeto PromptBuilder y especifica la pronunciación del texto.
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)
Parámetros
- textToSpeak
- String
Cadena que contiene la forma escrita de la palabra usando el alfabeto convencional para un idioma.
- pronunciation
- String
Cadena que contiene los teléfonos que se dirán con el alfabeto fonético internacional (IPA).
Ejemplos
En el ejemplo siguiente se inicializa una nueva instancia de la PromptBuilder clase . A continuación, anexa la cadena de texto "Mi nombre es" a la instancia. Por último, anexa una cadena que contiene el nombre adecuado "DuBois" y especifica la pronunciación del nombre.
public void ProperName()
{
PromptBuilder builder = new PromptBuilder();
builder.AppendText("My name is");
// Add a proper name and its pronunciation.
builder.AppendTextWithPronunciation("DuBois", "duˈbwɑ");
}
El marcado siguiente muestra el SSML que genera este PromptBuilder objeto.
<speak xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-us">
My name is <phoneme ph="duˈbwɑ"> DuBois </phoneme>
</speak>
Comentarios
El sintetizador habla el contenido del pronunciation
parámetro, no el contenido del textToSpeak
parámetro .
Las pronunciaciones especificadas en línea en los avisos solo se aplican a la aparición individual de una palabra e invalidan las pronunciaciones del motor de voz o cualquiera de sus léxiconos activos actualmente. Normalmente, usará pronunciaciones insertadas para pronunciaciones personalizadas de palabras existentes o para la pronunciación de palabras poco frecuentes, como los nombres adecuados, que el motor de síntesis de voz puede no pronunciar ni esperar.
Las pronunciaciones insertadas deben especificarse mediante teléfonos del Alfabeto Fonético Internacional (IPA). Un teléfono es una letra o un carácter que representa un sonido discreto del habla. Los motores de voz que cumplen con la especificación del lenguaje de marcado de síntesis de voz (SSML) versión 1.0 pronunciarán teléfonos del IPA. Para especificar pronunciaciones insertadas mediante otros alfabetos fonéticos, vea AppendSsmlMarkup.
El IPA publica un gráfico que enumera sus teléfonos y los asigna a números Unicode.
Algunos teléfonos del alfabeto IPA tienen las mismas representaciones que las letras del alfabeto latino. En esos casos, es posible escribir el carácter latino y tener la representación adecuada para un teléfono. Dado que los caracteres latinos que se usan habitualmente en el texto pueden representar varios teléfonos del conjunto de teléfonos IPA, simplemente escribir el carácter latino podría no dar lugar al teléfono IPA preciso deseado. Otros teléfonos del alfabeto IPA deben representarse en el código como referencias de caracteres que constan de una y comercial (&), el signo de número (#) y un número Unicode para el teléfono deseado en hexadecimal o decimal, todos seguidos de un punto y coma (;)). Por ejemplo, un schwa (ə) se representaría mediante ə
.
Para agregar pronunciaciones nuevas o personalizadas para varias palabras, por ejemplo, para expresar dialectos regionales o para agregar nombres o vocabulario adecuados específicos de una materia educativa o médica, cree un léxico y agréguelo al SpeechSynthesizer uso AddLexiconde .