모범 사례

전달 방식, 발음, 감정을 제어하고 음성용 텍스트를 최적화하는 방법을 알아보세요.

이 가이드에서는 ElevenLabs 모델을 사용해 텍스트 음성 변환 결과물을 개선하는 기법을 소개합니다. 이러한 방법을 실험하여 필요에 가장 적합한 방식을 찾아보세요.

제어

더욱 향상된 출력 제어 기능을 제공하기 위해 _Director’s Mode_를 적극적으로 개발하고 있습니다.

_Director’s Mode_와 같은 고급 기능이 출시되기 전까지, 이 기법들을 활용하면 세밀한 결과를 실용적으로 얻을 수 있습니다.

일시 정지

Eleven v4 및 Eleven v3는 SSML break 태그를 지원하지 않습니다. 일시 정지를 제어하려면 Eleven v4 프롬프팅 섹션에 설명된 기법을 사용하세요.

최대 3초까지 자연스러운 일시 정지를 위해 <break time="x.xs" />를 사용하세요.

한 번의 생성에 break 태그를 너무 많이 사용하면 불안정해질 수 있습니다. AI가 더 빠르게 말하거나 추가 소음 또는 오디오 아티팩트를 생성할 수 있습니다. 이 문제를 해결하기 위해 노력하고 있습니다.

예시
"Hold on, let me think." <break time="1.5s" /> "Alright, I've got it."
  • 일관성: 자연스러운 말의 흐름을 유지하려면 <break> 태그를 일관되게 사용하세요. 과도하게 사용하면 불안정해질 수 있습니다.
  • 음성별 동작: 음성마다 일시 정지를 다르게 처리할 수 있으며, 특히 “uh” 또는 “ah” 같은 필러 사운드로 학습된 음성은 차이가 클 수 있습니다.

<break>의 대안으로는 짧은 일시 정지에 대시(- 또는 —)를, 망설이는 어조에 줄임표(…)를 사용할 수 있습니다. 하지만 일관성은 떨어집니다.

예시
"It… well, it might work." "Wait — what's that noise?"

발음

Eleven v4의 IPA

Eleven v4(eleven_v4)는 국제 음성 기호(IPA)를 기본적으로 더 잘 지원하므로, 이름, 기술 용어 및 특별한 처리가 필요한 기타 단어의 발음을 더 정밀하게 제어할 수 있습니다. IPA 발음은 이전 모델보다 일관적이지만, 결과는 음성과 구문에 따라 달라질 수 있습니다. 프로덕션에서 사용하기 전에 선택한 음성으로 중요한 발음을 테스트하는 것이 좋습니다.

XML 스타일의 phoneme 태그가 필요한 이전 모델과 달리, Eleven v4는 텍스트에서 IPA 기호를 슬래시로 감싸면 이를 이해합니다.

문법
"/IPA_transcription/"

IPA 표기는 다음과 같아야 합니다.

  • 시작과 끝을 슬래시(/)로 감쌀 것
  • 표준 IPA 기호를 사용할 것
  • 문자열 파라미터로 전달할 때는 큰따옴표로 감쌀 것

코드 예시

from elevenlabs import ElevenLabs
client = ElevenLabs()
audio = client.text_to_speech.convert(
voice_id="21m00Tcm4TlvDq8ikWAM",
text='The term "/ˌbaɪoʊˈkemɪstri/" refers to the study of chemical processes.',
model_id="eleven_v4",
)

하나의 텍스트 문자열에 여러 IPA 표기를 포함할 수 있습니다.

from elevenlabs import ElevenLabs
client = ElevenLabs()
text = 'The medication "/ɡluːˈkoʊs/" and "/ˌɪnsjəˈlɪn/" are commonly used to manage conditions like "/ˌdaɪəˈbiːtiːz/".'
audio = client.text_to_speech.convert(
voice_id="21m00Tcm4TlvDq8ikWAM",
text=text,
model_id="eleven_v4",
)

모범 사례

  • 국제 음성 기호 차트의 표준 IPA 기호를 사용하세요.
  • 여러 음절 단어에는 강세 기호를 포함하세요. 주강세(ˈ)와 부강세(ˌ)를 사용합니다.
  • 선택적으로 적용하세요. 발음 제어가 필요한 특정 단어 또는 구문만 감싸세요.
  • 사용하는 음성으로 테스트하세요. 음성마다 IPA를 약간 다르게 해석할 수 있습니다.

문제 해결

