AI 음성 에이전트를 위한 음성 합성: 빠르고 저렴한 음성 레이어
AI 음성 에이전트는 사슬로 이루어져 있습니다. 음성 인식이 상대의 말을 텍스트로 바꾸고, 언어 모델이 답을 쓰고, 음성 합성이 그 답을 말합니다. 마지막 단계는 에이전트의 목소리와 체감 속도를 크게 좌우하며, 글자 수 과금에서는 가장 큰 비용이 되기 쉽습니다.
SuperClonica 음성 합성 API는 바로 이 레이어를 위해 만들어졌습니다. 저희 측정으로 최소 약 300ms부터 오디오를 스트리밍하고, 글자 수가 아니라 시간으로 과금하며, 카탈로그의 190개 목소리나 직접 학습한 목소리로 에이전트가 말하게 할 수 있습니다. 이 가이드는 연결 방법과 한계를 설명합니다.
문장 단위로 말하게 하기
모델이 답을 다 쓸 때까지 기다리지 마세요. 출력을 스트림으로 읽어 문장이 끝날 때마다 자르고, 완성된 문장마다 "stream": true를 붙여 바로 음성 합성 API로 보내세요. 모델이 다음 문장을 쓰는 동안 첫 문장이 재생됩니다.
짧은 문장일수록 첫 소리가 빨리 옵니다. 긴 독백도 됩니다. 스트리밍에서는 긴 텍스트를 여러 조각으로 나눠 여러 워커에서 동시에 합성하고 첫 조각부터 재생합니다.
import os, requests
URL = "https://superclonica.com/api/v1/speech"
HEADERS = {"Authorization": "Bearer " + os.environ["SUPERCLONICA_KEY"]}
def say(sentence, voice="F1", language="en"):
with requests.post(URL, headers=HEADERS, stream=True, timeout=120,
json={"text": sentence, "voice": voice, "language": language, "stream": True}) as answer:
answer.raise_for_status()
for chunk in answer.iter_content(4096):
player.write(chunk) # an Ogg player or decoder of your choice예상할 수 있는 지연
저희 측정으로 첫 소리는 요청 후 약 300ms에 도착하며, 여기에 서버까지의 네트워크 시간이 더해집니다. Ogg는 바로 스트리밍되지만 mp3와 wav는 약 30초가 넘는 텍스트에서만 스트리밍되므로 에이전트에는 Ogg를 쓰세요. API는 일반 HTTPS로 나눠서 응답합니다. WebSocket은 없으며 한 문장이 한 요청입니다.
전화 통화
전화망은 보통 8 kHz μ-law 오디오를 요구합니다. 예를 들어 Twilio Media Streams는 8000 Hz audio/x-mulaw를 주고받습니다. Ogg 스트림을 디코딩해 8 kHz로 리샘플링하고 μ-law로 인코딩한 뒤 통화로 보내세요. Twilio용 커스텀 목소리 가이드에서 녹음된 안내 음성의 변환 방법을 보여 줍니다.
요금제가 에이전트를 제한하는 방식
요금제는 10분마다의 창에서 쓸 수 있는 오디오 초 수를 정합니다. 월 5달러 스타트는 창마다 3분, 제작자는 8분, 프로는 20분, 스튜디오는 65분입니다. 이는 모든 대화의 음성을 합친 양이므로 동시에 말할 수 있는 통화 수를 정합니다. 에이전트는 통화의 약 3분의 1 동안 말하므로 스타트는 바쁜 회선 1개 정도, 프로는 5~6개 정도입니다. 창을 다 쓰면 API는 429와 Retry-After로 응답하며, 거절되거나 실패한 요청에는 요금이 붙지 않습니다.
무료 키는 하루 1분의 오디오를 줍니다. 결제하기 전에 에이전트를 만들고 시험하기에 충분합니다.
목소리 고르기
카탈로그의 모든 목소리는 페이지에 표시된 ID로 모든 요금제에서 API로 쓸 수 있습니다. 차분한 내레이터와 아나운서 목소리는 고객 지원에, 밝은 목소리는 영업과 게임에 어울립니다. 먼저 데모를 듣고 각 페이지에서 같은 테스트 문장을 두세 목소리로 변환해 비교해 보세요. 브랜드 목소리처럼 내 녹음으로 사이트에서 목소리를 학습시킬 수도 있습니다.
Supertonic 3는 31개 언어를 말하지만 아직 중국어는 지원하지 않으며, SSML과 단어별 타임스탬프도 없습니다. 에이전트에 이런 기능이 필요하다면 대형 클라우드 음성 합성이 더 맞습니다.