Kakao i Skill::SSML 활용 가이드::SSML Tag

페이지 이동경로

Speak

Speak는 모든 음성에 기본적으로 적용되는 Tag로서, 모든 Tag에 필요합니다. 문장이나 문단 단위로 적용하는 것이 원칙입니다. 하지만 문장 내의 단어별로는 Speak Tag를 적용하지 않습니다.

Tag 사용 규칙
사용 규칙 분류 설명
Tag 적용 단위 각 단어가 아닌 문장 또는 문단 단위로 적용하는 것이 원칙
- 여러 문장 또는 문단 단위로 적용 가능
- 문장 단위 이하로는 적용할 수 없음
Tag 적용 규칙 Speak 하위에 Speak를 제외한 모든 Tag가 존재할 수 있음

표기법

Speak의 SSML 표기법은 다음과 같습니다.

코드예제Speak의 SSML 표기법

<speak> {Tag 적용 문장} </speak>

하위 Tag

Speak의 하위에는 Speak를 제외한 모든 Tag가 존재할 수 있습니다.

하위 Tag 리스트

예시

Speak의 SSML 입력 예시는 다음과 같습니다.

코드예제Speak의 SSML 입력 예시

<speak> 안녕하세요, 반가워요 </speak>

Voice

Voice는 음성 목소리를 변경하기 위해 사용되는 Tag이며, Attribute를 사용하여 제공하고 있는 목소리 중에 원하는 목소리를 하나 지정할 수 있습니다. 문장이나 문단 단위로 적용하는 것이 원칙이며, 문장 내 각 단어에 Voice를 적용하지 않습니다.

Tag 사용 규칙
사용 규칙 분류 설명
Tag 적용 단위 각 단어가 아닌 문장 또는 문단 단위로 적용하는 것이 원칙
Tag 적용 규칙 Voice 하위에는 SpeakVoice를 제외한 모든 Tag가 존재할 수 있음
- 각각의 목소리를 나타내는 name Attribute와 함께 사용

표기법

Voice의 SSML 표기법은 다음과 같습니다.

코드예제Voice의 SSML 표기법

<speak>
        <voice {Attribute명}= "{Attribute 값}"> {Tag 적용 문장}</voice>
</speak>

하위 Tag

Voice의 하위에는 Speak, Voice를 제외한 모든 Tag가 존재할 수 있습니다.

하위 Tag 리스트

Attribute

다음 Attribute를 사용하여 음성의 목소리를 변경할 수 있습니다. name Attribute는 텍스트 음성 변환 출력에 사용되는 음성을 식별하며, 지원하는 음성은 다음과 같습니다.

Attribute
Attribute 명 Attribute 값 설명
name Spring 카카오 기본 여자 성우
Ryan 카카오 기본 남자 성우
Naomi 여자 아나운서 성우. 뉴스에만 사용 가능
- 뉴스를 제외하고는 사용하지 않음
Nick 남자 아나운서 성우. 뉴스에만 사용 가능
- 뉴스를 제외하고는 사용하지 않음
Layla 카카오 키즈 전용 목소리. 키즈에만 사용 가능
- 키즈를 제외하고는 사용하지 않음

예시

Voice 적용 예시와 음성합성 결과는 다음과 같습니다.

코드예제SSML #1

<speak>
    안녕하세요. 여자 목소리예요.
    안녕하세요. 남자 목소리예요.
    안녕하세요. 여자 아나운서 목소리예요.
    안녕하세요. 남자 아나운서 목소리예요.
</speak>

음성합성 결과
(카카오 기본 여자 성우 목소리)
안녕하세요. 여자 목소리예요.
안녕하세요. 남자 목소리예요.
안녕하세요. 여자 아나운서 목소리예요.
안녕하세요. 남자 아나운서 목소리예요.

코드예제SSML #2