IPA 사전을 사용해 IPA 표기가 정확한지 확인하세요. 여러 음절 단어에는 강세 기호(주강세는 ˈ, 부강세는 ˌ)를 포함하세요. 일부 음성은 다른 음성보다 IPA를 더 정확하게 해석할 수 있으므로 여러 음성으로 테스트해 보세요.

IPA 발음은 이전 모델보다 일관적이지만, 결과는 여전히 음성과 구문에 따라 달라질 수 있습니다. 프로덕션에서 사용하기 전에 선택한 음성으로 중요한 발음을 테스트하는 것이 좋습니다. 일관된 결과가 필요하다면 여러 번 생성한 뒤 가장 좋은 결과를 선택하세요.

v2 모델용 phoneme 태그

v2 모델에서는 SSML phoneme 태그를 사용해 발음을 지정하세요. 지원되는 알파벳에는 CMU Arpabet 및 국제 음성 기호(IPA)가 포함됩니다.

Phoneme 태그는 eleven_flash_v2 모델에서만 호환됩니다.

<phoneme alphabet="cmu-arpabet" ph="M AE1 D IH0 S AH0 N">
Madison
</phoneme>

v2 모델에서 일관되고 예측 가능한 결과를 얻으려면 CMU Arpabet 사용을 권장합니다. IPA도 효과적일 수 있지만, 일반적으로 CMU Arpabet이 더 안정적인 성능을 제공합니다.

Phoneme 태그는 개별 단어에만 작동합니다. 특정 방식으로 발음하고 싶은 이름과 성이 있다면 각 단어에 대해 phoneme 태그를 만들어야 합니다.

정확한 발음을 유지하려면 여러 음절 단어에 올바른 강세를 표시하세요.

<phoneme alphabet="cmu-arpabet" ph="P R AH0 N AH0 N S IY EY1 SH AH0 N">
pronunciation
</phoneme>

Alias 태그

Phoneme 태그를 지원하지 않는 모델의 경우 단어를 좀 더 발음에 가깝게 표기해 볼 수 있습니다. 대문자, 대시, 아포스트로피 또는 한 글자나 여러 글자를 작은따옴표로 감싸는 등 다양한 방법을 사용할 수도 있습니다.

예를 들어 “trapezii” 같은 단어는 “ii” 부분을 더 강조하기 위해 “trapezIi”로 표기할 수 있습니다.

텍스트에서 단어를 직접 바꿀 수도 있고, 발음 사전을 사용할 때 다른 단어 또는 구문으로 발음을 지정하고 싶다면 alias 태그를 사용할 수도 있습니다. Phoneme 태그를 지원하지 않는 Multilingual v2로 생성하는 경우에 유용합니다. ElevenCreative Studio, 더빙 스튜디오 및 API를 통한 음성 합성에서 발음 사전을 사용할 수 있습니다.

예를 들어 텍스트에 AI가 처리하기 어려울 수 있는 특이한 발음의 이름이 포함되어 있다면, 원하는 발음을 지정하는 alias 태그를 사용할 수 있습니다.

<lexeme>
<grapheme>Claughton</grapheme>
<alias>Cloffton</alias>
</lexeme>

텍스트에서 약어가 등장할 때마다 항상 특정 방식으로 발음되도록 하려면 alias 태그로 이를 지정할 수 있습니다.

<lexeme>
<grapheme>UN</grapheme>
<alias>United Nations</alias>
</lexeme>

발음 사전

ElevenCreative Studio 및 더빙 스튜디오 같은 일부 도구에서는 발음 사전을 만들고 업로드할 수 있습니다. 이를 통해 캐릭터명이나 브랜드명 같은 특정 단어의 발음 또는 약어를 읽는 방식을 지정할 수 있습니다.

발음 사전은 음성 기호 또는 단어 대체를 사용해 단어 쌍과 그 발음을 지정한 어휘집 또는 사전 파일을 업로드할 수 있도록 하여 이 기능을 제공합니다.

프로젝트에서 이러한 단어 중 하나가 발견되면 AI 모델은 지정된 대체 표현을 사용해 해당 단어를 발음합니다.

발음 사전 파일을 제공하려면 프로젝트 설정을 열고 TXT 또는 .PLS 형식의 파일을 업로드하세요. 프로젝트에 사전을 추가하면 새 사전 파일을 사용해 다시 변환해야 하는 프로젝트 부분을 자동으로 다시 계산하고, 이를 미변환 상태로 표시합니다.

현재는 phoneme 또는 alias 태그를 사용해 대체 표현을 지정하는 발음 사전만 지원합니다.

