Recent Posts
Recent Comments
반응형
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Archives
Today
Total
관리 메뉴

오늘도 공부

VoiceStar 정리: 제로샷 TTS에서 음성 길이까지 제어하는 모델은 왜 주목받는가 본문

AI

VoiceStar 정리: 제로샷 TTS에서 음성 길이까지 제어하는 모델은 왜 주목받는가

행복한 수지아빠 2026. 4. 9. 09:26
반응형

이 글은 VoiceStar가 무엇인지, 왜 기존 제로샷 TTS보다 한 단계 더 주목받는지를 정리한 글입니다. 특히 “목소리만 비슷하게 복제하면 끝 아닌가?”가 아니라, 원하는 길이에 맞춰 음성을 만들고, 학습 때 본 것보다 더 긴 구간까지 안정적으로 생성하는 문제를 어떻게 다루는지에 초점을 맞춥니다. (arXiv)

최근 TTS는 품질만으로는 차별화가 어렵습니다. 실무에서는 발화 길이 제어, 긴 문장 안정성, 말이 밀리거나 끊기지 않는 정렬, 빠른 테스트 환경이 더 중요해집니다. VoiceStar는 이 지점에서, 논문 기준으로 제로샷 TTS에서 duration control과 extrapolation을 동시에 달성한 첫 모델로 소개됩니다. (arXiv)

이 글은 이런 분께 도움이 됩니다.
제로샷 TTS를 처음 보는 개발자, 음성 합성 모델을 비교 중인 엔지니어, 그리고 “이 모델이 실무에서 왜 의미가 있지?”를 빠르게 이해하고 싶은 분입니다.

 

GitHub - jasonppy/VoiceStar: VoiceStar: Robust, Duration-controllable TTS that can Extrapolate

VoiceStar: Robust, Duration-controllable TTS that can Extrapolate - jasonppy/VoiceStar

github.com

 

왜 이 문제가 중요한가

기존 TTS를 실제 서비스에 붙이면, 품질 못지않게 제어 가능성이 문제로 드러납니다. 논문에서도 기존 neural codec LM 계열 TTS의 한계로 정밀한 길이 제어 부족학습 길이 밖 구간에서의 불안정성을 지적합니다. (arXiv)

실무에서는 이런 불편이 자주 생깁니다.

  • 영상 더빙 길이를 맞추기 어렵다
    8초 슬롯에 들어가야 하는 음성이 6초나 11초로 나오면 편집 비용이 커집니다. VoiceStar는 이런 duration control 문제를 정면으로 다룹니다. (arXiv)
  • 긴 문장에서 누락·반복·이상한 침묵이 생긴다
    논문은 기존 NCLM 기반 TTS가 단어를 건너뛰거나, 반복하거나, 부자연스러운 침묵을 넣는 문제를 언급합니다. 긴 발화일수록 더 치명적입니다. (arXiv)
  • 텍스트와 음성 정렬이 흐트러진다
    텍스트와 음성 토큰 정렬을 모델이 암묵적으로만 배우게 두면, 문장 길이가 길어질수록 어긋날 가능성이 커집니다. VoiceStar는 이를 PM-RoPE로 보완합니다. (arXiv)
  • 제로샷 보이스 클로닝이 prosody까지 과하게 끌려간다
    참고 음성의 화자 특성만 가져오고 싶은데, 억양과 감정까지 같이 끌려오면 목표 텍스트와 어울리지 않는 출력이 나올 수 있습니다. VoiceStar는 CPM training으로 이 문제를 줄이려 합니다. (arXiv)
  • 연구 데모는 좋은데 바로 써보기 어렵다
    저장소 기준으로 VoiceStar는 CLI와 Gradio UI를 모두 제공해서, 모델 비교나 빠른 프로토타이핑 진입 장벽을 낮춥니다. (GitHub)

VoiceStar란 무엇인가

VoiceStar는 제로샷 음성 복제 TTS에 “출력 길이 제어”와 “학습 길이 밖 생성”을 결합한 오토리그레시브 neural codec language model입니다. (arXiv)

