이러한 텍스트를 그대로 음성으로 변환할 경우, 의도와 다른 발음이 생성되는 문제가 발생할 수 있습니다. 이를 개선하기 위해 Supertone Text-to-Speech는 일본어를 위한 노말라이즈드 텍스트(normalized text) 기능을 제공합니다.
원본 텍스트와 함께 발음을 기준으로 정규화된 텍스트를 함께 입력하면, 보다 명확하고 자연스러운 음성을 생성할 수 있습니다. 이 가이드는 노말라이즈드 텍스트가 왜 필요한지, 언제 사용하면 좋은지, 그리고 이를 효과적으로 생성하는 방법을 설명합니다.
Why Normalized Text Is Needed
일본어의 문자 표현과 실제 발음은 항상 일대일로 대응하지 않습니다. 한자는 여러 가지 읽는 법을 가질 수 있고, 숫자는 문맥에 따라 다르게 발화되며, 기호나 단위는 말로 풀어서 읽히는 경우가 많습니다. 이러한 특성 때문에 TTS 시스템이 원문 텍스트만으로 항상 정확한 발음을 추론하기는 어렵습니다. 노말라이즈드 텍스트는 이러한 간극을 해소하기 위해, 문장의 의미는 유지하면서 어떻게 발화되어야 하는지를 명시적으로 전달합니다.How It Works
음성을 생성할 때 다음 두 가지를 함께 제공합니다.- 한자와 가나가 섞인 자연스러운 일본어 원문 텍스트
- 발음을 기준으로 변환된 노말라이즈드 텍스트
원문 텍스트는 의미와 문맥을 유지하고, 노말라이즈드 텍스트는 발음을 안내하는 역할을 합니다.
노말라이즈드 텍스트가 제공되지 않으면, 시스템은 원문 텍스트만을 사용해 음성을 생성합니다.
When You Should Use Normalized Text
노말라이즈드 텍스트는 다음과 같은 경우에 특히 유용합니다.- 숫자나 퍼센트가 포함된 문장
- 길이, 무게 등 단위 표현
- 기호나 약어가 포함된 텍스트
- 여러 읽는 법을 가진 한자
- 일본어와 영어가 혼합된 표현
간단한 일상 대화 수준의 문장에서는 필수는 아닙니다.
Generating Normalized Text with LLMs
대부분의 워크플로우에서는 TTS API를 호출하기 전에 LLM을 사용해 노말라이즈드 텍스트를 먼저 생성합니다. 아래는 일본어 텍스트를 발음 기준으로 노말라이즈하기 위한 권장 프롬프트입니다.이 프롬프트는 TTS 요청에 바로 사용할 수 있는 구조화된 JSON 출력을 생성하도록 설계되었습니다.