TTS 발음 교정: 잘못 읽히는 단어를 고치는 방법

TTS 발음은 텍스트의 언어를 지정하고, 그 언어로 녹음된 음성을 쓰고, 까다로운 단어를 소리 나는 대로 고쳐 써서 바로잡으세요. Sume TTS API가 대신 확인해 주는 것도 설명합니다.

읽는 시간 5분Sume
전체 글

텍스트 음성 변환(TTS)의 발음을 고치려면 입력부터 바로잡으세요. 텍스트가 어떤 언어인지 엔진에 알려 주고, 그 언어로 녹음된 음성을 쓰고, 이름, 숫자, 약어는 말해야 하는 대로 적으세요. 그다음 짧은 문장 하나를 다시 생성해 들어 보고 나서 대본 전체를 다시 만드세요. Sume TTS API에서는 언어를 생략하면 영어가 기본값이므로 영어가 아닌 요청마다 language를 보내고, 음성 언어를 재확인하는 409 응답을 가볍게 넘기지 않아야 합니다.

Sume 관련 사실은 2026-09-28에 확인한 Sume API 레퍼런스의 TTS 스키마에서 가져왔습니다. 이 레퍼런스는 API 레퍼런스 문서의 바탕이 되는 OpenAPI 문서입니다. 현재 동작이라고 설명한 검사는 Sume의 코드에서, 가격은 API 요금 페이지를 만드는 코드에서 확인했습니다. 철자를 고쳐 쓰는 요령은 시도해 볼 만한 일반적인 기법이며, 문서화된 Sume 기능이 아닙니다.

TTS는 왜 단어를 잘못 발음하나요?

세 가지 원인을 살펴보세요. 엔진이 텍스트를 다른 언어의 규칙으로 읽는 경우, 음성이 대본과 다른 언어로 녹음된 경우, 그리고 이름, 브랜드 이름, 두문자어, 숫자, 날짜, 약어처럼 단어 자체를 여러 가지로 읽을 수 있는 경우입니다.

Sume의 스키마는 language를 음성이 대본을 읽는 언어로 설명하며, 영어가 아닌 대본에는 모두 지정하라고 안내합니다. 생략하면 영어가 기본값이고, 보조 수단으로 한글로만 된 대본은 한국어로, 가나로만 된 대본은 일본어로 추론할 뿐입니다. 그래서 언어 코드 없이 보낸 프랑스어나 스페인어 대본은 영어 기본값으로 합성됩니다.

엔진이 올바른 언어를 쓰게 하려면 어떻게 하나요?

  • language는 ko, ja, en 같은 BCP-47 / ISO-639 코드로 보내세요. 이 필드는 코드를 하나만 받으므로, 중간에 언어가 바뀌는 대본은 다국어 TTS API에서처럼 언어마다 요청 하나로 나눕니다.
  • 한국어는 대본을 한글로 쓰세요. 현재 코드에서는 language: "ko"인데 한글 음절이 하나도 없으면 400 tts_language_script_mismatch로 실패하므로, 로마자로 적은 한국어는 거부됩니다. 한국어 TTS API를 참고하세요.
  • 일본어는 가나와 한자로 쓰고 ja를 보내세요. 일본어 텍스트 음성 변환(TTS)에서 설명하듯, 현재 코드의 보조 추론은 한자만으로는 일본어를 추론하지 않습니다.

발음이 부자연스러울 수 있다는 409 응답은 왜 받았나요?

음성과 대본의 언어가 맞지 않기 때문입니다. 현재 코드에서는 Sume의 Voices 라이브러리에 있는 음성에 기록된 언어가 요청의 언어와 다르면 제출이 409 tts_voice_language_mismatch로 멈춥니다. 메시지는 두 언어를 모두 밝히고 “Pronunciation may sound unnatural.”(발음이 부자연스럽게 들릴 수 있음)이라고 경고합니다. 이 시점에는 Job도 요금도 생기지 않은 상태입니다.

대본의 언어로 녹음된 음성을 고르거나, 같은 요청과 Idempotency-Key에 confirm_language_mismatch: true를 더해 다시 보내세요. 확인해도 음성이나 언어는 바뀌지 않으며, 위험을 감수한다는 뜻일 뿐입니다. 클론한 음성에서 같은 검사가 어떻게 동작하는지는 내 목소리로 AI 보이스오버 만들기에서 보여 줍니다.

발음과 관련된 필드와 검사. Sume API 레퍼런스의 TTS 스키마와 Sume의 현재 코드 기준, 2026-09-28 확인.
필드 또는 검사하는 일
language음성이 대본을 읽는 언어. 생략하면 영어. 단, 한글로만 또는 가나로만 된 대본은 보조 수단으로 추론.
음성에 기록된 언어라이브러리 음성은 16개 언어 중 하나를 기록. 언어가 다르면 Job이 생기기 전에 409 tts_voice_language_mismatch로 응답(현재 코드).
confirm_language_mismatch경고를 받아들인 뒤 true로 설정. 음성도 언어도 바꾸지 않음.
한글 없는 language: "ko"400 tts_language_script_mismatch(현재 코드).
pronunciation_dict_id선택적 발음 사전 ID. 사전을 만드는 경로나 형식은 문서화되어 있지 않음.

제대로 읽히도록 단어의 철자를 어떻게 고쳐 쓰나요?

음성은 대본을 적힌 그대로 읽으므로, 직접 조정할 수 있는 것은 보내는 표기입니다. 아래 방법은 모두 문서화된 Sume 기능이 아니며, 테스트 문장 하나로 시험해 볼 고쳐 쓰기입니다.

  • 숫자, 날짜, 가격, 기호는 단어로 풀어 쓰세요. 예: “twenty twenty-six”, “the fourth of July”, “five dollars”.
  • 한 글자씩 읽는 두문자어는 글자를 띄어 쓰세요(“S Q L”). 한 단어처럼 읽는 두문자어는 그 단어로 쓰세요(“sequel”).
  • 이름이나 외래어는 소리 나는 대로 고쳐 쓰고, 고친 표기를 조회 테이블에 보관해 코드가 모든 요청 전에 적용하게 하세요. 그러면 모든 대본에 같은 수정이 적용됩니다.
  • 단어만 따로 보내지 말고 짧은 문장에 넣고, 긴 대본을 다시 생성하기 전에 결과를 들어 보세요.

Sume는 SSML이나 발음 사전을 지원하나요?

문서화된 기능으로는 지원하지 않습니다. 스키마는 transcript를 합성할 텍스트로만 설명하며, SSML이나 음소 마크업은 문서화하지 않습니다. 선택적 발음 사전 ID로 설명된 pronunciation_dict_id는 받지만, API 레퍼런스에는 사전을 만들거나 형식을 정하는 방법이 문서화되어 있지 않으므로 이 필드를 전제로 개발하지 마세요.

발음 수정을 테스트하는 비용은 얼마인가요?

시도할 때마다 새 TTS Job이 되며, 공백과 문장 부호를 포함한 대본 글자 수에 따라 1,000자당 $0.0475로 과금되고 기본적으로 5.5% 에이전트 수수료가 더해집니다. 짧은 문장 하나로 수정을 테스트하고, 단어가 제대로 들리면 그때 전체 대본을 보내세요.

출처

관련 글

모델 카테고리의 다른 글

모델 글 전체 보기

작성자 Sume