<speak>
    <voice name="Spring"> 안녕하세요. 여자 목소리예요.</voice>
    <voice name="Ryan"> 안녕하세요. 남자 목소리예요.</voice>
    <voice name="Naomi"> 안녕하세요. 여자 아나운서 목소리예요.</voice>
    <voice name="Nick"> 안녕하세요. 남자 아나운서 목소리예요.</voice>
</speak>

음성합성 결과
(카카오 기본 여자 성우 목소리)
안녕하세요. 여자 목소리예요.
(카카오 기본 남자 성우 목소리)
안녕하세요. 남자 목소리예요.
(여자 아나운서 목소리)
안녕하세요. 여자 아나운서 목소리예요.
(남자 아나운서 목소리)
안녕하세요. 남자 아나운서 목소리예요.

Prosody

Prosody는 음성의 속도와 볼륨을 변경하기 위해 사용되는 Tag입니다. 해당 Tag는 속도(rate)와 볼륨(volume)의 Attribute를 제공합니다. 문장이나 문단 단위로 적용하는 것이 원칙이며, 한 문장 안에서는 단어별로 Prosody를 적용하지 않습니다.

Tag 사용 규칙
사용 규칙 분류 설명
Tag 적용 단위 각 단어가 아닌 문장 또는 문단 단위로 적용하는 것이 원칙
Tag 적용 규칙 Speak, Voice, Prosody를 제외한 모든 Tag인 Kakao: Effect, Break, Audio, Say-as, Sub Tag 하위에서 적용

표기법

Prosody의 SSML 표기법은 다음과 같습니다.

코드예제Prosody의 SSML 표기법

<speak>
        <prosody {Attribute명}="{Attribute 값}" {Attribute명}="{Attribute 값}">{Tag 적용 문장}</prosody>
</speak>

Attribute

음성의 속도(rate)와 볼륨(volume)을 변경할 수 있습니다. Attribute별로 각각 3가지 값을 제공합니다.

Attribute
Attribute 명 Attribute 값 설명
rate slow 재생 속도를 0.9배로 설정
medium 재생 속도를 1.0배로 설정(Default)
fast 재생 속도를 1.1배로 설정
volume soft 재생 볼륨을 0.7배로 설정
medium 재생 볼륨을 1.0배로 설정(Default)
loud 재생 볼륨을 1.4배로 설정

예시

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

코드예제SSML #1

<speak>
    안녕하세요. 반가워요.
    안녕하세요. 반가워요.
</speak>

음성합성 결과
(재생 속도 1.0 / 재생 볼륨 1.0)
안녕하세요. 반가워요.
(재생 속도 1.0 / 재생 볼륨 1.0)
안녕하세요. 반가워요.

코드예제SSML #2

<speak>
    <prosody rate="fast" volume="loud">안녕하세요. 반가워요.</prosody>
    <prosody rate="slow" volume="soft">안녕하세요. 반가워요.</prosody>
</speak>

음성합성 결과
(재생 속도 1.1 / 재생 볼륨 1.4)
안녕하세요. 반가워요.
(재생 속도 0.9 / 재생 볼륨 0.7)
안녕하세요. 반가워요.

Break

Break는 의도적으로 음성 합성을 잠시 멈추기 위해 사용하는 Tag입니다. 해당 Tag를 사용하여 단어 사이에 일시 중지를 삽입할 수 있습니다. time Attribute를 함께 사용하여 멈추고 싶은 시간을 설정할 수 있습니다.

  • Speak, Voice, Prosody 하위에 위치하며, Break 하위에는 다른 Tag가 사용되지 않습니다.
  • 단어 사이에 적용할 경우, 억양이 어색해지기 때문에 문장 사이에 적용하는 것이 원칙입니다.
  • Break 앞에 텍스트가 없거나 특수 문자 등의 존재로 앞 텍스트의 음성 합성이 실패한 경우, Break가 적용되지 않습니다.
Tag 사용 규칙
사용 규칙 분류 설명
Tag 적용 단위 문장 사이에 적용하는 것이 원칙
- 단어 사이에 적용할 경우, 억양이 어색해질 수 있음
Tag 적용 규칙 - Break 앞에 텍스트가 없거나, 특수 문자 등으로 앞 텍스트 음성합성이 실패한 경우, Break가 적용되지 않음
- Break 하위에 올 수 있는 Tag는 없음
- time Attribute를 사용할 경우, 시간 단위 ms를 붙여야 함

표기법

Break의 SSML 표기법은 다음과 같습니다.

코드예제Break의 SSML 표기법

<speak>        
    {Break Tag 앞 문장}
    <break/> {Break Tag 다음 문장}
    {Break Tag 앞 문장}
    <break {Attribute명}="{Attribute 값}ms"/> {Break Tag 다음 문장}
</speak>

Attribute

다음 Attribute를 사용하여 음성합성을 멈추는 시간을 조절할 수 있습니다.

Attribute
Attribute 명 Attribute 값 설명
time 150ms와 1500ms 사이의 값 일시 중지의 절대 기간(초)을 지정할 수 있음
- 150ms(0.15초)부터 1500ms(1.5초)까지 지원
- 기본 값은 150ms

예시

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

코드예제SSML #1

<speak>        
    첫 번째 문장입니다.
    두 번째 문장입니다. 옵션을 안 준 경우 기본 셋팅 150입니다.
    세 번째 문장입니다.
    네 번째 문장입니다. 앞이랑 똑같죠?
    다섯 번째 문장입니다. 길게 쉬죠?
</speak>

음성합성 결과
첫 번째 문장입니다.
두 번째 문장입니다. 옵션을 안 준 경우 기본 셋팅 150입니다.
세 번째 문장입니다
네 번째 문장입니다. 앞이랑 똑같죠?
다섯 번째 문장입니다. 길게 쉬죠?

코드예제SSML #2

<speak>        
    첫 번째 문장입니다.
    <break/> 두 번째 문장입니다. 옵션을 안 준 경우 기본 셋팅 150입니다.
    세 번째 문장입니다
    <break time="150ms"/> 네 번째 문장입니다. 앞이랑 똑같죠?
    <break time="1500ms"/> 다섯 번째 문장입니다. 길게 쉬죠?
</speak>

음성합성 결과
첫 번째 문장입니다.
두 번째 문장입니다. 옵션을 안 준 경우 기본 셋팅 150입니다.
세 번째 문장입니다
(0.15초 쉼)
네 번째 문장입니다. 앞이랑 똑같죠?
(1.5초 쉼)
다섯 번째 문장입니다. 길게 쉬죠?

Kakao:Effect

Kakao:effect는 카카오 i 플랫폼에서 자체적으로 제공하는 Custom Tag로서, tone Attribute를 통해 존댓말을 반말로 바꿀 수 있습니다. 반말을 존댓말로 바꾸는 기능은 제공하지 않습니다. Speak를 제외한 모든 Tag가 하위에 위치할 수 있으며, 하위에 Kakao:effect를 반복해서 사용할 수 있습니다.

Tag 사용 규칙
사용 규칙 분류 설명
Tag 적용 단위 각 단어가 아닌 문장이나 문단 단위로 적용하는 것이 원칙
Tag 적용 규칙 tone Attribute를 통해 존댓말을 반말로 바꿀 수 있음
- 반말을 존댓말로 바꾸는 기능은 제공하지 않음
Speak를 제외한 모든 Tag가 하위에 위치할 수 있음
- 하위에 Kakao:effect가 여러 번 다시 올 수 있음

표기법

Kakao:effect의 SSML 표기법은 다음과 같습니다.

코드예제Kakao:effect의 SSML 표기법

<speak>
    <kakao:effect {Attribute명}="{Attribute 값}"> {Tag 적용 문장}
    </kakao:effect>
 </speak>

하위 Tag

Kakao:effect의 하위에는 Speak를 제외한 모든 Tag가 존재할 수 있습니다.

하위 Tag 리스트

Attribute

다음 Attribute를 사용하여 음성의 말투를 변경할 수 있습니다.

Attribute
Attribute 명 Attribute 값 설명
tone default 기본 말투. 사용자가 작성한 답변이 변경 없이 그대로 유지
friendly 반말(친구같은 말투)

예시

Kakao:effect Tag의 SSML 입력 예시와 음성 합성 결과는 다음과 같습니다.

코드예제SSML #1

<speak>
    안녕하세요.
    반가워요.
    잘 지내요? 여긴 존댓말 구역이에요.
    저도 잘 지내요. 
</speak>

음성합성 결과
안녕하세요.
반가워요.
잘 지내요? 여긴 존댓말 구역이에요.
저도 잘 지내요.

코드예제SSML #2

<speak>
    <kakao:effect tone="friendly"> 안녕하세요.
        <voice> 반가워요.
            <kakao:effect tone="default"> 잘 지내요? 여긴 존댓말 구역이에요.</kakao:effect>
            <prosody> 저도 잘 지내요. </prosody>
        </voice>
    </kakao:effect>
 </speak>

음성합성 결과
안녕.
반가워.
잘 지내요? 여긴 존댓말 구역이에요.
나도 잘 지내.

Say-as

Say-as는 날짜/시간 등 축약형 표현이나 전화번호, 스펠링과 같이 자주 사용하는 특수 표현을 해석하여 상황에 맞게 읽어주기 위해 사용하는 Tag입니다. 해당 Tag는 원하는 숫자, 단어, 어절, 문장뿐만 아니라 문단에도 적용할 수 있습니다.

Say-as 하위에는 다른 Tag가 사용되지 않습니다. Say-as Tag는 값을 말하는 형식을 결정하는 필수 속성인 interpret-as와 특정 interpret-as 값에 따라 format Attribute를 사용할 수 있습니다.

Say-as 뒤에 조사나 어미가 있을 때, Say-as가 적용된 표현과 자연스럽게 연결되도록 조사/어미가 변경됩니다. 조사 변형만을 원할 경우, interpret-as 값에 kakao:none을 사용합니다.

Tag 사용 규칙
사용 규칙 분류 설명
Tag 적용 단위 원하는 숫자나 단어에 적용
Tag 적용 규칙 Say-as Tag 뒤에 조사나 어미가 있을 때, Say-as가 적용된 표현과 자연스럽게 연결되도록 조사/어미가 변경
- Say-as 하위에 올 수 있는 Tag는 없음
- format Attribute는 interpret-as Attribute에서 날짜(date) 등의 일부 Value를 지정했을 때만 함께 사용

안내
Say-as를 사용한 읽어주기 사용 예시는 [영화명]일반 규칙과 다르게 읽기를 참고하시기 바랍니다.

  • Say-as를 사용한 조사 처리 예시는 조사 처리하기를 참고하시기 바랍니다.

표기법

Say-as의 SSML 표기법은 다음과 같습니다.

코드예제Say-as의 SSML 표기법

<speak>        
    <say-as {Attribute명}="{Attribute 값}">{Tag 적용 숫자/단어}</say-as>
    <say-as {Attribute명}="{Attribute 값}" {Attribute명}="{Attribute 값}">{Tag 적용 숫자/단어}</say-as>
</speak>

Attribute

다음 Attribute를 사용하여 읽어주는 방식을 변경할 수 있습니다.

Attribute
Attribute 명 Attribute 값 설명
interpret-as spell-out 영어 단어를 개별 알파벳으로 읽어줌
digits 숫자를 개별적으로 읽어줌
ex) 일, 이, 삼...
telephone 전화번호로 읽어줌
kakao:none Kakao:effecttone 처리로 변경된 존댓말이나 반말의 원형 그대로를 보호해 줌
kakao:score 스코어를 읽어줌
ex) 3:1 → 3대1
kakao:vocative 호격 조사 처리를 하도록 함
date 텍스트를 날짜로 읽어줌
- format이 누락된 경우, 기본적으로 ymd로 동작
time 텍스트를 시간으로 읽어줌
- format이 누락된 경우, 기본적으로 hms12로 동작
kakao:number 숫자 표현
- 한글식(한/하나, 두/둘, 세/셋), 한자식(일, 이 삼)으로 읽어줌
format d,m,y 날짜(date)의 포맷으로, 날짜를 표기하는 d(일), m(월), y(년)의 다양한 조합 가능
- 적용하려는 부분의 날짜 표기는 -, /, . 중 한 가지를 사용
ex) dmy, my, ymd, d, m
h,m,s,z 시간(time)의 포맷으로, 시간을 표기하는 h(시), m(분), s(초)의 다양한 조합 가능
- 시, 분, 초의 구분 문자는 :을 사용
- z(시간제)는 12(12시간제) 또는 24(24시간제)
- 시간제를 표시하지 않을 경우에는 오전/오후를 말하지 않고 숫자를 12시간제로 변화하여 읽어줌
ex) hms12, hm24, ms, hm, s
korean kakao:number의 숫자 포맷을 한국어로 읽어줌
- 숫자 뒤의 수량 단위 명사를 Tag 안에 포함해야 함
ex) 한/하나, 두/둘, 세/셋
chinese kakao:number의 숫자 포맷을 한자식으로 읽어줌
- 숫자 뒤의 수량 단위 명사를 Tag 안에 포함해야 함
ex) 일, 이, 삼

예시

Say-as의 SSML 입력 예시와 음성 합성 결과는 다음과 같습니다. interpret-as Attribute의 단일 사용 예시와 format Attribute를 함께 사용한 예시로 나누어 집니다.

코드예제SSML #1

<speak>
    <kakao:effect tone="friendly">        
        kakao를 스펠링으로 읽어줍니다.
        1987 숫자 낱개로 읽어줍니다.
        82 010 3421 6063 휴대폰 번호를 잘 읽어줍니다.
        부처님 오신날가 조사 처리 잘 해줍니다.
        3:1로 이겼습니다. 스코어로 인식하고 읽어줍니다.
        영숙야.
        톤야.
    </kakao:effect>
</speak>

음성합성 결과
카카오를 스펠링으로 읽어줘.
천구백팔십칠 숫자 낱개로 읽어줘.
팔십이 공일공에 삼사이일에 육공육삼 휴대폰 번호를 잘 읽어줘.
부처님 온날가 조사 처리 잘 해줘.
세시 일분로 이겼어. 스코어로 인식하고 읽어줘.
영숙야.
톤야.

코드예제SSML #2

<speak>        
    <kakao:effect tone="friendly">
        <say-as interpret-as="spell-out">kakao</say-as>를 스펠링으로 읽어줍니다.
        <say-as interpret-as="digits">1987</say-as> 숫자 낱개로 읽어줍니다.
        <say-as interpret-as="telephone">82 010 3421 6063</say-as> 휴대폰 번호를 잘 읽어줍니다.
        <say-as interpret-as="kakao:none">부처님 오신날</say-as>가 조사 처리 잘 해줍니다.
        <say-as interpret-as="kakao:score">3:1</say-as>로 이겼습니다. 스코어로 인식하고 읽어줍니다.
        <say-as interpret-as="kakao:vocative">영숙</say-as>야.
        <say-as interpret-as="kakao:vocative">톤</say-as>야.
    </kakao:effect>
</speak>

음성합성 결과
케이 에이 케이 에이 오를 스펠링으로 읽어줘.
일 구 팔 칠 숫자 낱개로 읽어줘.
팔이에 공일공에 삼사이하나에 육공육삼 휴대폰 번호를 잘 읽어줘.
부처님 오신날이 조사 처리 잘 해줘.
삼 대 일로 이겼어. 스코어로 인식하고 읽어줘.
영숙아.
톤아.

코드예제SSML #3

<speak>        
    10.6.85 입니다.
    10.1985 입니다.
    10-6 입니다.
    10 입니다.
    13:16:45 입니다.
    13:50 입니다.
    10:59 입니다.
    13 입니다.
    13장 입니다.
    13장 입니다.
</speak>

음성합성 결과
십 육 팔십오입니다.
십 점 일구팔오입니다.
십 다시 육입니다.
입니다.
십삼시 십육분 사십오초입니다.
십삼시 오십분입니다.
열시 오십구분입니다.
십삼입니다.
열세장입니다.
열세장입니다.

코드예제SSML #4

<speak>        
    <say-as interpret-as="date" format="dmy">10.6.85</say-as> 입니다.
    <say-as interpret-as="date" format="my">10.1985</say-as> 입니다.
    <say-as interpret-as="date" format="md">10-6</say-as> 입니다.
    <say-as interpret-as="date" format="d">10</say-as> 입니다.
    <say-as interpret-as="time" format="hms12">13:16:45</say-as> 입니다.
    <say-as interpret-as="time" format="hm24">13:50</say-as> 입니다.
    <say-as interpret-as="time" format="ms">10:59</say-as> 입니다.
    <say-as interpret-as="time" format="h">13</say-as> 입니다.
    <say-as interpret-as="kakao:number" format="chinese">13장</say-as> 입니다.
    <say-as interpret-as="kakao:number" format="korean">13장</say-as> 입니다.
</speak>

음성합성 결과
팔십오년 유월 십일입니다.
천구백팔십오년 시월입니다.
시월 육일입니다.
십일입니다.
오후 한시 십육분 사십오초입니다.
십삼시 오십분입니다.
십분 오십구초입니다.
한시입니다.
십삼장입니다.
열세장입니다.

Sub

Sub는 텍스트에 특별한 발음을 지정해야 할 때 사용하는 Tag입니다. alias Attribute와 항상 같이 사용되며, 읽어주기를 원하는 한글 독음을 직접 입력해야 합니다. 즉, alias 속성값의 텍스트는 포함된 텍스트의 발음을 대체합니다.

  • 해당 Sub Tag 하위에 올 수 있는 Tag는 없습니다.
Tag 사용 규칙
사용 규칙 분류 설명
Tag 적용 단위 원하는 부분에 적용
Tag 적용 규칙 Sub Tag 하위에 올 수 있는 Tag는 없음
- Attribute 값 입력 시, 한글로만 작성해야 해석이 쉬움

표기법

Sub의 SSML 표기법은 다음과 같습니다.

코드예제Sub의 SSML 표기법

<speak>
    <sub {Attribute명}="{Attribute 값}">{Tag 적용 부분}</sub>
</speak>

Attribute

다음 Attribute를 사용하여 특별하게 발음을 지정할 수 있습니다.

Attribute
Attribute 명 Attribute 값 설명
alias 한글 독음 읽어주기를 원하는 한글 독음을 직접 입력

예시

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

코드예제SSML #1

<speak> Al은 단단하다.</speak>

음성합성 결과
은 단단하다.

코드예제SSML #2

<speak>
    <sub alias="알루미늄">Al</sub>은 단단하다.
</speak>

음성합성 결과
알루미늄은 단단하다.
안내
Sub를 사용한 읽어주기 사용 예시는 [영화명] 일반 규칙과 다르게 읽기를 참고하시기 바랍니다.

Audio

Audio는 외부 음원을 조건(Attribute 값)에 맞게 재생하기 위해 사용하는 Tag로서, 효과음 등을 음성과 함께 제공할 때 사용합니다. 합성된 음성 출력과 함께 녹음된 오디오 파일의 삽입과 기타 오디오 형식의 삽입이 가능합니다. 다양한 Attribute를 사용하여 음원의 시작 및 종료 지점, 반복 횟수 등을 지정할 수 있습니다.

오디오 URL을 사용할 수 없는 경우, <audio> Tag로 감싸진 대체 텍스트가 합성됩니다. 대체 텍스트는 TTS 합성 외 화면에 출력되는 스크립트 등 시각적 요소로도 사용됩니다. 오디오 URL의 내용을 텍스트로 모두 표현할 수 있을 경우, 텍스트를 표시합니다.

  • 해당 Audio Tag 하위에 올 수 있는 Tag는 없습니다.
Tag 사용 규칙
사용 규칙 분류 설명
Tag 적용 단위 (해당 없음)
Tag 적용 규칙 (해당 없음)

표기법

Audio의 SSML 표기법은 다음과 같습니다.

코드예제Audio의 SSML 표기법

<speak>
    <audio {Attribute명}="{Attribute 값}" {Attribute명}="{Attribute 값}" {Attribute명}="{Attribute 값}">
    <audio {Attribute명}="{Attribute 값}" {Attribute명}="{Attribute 값}" {Attribute명}="{Attribute 값}" {Attribute명}="{Attribute 값}">
</speak>

Attribute

다음 7개의 Attribute를 사용하여 음원의 시작 및 종료 시점, 반복 횟수 등을 지정할 수 있습니다.

Attribute
Attribute 명 Attribute 값 설명
clipBegin 음원의 시작 시간 음원의 시작 시간 세팅
- 단위: 초(3분부터 시작하고 싶을 경우 180s로 설정)
- 소수점 첫 번째 자리까지 입력 가능
- 단위로 s를 붙여야 함
- 음원의 길이보다 큰 값을 주면 무시됨
- clipBeginclipEnd보다 크면 음원 생성이 불가능
- clipBeginclipEnd를 쌍으로 쓸 필요는 없음
clipEnd 음원의 종료 시간 음원의 종료 시간 세팅
- 단위: 초
- 소수점 첫 번째 자리까지 입력 가능
- 단위로 s를 붙여야 함
- 음원의 길이보다 큰 값을 주면 무시됨
- clipBeginclipEnd를 쌍으로 쓸 필요는 없음
repeatCount 반복 횟수 자연수로 반복 횟수 세팅
- clipBeginclipEnd가 설정된 경우, 해당 부분만 반복
repeatDur 반복 시간 반복 시간 세팅
- 단위: 초
- 소수점 첫 번째 자리까지 입력 가능
- 단위로 s를 붙여야 함
- 설정한 시간 동안 음원의 시작과 끝을 기준으로 반복하며, clipBeginclipEnd가 설정되어 있을 경우 구간 반복 실행
- 설정한 재생 시간보다 clipBegin, clipEnd, repeatCount 값으로 정해진 재생값이 더 큰 경우, 설정한 재생 시간까지만 재생
- repeatDurrepeatCount가 모두 설정된 경우, repeatCount 대신 repeatDur를 기준으로 동작
soundLevel 볼륨 볼륨 조절
- 단위: (n)dB
- 소수점 첫 번째 자리까지 입력 가능
- 단위로 dB를 붙여야 함
- 너무 높거나 낮은 값을 입력하면, 클리핑이 발생할 수 있음
src URL 오디오 파일의 위치/URL 지정
speed 속도 속도 조절
- 단위: %
- 소수점 첫 번째 자리까지 입력 가능
- 단위로 %를 붙여야 함
- 70~130%까지만 사용 권장

예시

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

코드예제SSML #1

<speak>
    <audio src="http://www.noiseaddicts.com/samples_1w72b820/274.mp3" clipBegin="1.1s" clipEnd="3s" repeatDur="10s" soundLevel="3dB" speed="70%"/>
</speak>

음성합성 결과
(해당 URL 음원의 1.1초와 3초 사이를 3dB의 음량과 70%의 속도로 10초 간 부분 반복합니다.)

코드예제SSML #2

<speak>
    <audio src="http://www.noiseaddicts.com/fortune.mp3">오늘은 돈이 들어오는 운수 좋은 날이네요.</audio>
</speak>

음성합성 결과
(음원 합성 실패 시, 대체 텍스트가 음성합성되어 재생됩니다.)
오늘은 돈이 들어오는 운수 좋은 날이네요.
이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

더 자세한 의견은 documentation@kakaoenterprise.com 으로 제보해주세요.