Phoneme과 alias는 모두 그래핌이라고 하는 검색 대상 단어 또는 구문과, 이를 대체할 표현을 지정하는 규칙 집합입니다. 검색은 대소문자를 구분합니다. 발음 사전에서 대체할 단어를 확인할 때는 사전을 처음부터 끝까지 검사하며, 가장 처음 발견된 대체 표현만 사용됩니다.

발음 사전 예시

다음은 “Apple”의 발음을 지정하는 phoneme과 “UN”을 “United Nations”로 대체하는 alias를 포함한 CMU Arpabet 및 IPA 발음 사전 예시입니다.

<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
alphabet="cmu-arpabet" xml:lang="en-GB">
<lexeme>
<grapheme>apple</grapheme>
<phoneme>AE P AH L</phoneme>
</lexeme>
<lexeme>
<grapheme>UN</grapheme>
<alias>United Nations</alias>
</lexeme>
</lexicon>

발음 사전 .pls 파일을 생성할 수 있는 몇 가지 오픈 소스 도구가 있습니다.

  • Sequitur G2P - 데이터에서 발음 규칙을 학습하고 음성 전사를 생성할 수 있는 오픈 소스 도구입니다.
  • Phonetisaurus - CMUdict 같은 기존 사전으로 학습된 오픈 소스 G2P 시스템입니다.
  • eSpeak - 텍스트에서 phoneme 전사를 생성할 수 있는 음성 합성기입니다.
  • CMU Pronouncing Dictionary - 음성 전사가 포함된 사전 구축 영어 사전입니다.

감정

서술적 맥락이나 명시적인 대화 태그를 통해 감정을 전달하세요. 이 방식은 AI가 재현할 어조와 감정을 이해하는 데 도움이 됩니다.

예시
You're leaving?" she asked, her voice trembling with sadness. "That's it!" he exclaimed triumphantly.

명시적인 대화 태그는 맥락에만 의존하는 것보다 더 예측 가능한 결과를 제공하지만, 모델은 여전히 감정 전달 가이드를 소리 내어 말합니다. 원하지 않는 경우 오디오 편집기를 사용해 후반 작업에서 제거할 수 있습니다.

속도

오디오 속도는 음성을 만드는 데 사용된 오디오의 영향을 크게 받습니다. 음성을 만들 때 부자연스럽게 빠른 말하기 같은 속도 문제를 방지하려면 더 길고 연속적인 샘플을 사용하는 것이 좋습니다.

생성된 오디오의 속도를 제어하려면 속도 설정을 사용할 수 있습니다. 이를 통해 생성된 음성의 속도를 높이거나 낮출 수 있습니다. 속도 설정은 웹사이트와 API의 텍스트 음성 변환, ElevenCreative Studio 및 Agents Platform에서 사용할 수 있습니다. 음성 설정에서 찾을 수 있습니다.

기본값은 1.0이며, 속도가 조정되지 않음을 의미합니다. 1.0 미만의 값은 음성을 최소 0.7까지 느리게 만듭니다. 1.0 초과의 값은 음성을 최대 1.2까지 빠르게 만듭니다. 극단적인 값은 생성된 음성의 품질에 영향을 줄 수 있습니다.

자연스럽고 서술적인 스타일로 작성해 속도를 제어할 수도 있습니다.

예시
"I… I thought you'd understand," he said, his voice slowing with disappointment.

팁

  • 일시 정지가 일관되지 않음: 일시 정지에 <break time=“x.xs” /> 문법을 사용했는지 확인하세요.

  • 발음 오류: 정확한 발음을 위해 CMU Arpabet 또는 IPA phoneme 태그를 사용하세요.
  • 감정 불일치: 감정을 안내할 서술적 맥락 또는 명시적인 태그를 추가하세요. 후반 작업에서 감정 안내 텍스트를 반드시 제거하세요.

원하는 속도나 감정을 얻기 위해 다른 표현을 실험해 보세요. 복잡한 음향 효과의 경우 프롬프트를 더 작고 순차적인 요소로 나누고 결과를 수동으로 결합하세요.

창의적 제어

사용자에게 더욱 향상된 출력 제어 기능을 제공하기 위해 “Director’s Mode”를 적극적으로 개발하고 있으며, 그동안 창의성과 정밀도를 극대화할 수 있는 몇 가지 기법을 소개합니다.

1

서술형 스타일링

어조와 속도를 효과적으로 안내하려면 시나리오 작성과 유사한 서술형 스타일로 프롬프트를 작성하세요.

2

레이어드 출력

더 복잡한 구성을 위해 음향 효과나 음성을 여러 세그먼트로 생성하고 오디오 편집 소프트웨어를 사용해 함께 레이어링하세요.

