사이드 메뉴
커뮤니케이션
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 | 반복 시간clipBegin과 clipEnd가 지정된 경우, 해당 구간을 repeatDur 시간만큼 반복사용 가능한 값 (단위: 초) 중요 clipBegin, clipEnd, repeatCount으로 정해진 재생 시간보다 repeatDur이 큰 경우, repeatDur를 무시하고 정해진 재생 시간까지만 재생repeatCount와 repeatDur 모두 사용 시 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>