본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트

사이드 메뉴

플랫폼 API

API 제공

전용 API

어드민 API

이 문서는 음성 API 관련 추가 정보를 안내합니다.

음성 API는 SSML(Speech Synthesis Markup Language, 음성 합성 마크업 언어)를 사용합니다. 음성 합성 API 사용 시 SSML 형식으로 요청 데이터를 전달해야 합니다.

음성 합성 시 SSML을 사용해 목소리, 읽기 규칙, 효과음 등의 태그를 설정할 수 있습니다. 음성 API는 SSML의 W3C 표준을 준수하고 있으며, 표준에 정의되지 않은 일부 추가 속성을 제공합니다. 아래 SSML 작성 시 주의사항의 내용을 함께 확인합니다.

  • 각 태그 사이에 공백을 포함하지 않아야 합니다. 태그 사이의 공백도 하나의 음성 단위로 판단하므로 의도하지 않은 결과 또는 오류의 원인이 될 수 있습니다.
    • 잘못된 예제: <speak> <voice name="Summer"> 안녕하세요. 서머 목소리 입니다.</voice> </speak>
    • 올바른 예제: <speak><voice name="Summer"> 안녕하세요. 서머 목소리 입니다.</voice></speak>
  • 음성 합성이 필요한 문구는 괄호(( ), [ ], { }) 안에 작성하지 않아야 합니다. 괄호 안의 내용은 모두 음성 합성에서 제외됩니다.

음성 API에 사용 가능한 SSML 태그 정보는 아래와 같습니다.

  • 최상위(Root) 태그입니다. 음성 합성 시 모든 원문을 <speak> 태그로 감싸서 전달해야 합니다.
  • 문장 또는 문단 단위로 나누어 사용하고, 단어별로 나누어 사용하지 않아야 합니다.
  • 여러 하위 태그를 포함할 수 있습니다.
<speak> 안녕하세요. 반가워요.</speak>
  • <voice> 태그로 음성 합성 시 적용할 목소리를 설정할 수 있습니다.
  • 하나의 <speak> 태그 안에 여러 종류의 목소리를 지정할 수 있습니다.
속성설명필수
name적용할 목소리 이름

사용 가능한 값
Summer, Clara, Roman, Anna, Diana, Nora, David, Dean, Chase, Daisy, Casey, Claire, Carter, Cooper, Cameron, Kevin
X
<speak><voice name="Summer">안녕하세요. 서머 목소리 입니다.</voice><voice name="Roman">로만 목소리 입니다.</voice><voice name="Anna">안나 목소리 입니다.</voice><voice name="Carter">카터 목소리 입니다.</voice></speak>
  • <prosody> 태그로 음성 속도와 볼륨을 설정할 수 있습니다.
  • <speak><voice>를 제외한 하위 태그를 포함할 수 있습니다.
속성설명필수
rate속도

사용 가능한 값
slow: 0.9, 느림
medium:1.0, 보통
fast: 1.1, 빠름
(기본값: medium)
X
volume볼륨

사용 가능한 값
soft:0.7, 작게
medium:1.0, 보통
loud: 1.4, 크게
(기본값: medium)
X
<speak><prosody rate="fast" volume="loud">안녕하세요. 반가워요.</prosody><prosody rate="slow" volume="soft">안녕하세요. 반가워요.</prosody></speak>
  • <break> 태그로 문장과 문장 사이에 잠시 침묵하는 시간을 두도록 설정할 수 있습니다.
  • 단어와 단어 사이에 사용 시 억양이 이상해질 수 있습니다.
속성설명필수
time문장과 문장 사이에 침묵하는 시간의 길이

사용 가능한 값
150(0.15초)~1500(1.5초) 사이의 정수 값
(기본값: 150)
X
<speak>첫 번째 문장입니다.<break/>쉼표 기본값입니다.<break time="1500ms"/>쉼표 최대값입니다.</speak>
  • <audio> 태그로 외부 음원을 음성 합성 시 포함할 수 있습니다.
  • 음성과 효과음을 함께 제공할 수 있습니다.
  • 음원의 시작, 종료 지점과 반복 횟수를 지정할 수 있습니다.
  • <speak> 또는 <prosody> 태그 하위에 포함해야 합니다.
음원 저작권 및 추가 구현 관련 문제

<audio> 태그는 음원의 저작권, 저장소, 추가 구현 관련 문제가 발생할 수 있어, 사용 전 음성 인식 합성 API 및 라이브러리 아지트에서 별도 협의가 필요합니다.

속성설명필수
src음원 URL

사용 가능한 값
URL
X
clipBegin음원 시작 시간

사용 가능한 값
음원 길이나 종료 시간보다 작은 숫자 값, 소수점 첫째 자리까지 지정 가능(단위: 초)
X
clipEnd음원 종료 시간

사용 가능한 값
음원 길이보다 작은 숫자 값, 소수점 첫째 자리까지 지정 가능(단위: 초)
X
repeatCount반복 횟수
clipBegin부터 clipEnd까지의 구간 반복

사용 가능한 값
정수 값
X
repeatDur반복 시간
clipBeginclipEnd가 지정된 경우, 해당 구간을 repeatDur 시간만큼 반복

사용 가능한 값
(단위: 초)

중요
clipBegin, clipEnd, repeatCount으로 정해진 재생 시간보다 repeatDur이 큰 경우, repeatDur를 무시하고 정해진 재생 시간까지만 재생
repeatCountrepeatDur 모두 사용 시 repeatDur 우선 적용
X
soundLevel볼륨 조절

사용 가능한 값
숫자 값, 소수점 첫째 자리까지 지정 가능(단위: 데시벨, dB)
X
speed속도 조절(%)

사용 가능한 값
숫자 값, 소수점 첫째 자리까지 지정 가능(단위: 퍼센트, %)

중요
70~130 사이의 값 사용 권장
X
<speak><audio src="http://www.noiseaddicts.com/samples_1w72b820/274.mp3" clipBegin="1.1" clipEnd="3s" repeatDur="10s" soundLevel="3dB" speed="70%"/> 안녕하세요?</speak>

도움이 되었나요?