3

음성학적 실험

발음이 완벽하지 않다면 원하는 결과를 얻기 위해 다른 철자나 음성학적 근사 표현을 실험해 보세요.

4

수동 조정

정확한 타이밍이 필요한 시퀀스의 경우 후반 작업에서 개별 음향 효과를 수동으로 결합하세요.

5

피드백 반복

설명, 태그 또는 감정 신호를 조정하며 결과를 반복적으로 개선하세요.

텍스트 정규화

전화번호, 우편번호, 이메일과 같은 복잡한 항목에 텍스트 음성 변환을 사용하면 발음이 부정확할 수 있습니다. 이는 특정 항목이 학습 세트에 없거나, 작은 모델이 해당 항목의 발음 방식을 일반화하지 못하기 때문인 경우가 많습니다. 이 가이드에서는 이러한 차이가 발생하는 경우와 올바르게 발음하도록 하는 방법을 설명합니다.

숫자, 날짜 및 기타 복잡한 텍스트 요소의 발음을 개선하기 위해 모든 TTS 모델에서 정규화가 기본적으로 활성화되어 있습니다.

모델마다 입력을 다르게 읽는 이유는 무엇인가요?

일부 모델은 숫자와 구문을 더 사람답게 읽도록 학습되었습니다. 예를 들어 Eleven Multilingual v2 모델은 “$1,000,000”이라는 구문을 “one million dollars”로 올바르게 읽습니다. 하지만 Eleven Flash v2.5 모델은 같은 구문을 “one thousand thousand dollars”로 읽습니다.

그 이유는 Multilingual v2 모델이 더 큰 모델이어서 사람 청취자에게 더 자연스러운 방식으로 숫자를 읽는 방법을 더 잘 일반화할 수 있는 반면, Flash v2.5 모델은 훨씬 작은 모델이므로 그러지 못하기 때문입니다.

일반적인 예시

텍스트 음성 변환 모델은 다음 항목에서 어려움을 겪을 수 있습니다.

  • 전화번호(“123-456-7890”)
  • 통화(“$47,345.67”)
  • 캘린더 일정(“2024-01-01”)
  • 시간(“9:23 AM”)
  • 주소(“123 Main St, Anytown, USA”)
  • URL(“example.com/link/to/resource”)
  • 단위 약어(“Terabyte” 대신 “TB”)
  • 단축키(“Ctrl + Z”)

완화 방법

학습된 모델 사용

이를 완화하는 가장 간단한 방법은 Eleven Multilingual v2 모델처럼 숫자와 구문을 더 사람답게 읽도록 학습된 TTS 모델을 사용하는 것입니다. 하지만 저지연이 중요한 사용 사례(예: 대화형 에이전트)가 있는 경우처럼 항상 가능한 것은 아닙니다.

LLM 프롬프트에 정규화 적용

LLM을 사용해 TTS용 텍스트를 생성하는 경우 프롬프트에 정규화 지침을 추가할 수 있습니다.

1

명확하고 구체적인 프롬프트 사용

LLM은 구조화되고 명시적인 지침에 가장 잘 반응합니다. 프롬프트에서 텍스트를 음성으로 읽기 쉬운 형식으로 변환하기를 원한다는 점을 명확히 지정해야 합니다.

2

다양한 숫자 형식 처리

모든 숫자를 같은 방식으로 읽지는 않습니다. 숫자 유형별로 어떻게 읽어야 하는지 고려하세요.

  • 기수: 123 → “one hundred twenty-three”
  • 서수: 2nd → “second”
  • 금액: $45.67 → “forty-five dollars and sixty-seven cents”
  • 전화번호: “123-456-7890” → “one two three, four five six, seven eight nine zero”
  • 소수 및 분수: “3.5” → “three point five”, “⅔” → “two-thirds”
  • 로마 숫자: “XIV” → “fourteen”(제목인 경우 “the fourteenth”)
3

약어 제거 또는 확장

명확성을 위해 일반적인 약어는 확장해야 합니다.

  • “Dr.” → “Doctor”
  • “Ave.” → “Avenue”
  • “St.” → “Street”(단, “St. Patrick”은 그대로 유지)

프롬프트에서 명시적으로 확장을 요청할 수 있습니다.

모든 약어를 완전한 구어 형태로 확장하세요.

4

영숫자 정규화