쉽게 말하면 이렇습니다.

  • 몇 초짜리 참고 음성을 보고
  • 그 사람의 목소리 스타일을 따라가며
  • 원하는 텍스트를 읽게 하되
  • 출력 길이도 목표치에 맞추고
  • 학습 때 본 최대 길이보다 더 긴 발화도 비교적 안정적으로 생성하려는 모델입니다. (arXiv)

기존 방식과 다른 점은, 단순히 “좋은 음성”을 만드는 데서 끝나지 않고 정렬과 길이 제어를 모델 구조 자체에 넣었다는 점입니다. VoiceStar는 encoder-decoder 구조에 PM-RoPE를 적용해 텍스트와 음성의 진행 상황을 함께 추적하도록 설계되었습니다. (arXiv)

핵심 특징

  • 제로샷 보이스 클로닝 TTS
    학습 때 보지 못한 화자도 참고 음성만으로 합성합니다. (arXiv)
  • 출력 duration control
    생성 음성의 목표 길이를 조건으로 줄 수 있습니다. (arXiv)
  • 길이 extrapolation
    학습 최대 길이보다 긴 구간에서도 성능을 유지하도록 설계됐습니다. (arXiv)
  • PM-RoPE 기반 정렬 개선
    텍스트-음성 토큰 정렬과 생성 진행률 추적을 동시에 돕습니다. (arXiv)
  • CPM training 적용
    speech continuation만 학습할 때 생기는 train/inference mismatch를 줄이고, intelligibility와 naturalness를 개선하려는 접근입니다. (arXiv)
  • CLI + Gradio 지원
    저장소에서 바로 커맨드라인과 웹 UI 방식 모두로 실행할 수 있습니다. (GitHub)

실제로 어떤 효과가 있는가

논문 기준으로 VoiceStar의 핵심 메시지는 명확합니다. 짧은 구간에서는 기존 강한 모델과 비슷하거나 더 좋고, 긴 구간에서는 특히 강하다는 점입니다. 저자들은 VoiceStar가 short-form benchmark에서는 SOTA와 비슷하거나 더 좋고, 20초~50초 long-form / extrapolation benchmark에서는 intelligibility와 naturalness 측면에서 크게 앞선다고 설명합니다. (arXiv)

조금 더 구체적으로 보면:

  • 모델은 최대 30초 길이 컨텍스트로 학습되었습니다. (arXiv)
  • 그런데 평가에서는 20–30초, 30–40초, 40–50초 구간을 따로 측정합니다. (arXiv)
  • 주 모델은 840M 파라미터입니다. (arXiv)
  • 40–50초 extrapolation 구간에서 논문 표 기준 VoiceStar의 WER은 11.91로, 비교된 F5-TTS 52.44, MaskGCT 82.29보다 훨씬 낮게 보고됩니다. 제공된 자료 기준 긴 구간 intelligibility 차이가 꽤 큽니다. (arXiv)

여기서 한 가지는 정확히 짚고 가야 합니다.
질문에서 “30초 데이터로 학습한 후 50초까지 음성을 만든다”고 요약하셨는데, 논문 기준으로는 30초까지 학습하고 40–50초 평가 구간에서 외삽 성능을 검증한 것이 더 정확합니다. 또 데모 페이지 TL;DR에는 30초 학습, 40초 생성이라는 표현이 보입니다. 따라서 “항상 50초까지 생성 가능”이라고 단정하기보다, 문서상 확인되는 범위에서는 30초 학습 대비 40~50초 구간 외삽 성능을 실험으로 보여줬다고 정리하는 편이 안전합니다. (Puyuan Peng)

속도에 대해서도 보수적으로 보는 게 좋습니다. 저장소와 사용자 설명만 보면 “가볍고 빠르다”는 인상을 받을 수 있지만, 논문 부록에는 840M 모델의 real-time factor가 1보다 커서 faster-than-real-time 생성은 아니라고 명시돼 있습니다. 따라서 “고품질 대비 상대적으로 현실적인 크기”라고 보는 편이 맞고, 실시간 TTS용 초고속 모델이라고 단정하면 과합니다. (arXiv)

동작 원리 / 구조

