SpeechSynthesizer.AddLexicon(Uri, String) メソッド


用語集を SpeechSynthesizer オブジェクトに追加します。Adds a lexicon to the SpeechSynthesizer object.

 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)



辞書情報の場所。The location of the lexicon information.


辞書のメディア タイプ。The media type of the lexicon. メディアの種類の値では大文字と小文字は区別されません。Media type values are not case sensitive.

次の例は、"blue" という単語のカスタム発音を含む辞書を追加および削除した場合の効果を示しています。The following example demonstrates the effect of adding and removing a lexicon that contains a custom pronunciation for the word "blue". 辞書では、"bleep" のように音を鳴らす "青" の発音を定義しています。The lexicon defines the pronunciation of "blue" to sound like "bleep". 辞書が読み込まれている間、音声シンセサイザーは辞書に定義されている発音を使用します。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.   
        // 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("Press any key to exit...");  

次に、用語集ファイル Blue. ていの内容を示します。Following are the contents of the lexicon file Blue.pls:

<?xml version="1.0" encoding="UTF-8"?>  
<lexicon version="1.0"   
      alphabet="x-microsoft-ups" xml:lang="en-US">  
    <grapheme> blue </grapheme>  
    <phoneme> B L I P </phoneme>  


発音辞書とは、サポートされている発音記号の文字と文字で構成される単語または語句とその発音をまとめたものです。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. 辞書を使用して、アプリケーションで特殊な語彙のカスタム発音を指定することができます。You can use a lexicon to specify custom pronunciations for specialized vocabulary in your application.

外部辞書ファイルに指定された発音は、音声シンセサイザーの内部辞書または辞書の発音よりも優先されます。Pronunciations specified in an external lexicon file take precedence over the pronunciations of the speech synthesizer's internal lexicon or dictionary. ただし、AppendTextWithPronunciationAppendSsmlMarkup、または AppendSsml メソッドを使用して作成されたプロンプトでインラインで指定された発音は、どの辞書に指定されている発音よりも優先されます。However, pronunciations specified inline in prompts created with any of the AppendTextWithPronunciation, AppendSsmlMarkup, or AppendSsml methods take precedence over pronunciations specified in any lexicon. インライン発音は、単語が1回出現する場合にのみ適用されます。Inline pronunciations apply only to a single occurrence of a word. 詳細については、「辞書と発音のアルファベット」を参照してください。See Lexicons and Phonetic Alphabets for more information.

SpeechSynthesizer オブジェクトに複数の辞書を追加できます。mediaType パラメーターでは、次の2つの値がサポートされています。You can add multiple lexicons to a SpeechSynthesizer object.Two values are currently supported for the mediaType parameter:

  • application/pls+xml 値は、辞書が発音辞書仕様 (てい) バージョン 1.0に準拠していることを示します。The value application/pls+xml indicates that the lexicon conforms to the Pronunciation Lexicon Specification (PLS) Version 1.0. この形式を使用することをお勧めします。This is the preferred format to use.

  • application/vdn.ms-sapi-lex 値は、辞書形式が非圧縮辞書であることを示します。これは、Microsoft 独自の形式です。The value application/vdn.ms-sapi-lex indicates that the lexicon format is Uncompressed Lexicon, which is a Microsoft-proprietary format. これは従来の形式であり、上記のてい形式を使用することをお勧めします。This is a legacy format and we recommend that you use the PLS format described above.