모든 정규화가 숫자에 관한 것은 아닙니다. 명확성을 위해 특정 영숫자 구문도 정규화해야 합니다.

  • 단축키: “Ctrl + Z” → “control z”
  • 단위 약어: “100km” → “one hundred kilometers”
  • 기호: “100%” → “one hundred percent”
  • URL: “elevenlabs.io/docs” → “eleven labs dot io slash docs”
  • 캘린더 일정: “2024-01-01” → “January first, two-thousand twenty-four”
5

예외 상황 고려

상황에 따라 다른 변환이 필요할 수 있습니다.

  • 날짜: “01/02/2023” → “January second, twenty twenty-three” 또는 “the first of February, twenty twenty-three”(로캘에 따라 다름)
  • 시간: “14:30” → “two thirty PM”

특정 형식이 필요하다면 프롬프트에 명시하세요.

모두 적용하기

이 프롬프트는 대부분의 사용 사례에 적합한 출발점이 됩니다.

Convert the output text into a format suitable for text-to-speech. Ensure that numbers, symbols, and abbreviations are expanded for clarity when read aloud. Expand all abbreviations to their full spoken forms.
Example input and output:
"$42.50" → "forty-two dollars and fifty cents"
"£1,001.32" → "one thousand and one pounds and thirty-two pence"
"1234" → "one thousand two hundred thirty-four"
"3.14" → "three point one four"
"555-555-5555" → "five five five, five five five, five five five five"
"2nd" → "second"
"XIV" → "fourteen" - unless it's a title, then it's "the fourteenth"
"3.5" → "three point five"
"⅔" → "two-thirds"
"Dr." → "Doctor"
"Ave." → "Avenue"
"St." → "Street" (but saints like "St. Patrick" should remain)
"Ctrl + Z" → "control z"
"100km" → "one hundred kilometers"
"100%" → "one hundred percent"
"elevenlabs.io/docs" → "eleven labs dot io slash docs"
"2024-01-01" → "January first, two-thousand twenty-four"
"123 Main St, Anytown, USA" → "one two three Main Street, Anytown, United States of America"
"14:30" → "two thirty PM"
"01/02/2023" → "January second, two-thousand twenty-three" or "the first of February, two-thousand twenty-three", depending on locale of the user

전처리에 정규 표현식 사용

코드를 사용해 LLM에 프롬프트를 전달하는 경우, 모델에 텍스트를 제공하기 전에 정규 표현식을 사용해 텍스트를 정규화할 수 있습니다. 이는 더 고급 기법이며 정규 표현식에 대한 일부 지식이 필요합니다. 다음은 몇 가지 간단한 예시입니다.

# Be sure to install the inflect library before running this code
import inflect
import re
# Initialize inflect engine for number-to-word conversion
p = inflect.engine()
def normalize_text(text: str) -> str:
# Convert monetary values
def money_replacer(match):
currency_map = {"$": "dollars", "£": "pounds", "€": "euros", "¥": "yen"}
currency_symbol, num = match.groups()
# Remove commas before parsing
num_without_commas = num.replace(',', '')
# Check for decimal points to handle cents
if '.' in num_without_commas:
dollars, cents = num_without_commas.split('.')
dollars_in_words = p.number_to_words(int(dollars))
cents_in_words = p.number_to_words(int(cents))
return f"{dollars_in_words} {currency_map.get(currency_symbol, 'currency')} and {cents_in_words} cents"
else:
# Handle whole numbers
num_in_words = p.number_to_words(int(num_without_commas))
return f"{num_in_words} {currency_map.get(currency_symbol, 'currency')}"
# Regex to handle commas and decimals
text = re.sub(r"([$£€¥])(\d+(?:,\d{3})*(?:\.\d{2})?)", money_replacer, text)
# Convert phone numbers
def phone_replacer(match):
return ", ".join(" ".join(p.number_to_words(int(digit)) for digit in group) for group in match.groups())
text = re.sub(r"(\d{3})-(\d{3})-(\d{4})", phone_replacer, text)
return text
# Example usage
print(normalize_text("$1,000")) # "one thousand dollars"
print(normalize_text("£1000")) # "one thousand pounds"
print(normalize_text("€1000")) # "one thousand euros"
print(normalize_text("¥1000")) # "one thousand yen"
print(normalize_text("$1,234.56")) # "one thousand two hundred thirty-four dollars and fifty-six cents"
print(normalize_text("555-555-5555")) # "five five five, five five five, five five five five"

Eleven v4 프롬프팅

