SpeechSynthesizer.AddLexicon(Uri, String) SpeechSynthesizer.AddLexicon(Uri, String) SpeechSynthesizer.AddLexicon(Uri, String) Method

Definición

Agrega un léxico al objeto SpeechSynthesizer.Adds a lexicon to the SpeechSynthesizer object.

public:
 void AddLexicon(Uri ^ uri, System::String ^ mediaType);
public void AddLexicon (Uri uri, string mediaType);
member this.AddLexicon : Uri * string -> unit

Parámetros

uri
Uri Uri Uri

La ubicación de la información de léxico.The location of the lexicon information.

mediaType
String String String

Tipo de medio del léxico.The media type of the lexicon. Los valores de tipo de medio no distinguen mayúsculas de minúsculas.Media type values are not case sensitive.

Ejemplos

En el ejemplo siguiente se muestra el efecto de agregar y quitar un léxico que contiene una pronunciación personalizada para la palabra "Blue".The following example demonstrates the effect of adding and removing a lexicon that contains a custom pronunciation for the word "blue". El léxico define la Pronunciación de "Blue" para que suene como "Bleep".The lexicon defines the pronunciation of "blue" to sound like "bleep". Mientras se carga el léxico, el sintetizador de voz usa la pronunciación definida en el léxico.While the lexicon is loaded, the speech synthesizer uses the pronunciation defined in the lexicon.

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();  
    }  
  }  
}  

A continuación se muestran los contenidos del archivo de léxico Blue. esperen:Following are the contents of the lexicon file 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>  

Comentarios

Un léxico de pronunciación es una colección de palabras o frases junto con sus pronunciaciones, que constan de letras y caracteres de un alfabeto fonético compatible.A pronunciation lexicon is a collection of words or phrases together with their pronunciations, which consist of letters and characters from a supported phonetic alphabet. Puede usar un léxico para especificar pronunciaciones personalizadas para el vocabulario especializado en la aplicación.You can use a lexicon to specify custom pronunciations for specialized vocabulary in your application.

Las pronunciaciones especificadas en un archivo de léxico externo tienen prioridad sobre las pronunciaciones del diccionario o diccionario interno del sintetizador de voz.Pronunciations specified in an external lexicon file take precedence over the pronunciations of the speech synthesizer's internal lexicon or dictionary. Sin embargo, las pronunciacións especificadas en los mensajes creados con cualquiera de AppendTextWithPronunciationlos AppendSsmlMarkupmétodos, AppendSsml o tienen prioridad sobre las pronunciacións especificadas en cualquier léxico.However, pronunciations specified inline in prompts created with any of the AppendTextWithPronunciation, AppendSsmlMarkup, or AppendSsml methods take precedence over pronunciations specified in any lexicon. Las pronunciaciones en línea solo se aplican a una única aparición de una palabra.Inline pronunciations apply only to a single occurrence of a word. Consulte léxicos y alfabetos fonéticos para obtener más información.See Lexicons and Phonetic Alphabets for more information.

Puede agregar varias léxicos a un SpeechSynthesizer objeto. Actualmente se admiten dos valores para mediaType el parámetro:You can add multiple lexicons to a SpeechSynthesizer object.Two values are currently supported for the mediaType parameter:

  • El valor application/pls+xml indica que el léxico se ajusta a la especificación del léxico de pronunciación (esperen) versión 1,0.The value application/pls+xml indicates that the lexicon conforms to the Pronunciation Lexicon Specification (PLS) Version 1.0. Este es el formato preferido que se va a usar.This is the preferred format to use.

  • El valor application/vdn.ms-sapi-lex indica que el formato de Lexicon es léxico sin comprimir, que es un formato de propietario de Microsoft.The value application/vdn.ms-sapi-lex indicates that the lexicon format is Uncompressed Lexicon, which is a Microsoft-proprietary format. Se trata de un formato heredado y se recomienda usar el formato esperen descrito anteriormente.This is a legacy format and we recommend that you use the PLS format described above.

Se aplica a

Consulte también: