Speak
Speak
는 모든 음성에 기본적으로 적용되는 Tag로서, 모든 Tag에 필요합니다. 문장이나 문단 단위로 적용하는 것이 원칙입니다. 하지만 문장 내의 단어별로는 Speak
Tag를 적용하지 않습니다.
사용 규칙 분류 | 설명 |
---|---|
Tag 적용 단위 | 각 단어가 아닌 문장 또는 문단 단위로 적용하는 것이 원칙 - 여러 문장 또는 문단 단위로 적용 가능 - 문장 단위 이하로는 적용할 수 없음 |
Tag 적용 규칙 | Speak 하위에 Speak 를 제외한 모든 Tag가 존재할 수 있음 |
표기법
Speak
의 SSML 표기법은 다음과 같습니다.
코드예제Speak의 SSML 표기법
<speak> {Tag 적용 문장} </speak>
하위 Tag
Speak
의 하위에는 Speak
를 제외한 모든 Tag가 존재할 수 있습니다.
예시
Speak
의 SSML 입력 예시는 다음과 같습니다.
코드예제Speak의 SSML 입력 예시
<speak> 안녕하세요, 반가워요 </speak>
Voice
Voice
는 음성 목소리를 변경하기 위해 사용되는 Tag이며, Attribute를 사용하여 제공하고 있는 목소리 중에 원하는 목소리를 하나 지정할 수 있습니다. 문장이나 문단 단위로 적용하는 것이 원칙이며, 문장 내 각 단어에 Voice
를 적용하지 않습니다.
사용 규칙 분류 | 설명 |
---|---|
Tag 적용 단위 | 각 단어가 아닌 문장 또는 문단 단위로 적용하는 것이 원칙 |
Tag 적용 규칙 | Voice 하위에는 Speak 와 Voice 를 제외한 모든 Tag가 존재할 수 있음- 각각의 목소리를 나타내는 name Attribute와 함께 사용 |
표기법
Voice
의 SSML 표기법은 다음과 같습니다.
코드예제Voice의 SSML 표기법
<speak>
<voice {Attribute명}= "{Attribute 값}"> {Tag 적용 문장}</voice>
</speak>
하위 Tag
Voice
의 하위에는 Speak
, Voice
를 제외한 모든 Tag가 존재할 수 있습니다.
Attribute
다음 Attribute를 사용하여 음성의 목소리를 변경할 수 있습니다. name
Attribute는 텍스트 음성 변환 출력에 사용되는 음성을 식별하며, 지원하는 음성은 다음과 같습니다.
Attribute 명 | Attribute 값 | 설명 |
---|---|---|
name | Spring | 카카오 기본 여자 성우(밝은 목소리) - 카카오i를 제외하고는 사용하지 않음 |
Ryan | 카카오 기본 남자 성우(다정한 목소리) - 카카오i를 제외하고는 사용하지 않음 |
|
Summer | 카카오 기본 여자 성우(감성적인 목소리) | |
Roman | 카카오 기본 남자 성우(차분한 목소리) | |
Naomi | 여자 아나운서 성우. 뉴스에만 사용 가능 - 뉴스를 제외하고는 사용하지 않음 |
|
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 적용 규칙 | 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별로 각각 세 가지 값을 제공합니다.
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를 함께 사용하여 멈추고 싶은 시간을 설정할 수 있습니다.
표Tag 사용 규칙
Speak
,Voice
,Prosody
하위에 위치하며,Break
하위에는 다른 Tag가 사용되지 않습니다.- 단어 사이에 적용할 경우, 억양이 어색해지기 때문에 문장 사이에 적용하는 것이 원칙입니다.
Break
앞에 텍스트가 없거나 특수 문자 등의 존재로 앞 텍스트의 음성 합성이 실패한 경우,Break
가 적용되지 않습니다.
사용 규칙 분류 | 설명 |
---|---|
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를 사용하여 음성합성을 멈추는 시간을 조절할 수 있습니다.
표AttributeAttribute 명 | 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 적용 규칙 | 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가 존재할 수 있습니다.
Attribute
다음 Attribute를 사용하여 음성의 말투를 변경할 수 있습니다.
표AttributeAttribute 명 | 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 적용 규칙 | 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를 사용하여 읽어주는 방식을 변경할 수 있습니다.
표AttributeAttribute 명 | Attribute 값 | 설명 |
---|---|---|
interpret-as | spell-out | 영어 단어를 개별 알파벳으로 읽어줌 |
digits | 숫자를 개별적으로 읽어줌 ex) 일, 이, 삼... |
|
kakao:serial | 숫자를 개별적으로 읽어주며, - 를 “다시”로 읽음 |
|
telephone | 전화번호로 읽어줌 | |
kakao:none | Kakao:effect 의 tone 처리로 변경된 존댓말이나 반말의 원형 그대로를 보호해 줌 |
|
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로 이겼습니다. 스코어로 인식하고 읽어줍니다.
영숙야.
톤야.
1234-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-1</say-as> 숫자 낱개로 읽어줍니다.
<say-as interpret-as="kakao:serial">1987-1</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 적용 규칙 | Sub Tag 하위에 올 수 있는 Tag는 없음- Attribute 값 입력 시, 한글로만 작성해야 해석이 쉬움 |
표기법
Sub
의 SSML 표기법은 다음과 같습니다.
코드예제Sub의 SSML 표기법
<speak>
<sub {Attribute명}="{Attribute 값}">{Tag 적용 부분}</sub>
</speak>
Attribute
다음 Attribute를 사용하여 특별하게 발음을 지정할 수 있습니다.
표AttributeAttribute 명 | 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 적용 규칙 | (해당 없음) |
표기법
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를 사용하여 음원의 시작 및 종료 시점, 반복 횟수 등을 지정할 수 있습니다.
표AttributeAttribute 명 | Attribute 값 | 설명 |
---|---|---|
clipBegin | 음원의 시작 시간 | 음원의 시작 시간 세팅 - 단위: 초(3분부터 시작하고 싶을 경우 180s로 설정) - 소수점 첫 번째 자리까지 입력 가능 - 단위로 s를 붙여야 함 - 음원의 길이보다 큰 값을 주면 무시됨 - clipBegin 이 clipEnd 보다 크면 음원 생성이 불가능- clipBegin 과 clipEnd 를 쌍으로 쓸 필요는 없음 |
clipEnd | 음원의 종료 시간 | 음원의 종료 시간 세팅 - 단위: 초 - 소수점 첫 번째 자리까지 입력 가능 - 단위로 s를 붙여야 함 - 음원의 길이보다 큰 값을 주면 무시됨 - clipBegin 과 clipEnd 를 쌍으로 쓸 필요는 없음 |
repeatCount | 반복 횟수 | 자연수로 반복 횟수 세팅 - clipBegin 과 clipEnd 가 설정된 경우, 해당 부분만 반복 |
repeatDur | 반복 시간 | 반복 시간 세팅 - 단위: 초 - 소수점 첫 번째 자리까지 입력 가능 - 단위로 s를 붙여야 함 - 설정한 시간 동안 음원의 시작과 끝을 기준으로 반복하며, clipBegin 과 clipEnd 가 설정되어 있을 경우 구간 반복 실행- 설정한 재생 시간보다 clipBegin , clipEnd , repeatCount 값으로 정해진 재생값이 더 큰 경우, 설정한 재생 시간까지만 재생- repeatDur 와 repeatCount 가 모두 설정된 경우, 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>
음성합성 결과 |
---|
(음원 합성 실패 시, 대체 텍스트가 음성합성되어 재생됩니다.) 오늘은 돈이 들어오는 운수 좋은 날이네요. |