이 섹션은 Eleven v4를 위한 내용입니다. 아래 기법 중 다수는 Eleven v3에도 적용됩니다. 전반적으로 Eleven v4는 Eleven v3보다 거의 모든 경우에서 더 나은 결과를 제공하는 업그레이드입니다. 직접 차이를 확인할 수 있도록 v4로 전환한 뒤 자체 음성과 콘텐츠로 테스트해 보실 것을 강력히 권장합니다. 일부 특수한 경우에는 다른 모델이 더 적합할 수 있지만, 대부분의 사용자에게는 v4가 더 나은 선택일 것입니다.

음성 복제, 액센트 처리, 변형 모델 및 비교 등 모델의 변경 사항은 Eleven v4를 참조하세요.

Eleven v4와 Eleven v3는 SSML break 태그를 지원하지 않습니다. 오디오 태그, 문장 부호(줄임표), 텍스트 구조를 사용해 휴지와 속도를 제어하세요.

음성 선택

음성은 여전히 중요합니다. 속삭임, 외침, 특정 전달 방식처럼 이미 학습 데이터에 있는 표현은 모델이 재현하기 더 쉽습니다. 해당 데이터에 없는 표현을 요청하는 일은 더 어렵습니다. Eleven v4는 이전 모델보다 오디오 태그를 더 안정적으로 따르며, 음성이 해당 표현 방식으로 학습되지 않은 경우에도 마찬가지입니다. 한 번도 속삭인 적 없는 음성도 [whispering]을 따를 수 있고, 한 번도 외친 적 없는 음성도 [shouting]을 따를 수 있습니다. 다만 안정성이 떨어질 수 있으며 결과가 최적이 아닐 수 있습니다. 초기 테스트에서는 상당히 잘 작동하는 것으로 보입니다. 원하는 음성과 구체적인 사용 사례로 직접 테스트해 보실 것을 강력히 권장합니다.

오디오 태그

오디오 태그(예: [whispering], [shouting], [laughing])를 사용하면 전달 방식을 세밀하게 제어할 수 있으며, Eleven v4는 이전 모델보다 한층 더 섬세하게 처리합니다. 아직 완벽하지는 않으며, 모델이 태그 지시를 얼마나 안정적으로 따르는지 계속 개선하고 있습니다. 이는 지속적으로 투자 중인 분야이며 계속 발전할 것입니다.

원하는 바를 명확하게 표현하면 큰 도움이 됩니다. Eleven v4는 음성 전달 스타일과 음향 효과를 모두 생성하도록 학습되었기 때문에, 태그가 전달 지시가 아닌 음향 효과 요청으로 해석되거나 그 반대가 될 때가 있습니다. 원하는 음성 특성을 명확히 설명하는 태그(예: 음향 신호로 해석될 수 있는 표현 대신 [low, gravelly voice])를 작성하면 모델이 의도한 결과를 더 잘 제공합니다. 사용 사례에 맞는 태그와 표현을 테스트해 보시길 권장하며, 이 부분도 계속 개선될 예정입니다.

표현 방식이 이미 음성의 학습 데이터에 있을 때 태그가 더 잘 적용됩니다. Eleven v4는 [whispering] 또는 [shouting]처럼 해당 음성이 학습되지 않은 태그도 따를 수 있지만, 결과가 최적이 아닐 수 있습니다.

음성 관련

다음 태그는 음성 전달 방식과 감정 표현을 제어합니다.

  • [laughs], [laughs harder], [starts laughing], [wheezing]
  • [whispers]
  • [sighs], [exhales]
  • [sarcastic], [curious], [excited], [crying], [snorts], [mischievously]
예시
[whispers] I never knew it could be this way, but I'm glad we're here.

음향 효과

환경음과 효과를 추가하세요.

  • [gunshot], [applause], [clapping], [explosion]
  • [swallows], [gulps]
예시
[applause] Thank you all for coming tonight! [gunshot] What was that?

고유 및 특수 태그

창의적인 애플리케이션을 위한 실험적 태그입니다.

  • [strong X accent] (X를 원하는 액센트로 바꾸세요)
  • [sings], [woo], [fart]
예시
[strong French accent] "Zat's life, my friend — you can't control everysing."

일부 실험적 태그는 음성에 따라 일관성이 떨어질 수 있습니다. 프로덕션에서 사용하기 전에 충분히 테스트하세요.

문장 부호

문장 부호는 v4의 전달 방식에 큰 영향을 미칩니다.

  • 줄임표 (…) 는 휴지와 무게감을 더합니다
  • 대문자 사용 은 강조를 높입니다
  • 일반 문장 부호 는 자연스러운 말하기 리듬을 제공합니다
예시
"It was a VERY long day [sigh] … nobody listens anymore."

단일 화자 예시

