텍스트 음성 변환
XSpeechSynthesizer API는 텍스트 문자열을 오디오 스트림으로 변환하는 음성 합성 엔진(또는 음성)(TTS(텍스트 음성 변환)라고도 부름) 초기화 및 구성을 지원합니다. 예를 들어 Speech Synthesis Markup Language(SSML) 버전 1.0을 이용해 음성 특성, 발음, 크기, 피치, 속도, 강세 등을 사용자 지정합니다.
참고 항목
이 API는 SSML의 호출자 대 사용자 버전 1.0을 요구합니다.
다음 단계에서는 API를 사용하는 방법을 보여줍니다.
- XSpeechSynthesizerCreate를 호출하여 음성 신시사이저를 만듭니다. 핸들을 놓으면 안 됩니다.
- 또한 XSpeechSynthesizerSetCustomVoice 또는 XSpeechSynthesizerSetDefaultVoice를 호출하여 원하는 음성을 선택할 수 있습니다.
- 음성으로 변환할 텍스트 각 부분에 대해 다음 단계를 수행합니다.
- XSpeechSynthesizerCreateStreamFromText를 호출하여 새 스트림을 만듭니다. 이 기능이 완료될 때쯤에는 텍스트를 .wav 파일로 변환하는 작업도 완료될 것입니다. 이 변환은 시간이 오래 걸릴 수 있으므로, 시간이 중요한 스레드에서는 수행해선 안 됩니다.
- XSpeechSynthesizerGetStreamDataSize를 호출하여, 오디오 데이터를 얻는 데 필요한 버퍼 크기를 결정합니다.
- XSpeechSynthesizerGetStreamData를 호출하여 스트림에서 오디오 데이터(.wav 파일)를 가져옵니다.
- 오디오 데이터를 오디오 렌더러로 보냅니다.
- XSpeechSynthesizerCloseStreamHandle을 호출하여 스트림 핸들을 닫습니다.
- 음성 합성이 완전히 마무리되면 SpeechSynthesizerCloseHandle을 호출하여 핸들을 닫습니다.