Kakao i Skill::SSML 활용 가이드::부록 A. SSML 활용 예시

페이지 이동경로

조사 처리하기

다양한 엔티티를 활용하여 답변 문장을 만들 경우, 엔티티에 따라 조사 혹은 어미 처리가 필요할 때는 SSML을 사용합니다. 조사나 어미 처리가 필요한 단어에 < say-as interpret-as=“kakao:none” > Tag를 적용합니다.

예시

SSML 입력 예시와 음성 합성 결과는 다음과 같습니다.

코드예제SSML #1

<speak>
    오늘은 부처님가 태어난 날로, 부처님 오신날예요.
</speak>

음성합성 결과
오늘은 부처님가 태어난 날로, 부처님 오신날예요.

코드예제SSML #2

<speak>
    오늘은 <say-as interpret-as="kakao:none">부처님</say-as>가 태어난 날로, <say-as interpret-as="kakao:none">부처님 오신날</say-as>예요.
</speak>

음성합성 결과
오늘은 부처님이 태어난 날로, 부처님 오신날이에요.

효과음 동시 전송하기

효과음과 음성을 순서대로 재생할 경우, Audio Tag를 사용합니다.

예시

SSML 입력 예시와 음성 합성 결과는 다음과 같습니다.

코드예제SSML #1

<speak>
    안녕하세요?
</speak>

음성합성 결과
안녕하세요?

코드예제SSML #2

<speak>
    <audio src="http://www.noiseaddicts.com/samples_1w72b820/274.mp3" clipBegin="1.1s" clipEnd="3s"/> 안녕하세요?
</speak>

음성합성 결과
(음원의 1.1초부터 3초 부분까지 효과음 재생 후)
안녕하세요?

[영화명] 일반 규칙과 다르게 읽기

영화명의 경우 영화 “1987”은 “천구백팔십칠”이 아니라 “일구팔칠”로 읽어야 합니다. 이처럼 기존의 읽기 방식과 다르게 읽어야 할 때 Say-asSub Tag를 사용합니다. Say-as를 정해진 규칙으로 변경할 수 없으면, Sub를 사용합니다.

예시

SSML 입력 예시와 음성 합성 결과는 다음과 같습니다.

코드예제SSML #1

<speak>
    영화 1987은, 흥행 1위입니다.
</speak>

음성합성 결과
영화 천구백팔십칠은, 흥행 1위입니다.

코드예제SSML #2

<speak>
    영화 <say-as interpret-as="digits">1987</say-as>은, 흥행 1위입니다.
</speak>

음성합성 결과
영화 일구팔칠은, 흥행 1위입니다.

say-as에서 정해진 규칙으로 변경할 수 없을 때, sub를 활용합니다.

코드예제SSML #3

<speak>
    영화 <sub alias="일구팔칠">1987</sub>은, 흥행 1위입니다.
</speak>

음성합성 결과
영화 일구팔칠은, 흥행 1위입니다.

[성경] 10장 10절을 “십장 십절”로 읽기

TTS 기본 규칙에 따르면 “10장”은 “열 장”으로 읽는 것이 원칙이지만, 성경에서는 “십장”으로 읽어야 합니다. 이 경우 Say-as를 활용하여 숫자를 읽는 규칙을 정의합니다.

예시

SSML 입력 예시와 음성 합성 결과는 다음과 같습니다.

코드예제SSML #1

<speak>
    마태복음 10장 10절 말씀입니다.
</speak>

음성합성 결과
마태복음 열장 열절 말씀입니다.

코드예제SSML #2

<speak>
    마태복음 <say-as interpret-as="kakao:number" format="chinese">10</say-as>장 <say-as interpret-as="kakao:number" format="chinese">10</say-as>절 말씀입니다.
</speak>

음성합성 결과
마태복음 십장 십절 말씀입니다.
이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

더 자세한 의견은 contact.dkt@kakaocorp.com 으로 제보해주세요.