Compartir a través de


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 "azul" 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 muestra el contenido del archivo léxico 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 admitido. Puede usar un léxico para especificar pronunciaciones personalizadas para vocabulario especializado en la aplicación.

Las pronunciaciones especificadas en un archivo léxico externo tienen prioridad sobre las pronunciaciones del léxico o diccionario interno del sintetizador de voz. Sin embargo, las pronunciaciones especificadas insertadas en los mensajes creados con cualquiera de los AppendTextWithPronunciationmétodos , AppendSsmlMarkupo AppendSsml tienen prioridad sobre las pronunciaciones especificadas en cualquier léxico. Las pronunciaciones insertadas solo se aplican a una sola aparición de una palabra. Consulte Léxico y alfabetos fonéticos para obtener más información.

Puede agregar varios 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 de léxico de pronunciación (PLS) 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 léxico es Uncompressed Lexicon, que es un formato propietario de Microsoft. Se trata de un formato heredado y se recomienda usar el formato PLS descrito anteriormente.

Se aplica a

Consulte también