다음을 통해 공유


텍스트 음성 변환

XSpeechSynthesizer API는 텍스트 문자열을 오디오 스트림으로 변환하는 음성 합성 엔진(또는 음성)(TTS(텍스트 음성 변환)라고도 부름) 초기화 및 구성을 지원합니다. 예를 들어 Speech Synthesis Markup Language(SSML) 버전 1.0을 이용해 음성 특성, 발음, 크기, 피치, 속도, 강세 등을 사용자 지정합니다.

참고 항목

이 API는 SSML의 호출자 대 사용자 버전 1.0을 요구합니다.

다음 단계에서는 API를 사용하는 방법을 보여줍니다.

  1. XSpeechSynthesizerCreate를 호출하여 음성 신시사이저를 만듭니다. 핸들을 놓으면 안 됩니다.
  2. 또한 XSpeechSynthesizerSetCustomVoice 또는 XSpeechSynthesizerSetDefaultVoice를 호출하여 원하는 음성을 선택할 수 있습니다.
  3. 음성으로 변환할 텍스트 각 부분에 대해 다음 단계를 수행합니다.
    1. XSpeechSynthesizerCreateStreamFromText를 호출하여 새 스트림을 만듭니다. 이 기능이 완료될 때쯤에는 텍스트를 .wav 파일로 변환하는 작업도 완료될 것입니다. 이 변환은 시간이 오래 걸릴 수 있으므로, 시간이 중요한 스레드에서는 수행해선 안 됩니다.
    2. XSpeechSynthesizerGetStreamDataSize를 호출하여, 오디오 데이터를 얻는 데 필요한 버퍼 크기를 결정합니다.
    3. XSpeechSynthesizerGetStreamData를 호출하여 스트림에서 오디오 데이터(.wav 파일)를 가져옵니다.
    4. 오디오 데이터를 오디오 렌더러로 보냅니다.
    5. XSpeechSynthesizerCloseStreamHandle을 호출하여 스트림 핸들을 닫습니다.
  4. 음성 합성이 완전히 마무리되면 SpeechSynthesizerCloseHandle을 호출하여 핸들을 닫습니다.

참고 항목

XSpeechSynthesizer API 참조