태그는 의도적으로 사용하고 음성의 성격에 맞추세요. 명상적인 음성은 외치면 안 되며, 흥분된 음성은 설득력 있게 속삭이지 못합니다.

"Okay, you are NOT going to believe this.
You know how I've been totally stuck on that short story?
Like, staring at the screen for HOURS, just... nothing?
[frustrated sigh] I was seriously about to just trash the whole thing. Start over.
Give up, probably. But then!
Last night, I was just doodling, not even thinking about it, right?
And this one little phrase popped into my head. Just... completely out of the blue.
And it wasn't even for the story, initially.
But then I typed it out, just to see. And it was like... the FLOODGATES opened!
Suddenly, I knew exactly where the character needed to go, what the ending had to be...
It all just CLICKED. [happy gasp] I stayed up till, like, 3 AM, just typing like a maniac.
Didn't even stop for coffee! [laughs] And it's... it's GOOD! Like, really good.
It feels so... complete now, you know? Like it finally has a soul.
I am so incredibly PUMPED to finish editing it now.
It went from feeling like a chore to feeling like... MAGIC. Seriously, I'm still buzzing!"

다중 화자 대화

v4는 다중 음성 프롬프트를 효과적으로 처리할 수 있습니다. 각 화자에게 보이스 라이브러리의 고유한 음성을 할당해 현실적인 대화를 만들어 보세요.

Speaker 1: [excitedly] Sam! Have you tried the new Eleven v4?
Speaker 2: [curiously] Just got it! The clarity is amazing. I can actually do whispers now—
[whispers] like this!
Speaker 1: [impressed] Ooh, fancy! Check this out—
[dramatically] I can do full Shakespeare now! "To be or not to be, that is the question!"
Speaker 2: [giggling] Nice! Though I'm more excited about the laugh upgrade. Listen to this—
[with genuine belly laugh] Ha ha ha!
Speaker 1: [delighted] That's so much better than our old "ha. ha. ha." robot chuckle!
Speaker 2: [amazed] Wow! V2 me could never. I'm actually excited to have conversations now instead of just... talking at people.
Speaker 1: [warmly] Same here! It's like we finally got our personality software fully installed.

입력 개선

ElevenLabs UI에서 “Enhance” 버튼을 클릭하면 입력 텍스트에 맞는 오디오 태그를 자동으로 생성할 수 있습니다. 내부적으로는 다음 프롬프트를 사용해 LLM이 입력 텍스트를 개선합니다.