VoiceStar의 흐름은 크게 이렇게 이해하면 됩니다. (arXiv)

  1. 텍스트를 phoneme 단위로 변환한다
    논문과 저장소 모두 espeak-ng 기반 phonemizer 사용을 전제로 합니다. 텍스트를 바로 넣기보다 음소 단위 표현을 사용해 정렬을 더 다루기 쉽게 만듭니다. (arXiv)
  2. 참고 음성을 neural codec token으로 바꾼다
    VoiceStar는 Encodec 기반 speech tokenizer를 사용합니다. 음성을 연속 파형이 아니라 discrete token 시퀀스로 다룹니다. (arXiv)
  3. encoder-decoder 구조로 텍스트와 음성을 연결한다
    일반적인 decoder-only보다 텍스트-음성 관계를 더 명확히 다루려는 선택입니다. (arXiv)
  4. PM-RoPE가 진행률과 목표 길이를 함께 반영한다
    이 부분이 핵심입니다. PM-RoPE는
    • 텍스트와 음성 토큰 정렬을 돕고
    • 현재 생성이 목표 길이 대비 어디쯤 왔는지 알려주며
    • 학습 길이보다 더 긴 생성으로 일반화하는 데 기여합니다. (arXiv)
  5. CPM training으로 reference와 target의 괴리를 줄인다
    항상 같은 발화의 continuation만 학습시키지 않고, 같은 화자의 다른 발화를 reference prompt로 섞어 사용합니다. 이 덕분에 화자 특성과 발화 내용·억양을 더 잘 분리하도록 유도합니다. (arXiv)
  6. 추론 시 target duration을 조건으로 넣어 생성한다
    그래서 사용자가 “이 문장은 8초 정도로 읽어줘” 같은 식의 제어를 걸 수 있습니다. 저장소 예제에서도 --target_duration 인자를 직접 받습니다. (GitHub)

설치 / 사용 방법

저장소 README 기준 기본 흐름은 다음과 같습니다. (GitHub)

1) 모델 다운로드

# VoiceStar 루트 디렉터리 기준
wget -O ./pretrained/encodec_6f79c6a8.th \
  https://huggingface.co/pyp1/Encodec_VoiceStar/resolve/main/encodec_4cb2048_giga.th?download=true

wget -O ./pretrained/VoiceStar_840M_30s.pth \
  https://huggingface.co/pyp1/VoiceStar/resolve/main/VoiceStar_840M_30s.pth?download=true

wget -O ./pretrained/VoiceStar_840M_40s.pth \
  https://huggingface.co/pyp1/VoiceStar/resolve/main/VoiceStar_840M_40s.pth?download=true

2) 추론용 환경 구성

conda create -n voicestar python=3.10
conda activate voicestar

pip install torch==2.5.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
pip install numpy tqdm fire
pip install phonemizer==3.2.1
apt-get install espeak-ng
pip install torchmetrics
pip install einops
pip install omegaconf==2.3.0
pip install openai-whisper
pip install gradio

3) CLI로 바로 실행

README 예제는 다음과 같습니다. reference_speech, target_text, target_duration 세 가지가 핵심입니다. (GitHub)

python inference_commandline.py \
  --reference_speech "./demo/5895_34622_000026_000002.wav" \
  --target_text "I cannot believe that the same model can also do text to speech synthesis too! And you know what? this audio is 8 seconds long." \
  --target_duration 8

4) Gradio 웹 UI 실행

python inference_gradio.py

5) 조절 가능한 하이퍼파라미터 확인

README는 inference_commandline.py 안의 run_inference 시그니처를 보라고 안내합니다. 즉, 기본 예제 외에도 추론 옵션을 코드 수준에서 조절할 수 있습니다. (GitHub)

자주 쓰는 예시 / 활용 시나리오

1. 영상 더빙 길이 맞추기

광고, 쇼츠, 튜토리얼 더빙은 슬롯 길이가 고정입니다.
이때 “목소리 유사도”만으로는 부족하고, 정해진 초 안에 자연스럽게 끝나는지가 중요합니다. VoiceStar의 duration control이 가장 직접적으로 먹히는 시나리오입니다. (arXiv)

2. 긴 안내 멘트나 오디오북 스타일 실험

