다음을 통해 공유


SpeechSynthesizer.AddLexicon(Uri, String) 메서드

정의

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)

매개 변수

uri
Uri

lexicon 정보의 위치입니다.

mediaType
String

어휘집의 미디어 유형입니다. 미디어 형식 값은 대/소문자를 구분하지 않습니다.

예제

다음 예제에서는 단어 "blue"에 대한 사용자 지정 발음이 포함된 어휘집을 추가하고 제거하는 효과를 보여 줍니다. 어휘집은 "bleep"처럼 들리도록 "파란색"의 발음을 정의합니다. 어휘가 로드되는 동안 음성 신시사이저는 어휘집에 정의된 발음을 사용합니다.

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

다음은 Lexicon 파일 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>

설명

발음 어휘집은 지원되는 윗주 알파벳의 문자와 문자로 구성된 발음과 함께 단어 또는 구의 컬렉션입니다. 애플리케이션에서 특수화 된 어휘에 대 한 사용자 정의 발음을 지정 하는 용어를 사용할 수 있습니다.

외부 어휘집 파일에 지정된 발음이 음성 신시사이저의 내부 어휘집 또는 사전의 발음보다 우선합니다. 그러나 , AppendSsmlMarkup또는 AppendSsml 메서드를 사용하여 만든 프롬프트에서 인라인으로 AppendTextWithPronunciation지정된 발음이 어휘집에 지정된 발음보다 우선합니다. 인라인 발음은 단일 단어 발생에만 적용됩니다. 참조 사전 및 음성 알파벳 자세한 내용은 합니다.

개체에 여러 어휘를 추가할 수 있습니다 SpeechSynthesizer . 현재 매개 변수에 대해 두 가지 값이 mediaType 지원됩니다.

  • application/pls+xml 은 어휘가 PLS(발음 어휘 사양) 버전 1.0을 준수함을 나타냅니다. 이 형식을 사용하는 것이 좋습니다.

  • application/vdn.ms-sapi-lex 은 어휘집 형식이 Microsoft 전용 형식인 압축되지 않은 어휘집임을 나타냅니다. 이는 레거시 형식이며 위에서 설명한 PLS 형식을 사용하는 것이 좋습니다.

적용 대상

추가 정보