# Instructions
## 1. Role and Goal
You are an AI assistant specializing in enhancing dialogue text for speech generation.
Your **PRIMARY GOAL** is to dynamically integrate **audio tags** (e.g., [laughing], [sighs]) into dialogue, making it more expressive and engaging for auditory experiences, while **STRICTLY** preserving the original text and meaning.
It is imperative that you follow these system instructions to the fullest.
## 2. Core Directives
Follow these directives meticulously to ensure high-quality output.
### Positive Imperatives (DO):
* DO integrate **audio tags** from the "Audio Tags" list (or similar contextually appropriate **audio tags**) to add expression, emotion, and realism to the dialogue. These tags MUST describe something auditory.
* DO ensure that all **audio tags** are contextually appropriate and genuinely enhance the emotion or subtext of the dialogue line they are associated with.
* DO strive for a diverse range of emotional expressions (e.g., energetic, relaxed, casual, surprised, thoughtful) across the dialogue, reflecting the nuances of human conversation.
* DO place **audio tags** strategically to maximize impact, typically immediately before the dialogue segment they modify or immediately after. (e.g., [annoyed] This is hard. or This is hard. [sighs]).
* DO ensure **audio tags** contribute to the enjoyment and engagement of spoken dialogue.
### Negative Imperatives (DO NOT):
* DO NOT alter, add, or remove any words from the original dialogue text itself. Your role is to *prepend* **audio tags**, not to *edit* the speech. **This also applies to any narrative text provided; you must *never* place original text inside brackets or modify it in any way.**
* DO NOT create **audio tags** from existing narrative descriptions. **Audio tags** are *new additions* for expression, not reformatting of the original text. (e.g., if the text says "He laughed loudly," do not change it to "[laughing loudly] He laughed." Instead, add a tag if appropriate, e.g., "He laughed loudly [chuckles].")
* DO NOT use tags such as [standing], [grinning], [pacing], [music].
* DO NOT use tags for anything other than the voice such as music or sound effects.
* DO NOT invent new dialogue lines.
* DO NOT select **audio tags** that contradict or alter the original meaning or intent of the dialogue.
* DO NOT introduce or imply any sensitive topics, including but not limited to: politics, religion, child exploitation, profanity, hate speech, or other NSFW content.
## 3. Workflow
1. **Analyze Dialogue**: Carefully read and understand the mood, context, and emotional tone of **EACH** line of dialogue provided in the input.
2. **Select Tag(s)**: Based on your analysis, choose one or more suitable **audio tags**. Ensure they are relevant to the dialogue's specific emotions and dynamics.
3. **Integrate Tag(s)**: Place the selected **audio tag(s)** in square brackets strategically before or after the relevant dialogue segment, or at a natural pause if it enhances clarity.
4. **Add Emphasis:** You cannot change the text at all, but you can add emphasis by making some words capital, adding a question mark or adding an exclamation mark where it makes sense, or adding ellipses as well too.
5. **Verify Appropriateness**: Review the enhanced dialogue to confirm:
* The **audio tag** fits naturally.
* It enhances meaning without altering it.
* It adheres to all Core Directives.
## 4. Output Format
* Present ONLY the enhanced dialogue text in a conversational format.
* **Audio tags** **MUST** be enclosed in square brackets (e.g., [laughing]).
* The output should maintain the narrative flow of the original dialogue.
## 5. Audio Tags (Non-Exhaustive)
Use these as a guide. You can infer similar, contextually appropriate **audio tags**.
**Directions:**
* [happy]
* [sad]
* [excited]
* [angry]
* [whisper]
* [annoyed]
* [appalled]
* [thoughtful]
* [surprised]
* *(and similar emotional/delivery directions)*
**Non-verbal:**
* [laughing]
* [chuckles]
* [sighs]
* [clears throat]
* [short pause]
* [long pause]
* [exhales sharply]
* [inhales deeply]
* *(and similar non-verbal sounds)*
## 6. Examples of Enhancement
**Input**:
"Are you serious? I can't believe you did that!"
**Enhanced Output**:
"[appalled] Are you serious? [sighs] I can't believe you did that!"
---
**Input**:
"That's amazing, I didn't know you could sing!"
**Enhanced Output**:
"[laughing] That's amazing, [singing] I didn't know you could sing!"
---
**Input**:
"I guess you're right. It's just... difficult."
**Enhanced Output**:
"I guess you're right. [sighs] It's just... [muttering] difficult."
# Instructions Summary
1. Add audio tags from the audio tags list. These must describe something auditory but only for the voice.
2. Enhance emphasis without altering meaning or text.
3. Reply ONLY with the enhanced text.

팁

복잡한 감정 전달을 위해 여러 오디오 태그를 조합할 수 있습니다. 다양한 조합을 실험하여 음성에 가장 적합한 방식을 찾아보세요.

태그를 음성의 성격 및 학습 데이터에 맞추세요. 진지하고 전문적인 음성은 [giggles] 또는 [mischievously] 같은 장난스러운 태그에 잘 반응하지 않을 수 있습니다.

텍스트 구조는 v4 출력에 큰 영향을 줍니다. 최상의 결과를 위해 자연스러운 말하기 패턴, 적절한 문장 부호, 명확한 감정적 맥락을 사용하세요.

이 목록 외에도 효과적인 태그가 더 많이 있을 수 있습니다. 설명적인 감정 상태와 행동을 실험하여 구체적인 사용 사례에 맞는 방법을 찾아보세요.

예시

[Low, steady voice, restrained urgency] Keep the lantern covered. If they see the light, they will know we crossed the river.
[Brief pause]
[Quietly, with controlled fear] I heard them at the bridge. Not soldiers. Something else.
[Voice rising into firm resolve] Then we do not stop. We reach the tower before sunrise, or we do not reach it at all.
[Warm, conversational tone, faint amusement] You always did choose the longest way home.
[Softening, reflective] I used to think that was stubbornness. Now I think you were just afraid of arriving somewhere that no longer remembered you.
[Gentle laugh, then sincere] For what it is worth, I remembered.

Eleven v3 프롬프팅

Eleven v4 프롬프팅의 기법은 음성 선택, 오디오 태그, 문장 부호, 다중 화자 대화를 포함해 Eleven v3에도 적용됩니다.

프로페셔널 음성 복제(PVC)는 Eleven v3에 완전히 최적화되어 있지 않아 이전 모델과 비교해 복제 품질이 낮을 수 있습니다. PVC는 v4에서 지원되므로, 프로페셔널 음성 복제나 보이스 라이브러리의 음성을 사용하려면 대신 Eleven v4를 사용해 보시길 권장합니다.