짧은 문장은 대부분 모델이 잘 만듭니다. 차이는 긴 문장에서 드러납니다.
VoiceStar는 20–50초 long-form 평가를 별도로 수행했다는 점에서, 긴 발화 안정성을 확인해 보기 좋은 대상입니다. (arXiv)

3. 제로샷 보이스 클로닝 프로토타이핑

데이터를 길게 모으지 않고도 참고 음성으로 빠르게 톤 테스트를 해볼 수 있습니다. 데모 페이지는 “몇 초의 음성만 필요하다”고 설명합니다. (Puyuan Peng)

4. 연구 비교 베이스라인

PM-RoPE, CPM training, prompt repetition 같은 아이디어가 분리되어 있어,
“길이 제어는 어디서 좋아졌는가”, “화자 유사도는 어떤 트릭이 먹히는가”를 분석하기 좋습니다. (arXiv)

5. CLI와 UI를 함께 쓰는 팀 환경

연구자는 CLI로 반복 실험하고, 비개발자는 Gradio로 샘플을 들어보는 식으로 역할을 나누기 좋습니다. 저장소 구조도 이 흐름에 맞춰져 있습니다. (GitHub)

한계 / 주의할 점

장점만 보고 도입하면 오해하기 쉬운 부분도 있습니다.

  • 실시간 초고속 모델로 보기는 어렵다
    840M 모델은 논문 기준 real-time factor가 1보다 커서 faster-than-real-time은 아닙니다. 실시간 음성 비서보다 오프라인 생성·배치 처리 쪽에 더 어울립니다. (arXiv)
  • 현재 공개 자료는 영어 중심
    논문은 영어 데이터셋을 중심으로 학습·평가합니다. 한국어 다국어 일반화는 공개 자료만으로 단정하기 어렵습니다. (arXiv)
  • 설치 난이도가 아주 낮지는 않다
    espeak-ng, specific torch 버전, pretrained weight 다운로드 등 준비 단계가 있습니다. “웹 UI 지원”이 곧 “설치 없이 바로 사용 가능”을 뜻하는 것은 아닙니다. (GitHub)
  • 50초 생성 가능을 보장한다고 해석하면 과하다
    문서상 확인되는 범위에서는 30초 학습 길이 대비 40~50초 구간에서 외삽 성능을 평가한 것입니다. 항상 어떤 입력이든 50초까지 안정 생성한다고 일반화하면 과장입니다. (arXiv)
  • 라이선스도 확인해야 한다
    코드 라이선스는 MIT이고, 모델 가중치는 CC-BY-4.0으로 표기되어 있습니다. 상용 활용 전에는 데이터·가중치 라이선스를 별도로 확인하는 것이 안전합니다. (GitHub)

마무리

VoiceStar의 핵심은 단순히 “좋은 목소리 복제”가 아닙니다.
제로샷 TTS에 길이 제어와 긴 구간 안정성이라는 실무 문제를 구조적으로 풀어 넣었다는 점이 더 중요합니다. (arXiv)

특히 PM-RoPE는 텍스트와 음성 정렬, 목표 길이 인식, 길이 외삽을 하나의 흐름으로 묶어 설명한다는 점에서 인상적입니다. 여기에 CPM training까지 더해, 단순 continuation 기반 보이스 클로닝이 갖는 한계를 줄이려는 방향도 분명합니다. (arXiv)

결국 이 도구는 “길이까지 통제되는 제로샷 TTS”가 필요한 사람, 그리고 짧은 데모 품질보다 긴 발화 안정성이 더 중요한 사람에게 특히 유용합니다.

핵심 요약

  • VoiceStar는 제로샷 TTS + duration control + extrapolation을 함께 내세운 모델이다. (arXiv)
  • 핵심 아이디어는 PM-RoPECPM training이다. (arXiv)
  • 논문 기준 최대 30초 길이로 학습하고 40~50초 구간까지 평가해 외삽 성능을 보여준다. (arXiv)
  • 공개 저장소 기준으로 CLI와 Gradio UI를 모두 제공한다. (GitHub)
  • 다만 실시간 초고속 모델로 단정하기는 어렵고, 영어 중심 공개 자료라는 점도 함께 봐야 한다. (arXiv)
반응형