Speech Synthesis Markup Language 사용
Azure AI Speech SDK를 사용하면 일반 텍스트를 음성으로 합성할 수 있지만(예: SpeakTextAsync() 메서드를 사용하여) 이 서비스는 생성하려는 음성의 특성을 설명하기 위한 XML 기반 구문도 지원합니다. 이 SSML( Speech Synthesis Markup Language ) 구문은 음성 출력이 어떻게 들리는지 보다 세부적인 제어를 제공하여 다음을 수행할 수 있도록 합니다.
- 신경망 음성을 사용할 때 "흥분" 또는 "쾌활한"과 같은 말하기 스타일을 지정합니다.
- 일시 중지 또는 무음 삽입
- 음소(발음 기호)를 지정합니다. 예를 들어 텍스트 "SQL"을 "씨퀄"로 발음하도록 설정합니다.
- 음성의 프로소디 를 조정합니다(피치, 음색 및 말하기 속도에 영향을 줍니다).
- 예를 들어 지정된 문자열을 날짜, 시간, 전화 번호 또는 기타 형식으로 표현하도록 지정하는 일반적인 "say-as" 규칙을 사용합니다.
- 예를 들어 기록된 음성 또는 오디오를 삽입하여 표준 녹음된 메시지를 포함하거나 배경 노이즈를 시뮬레이션합니다.
예를 들어 다음 SSML을 고려합니다.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AriaNeural">
<mstts:express-as style="cheerful">
I say tomato
</mstts:express-as>
</voice>
<voice name="en-US-GuyNeural">
I say <phoneme alphabet="sapi" ph="t ao m ae t ow"> tomato </phoneme>.
<break strength="weak"/>Lets call the whole thing off!
</voice>
</speak>
이 SSML은 다음과 같이 두 개의 서로 다른 신경망 음성 간에 음성 대화 상자를 지정합니다.
- 아리아나 (유쾌하게): "나는 토마토를 말한다:
- 가이: "나는 토마토 ( 발음 톰-아-토)라고 말해요 ... 그만 하기로 해요!"
Speech Service에 SSML 설명을 제출하려면 다음과 같이 SpeakSsmlAsync() 메서드를 사용할 수 있습니다.
speechSynthesizer.SpeakSsmlAsync(ssml_string);
SSML에 대한 자세한 내용은 Azure AI Speech SDK 설명서를 참조하세요.