SpeechSynthesizer.AddLexicon(Uri, String) Método

Definición

Agrega un léxico al objeto SpeechSynthesizer.

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

Parámetros

uri
Uri

La ubicación de la información de léxico.

mediaType
String

Tipo de medio del léxico. Los valores de tipo de medio no distinguen mayúsculas de minúsculas.

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". El léxico define la Pronunciación de "Blue" para que suene como "Bleep". Mientras se carga el léxico, el sintetizador de voz usa la pronunciación definida en el léxico.

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:

<?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. Puede usar un léxico para especificar pronunciaciones personalizadas para el vocabulario especializado en la aplicación.

Las pronunciaciones especificadas en un archivo de léxico externo tienen prioridad sobre las pronunciaciones del diccionario o diccionario interno del sintetizador de voz. Sin embargo, las pronunciacións especificadas en los mensajes creados con cualquiera de AppendTextWithPronunciation los AppendSsmlMarkup métodos, o AppendSsml tienen prioridad sobre las pronunciacións especificadas en cualquier léxico. Las pronunciaciones en línea solo se aplican a una única aparición de una palabra. Consulte léxicos y alfabetos fonéticos para obtener más información.

Puede agregar varias léxicos a un SpeechSynthesizer objeto. Actualmente se admiten dos valores para el mediaType parámetro:

  • 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. Este es el formato preferido que se va a usar.

  • 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. Se trata de un formato heredado y se recomienda usar el formato esperen descrito anteriormente.

Se aplica a

Consulte también