Dia - 현실적인 대화를 생성하는 오픈 웨이트 TTS 모델

1 week ago 7

  • Dia는 텍스트 대사를 기반으로 고품질 대화 음성을 생성하는 1.6B 파라미터 TTS 모델로, 오디오 프롬프트를 통해 감정·톤 조절이 가능함
  • Nari Labs에서 개발했으며, "Nari"는 순수 한국어로 "백합"을 의미함
  • [S1], [S2]로 화자를 지정하고 (laughs), (coughs) 등의 비언어적 표현도 생성 가능하며, 간단한 음성 클로닝도 지원함
  • HuggingFace에서 바로 실행 가능하며, 별도 설치 없이 브라우저 기반 테스트 및 ZeroGPU 지원도 제공됨
  • 현재 영어만 지원, 10GB VRAM 이상 요구되며, 향후 양자화 모델다국어 지원 등 예정됨

Dia: 대화 중심 음성 합성 모델

  • Dia는 Nari Labs에서 개발한 1.6B 파라미터 오픈웨이트 TTS 모델
  • 기존 TTS처럼 화자별 음성을 나눠 생성하지 않고, 대화 전체를 한 번에 생성하는 방식 사용
  • 데모: Hugging Face Space
  • 코드: GitHub 저장소

주요 기능

대화형 음성 생성

  • 텍스트 내 [S1], [S2]로 화자 지정 가능
  • (laughs), (coughs) 등 비언어적 사운드도 텍스트로 삽입 가능
  • 감정, 톤, 목소리 스타일을 오디오 프롬프트로 지정 가능

음성 클로닝

  • 예시 오디오와 해당 대사를 텍스트로 함께 제공하면 음성 클로닝 기능 활성화
  • Hugging Face Space에서 오디오 업로드 후 실습 가능
  • 자세한 예제는 example/voice_clone.py 참조

라이브러리 형태로 사용

from dia.model import Dia model = Dia.from_pretrained("nari-labs/Dia-1.6B") output = model.generate(text)
  • soundfile로 MP3 출력 가능
  • PyPI 패키지와 CLI 도구도 곧 제공 예정

설치 및 실행

빠른 실행 방법 (Gradio 기반)

git clone https://github.com/nari-labs/dia.git cd dia && uv run app.py

또는 uv가 없다면:

cd dia python -m venv .venv source .venv/bin/activate pip install uv uv run app.py
  • 실행 시 Descript Audio Codec 자동 다운로드
  • 실행할 때마다 음성이 랜덤 생성됨, 일관성을 위해 프롬프트나 seed 고정 필요

성능 및 하드웨어 요구

  • 테스트 환경: PyTorch 2.0+, CUDA 12.6 이상
  • 권장 VRAM: 10GB 이상, 곧 양자화(Quantized) 버전 출시 예정
  • A4000 GPU 기준 약 40 토큰/초 생성 (86 토큰 = 약 1초 음성)
  • torch.compile 사용 시 속도 향상 가능

향후 계획 및 TODO

  • Docker 지원
  • 추론 속도 최적화
  • 모델 양자화(메모리 효율화)
  • 다국어 지원, 더 많은 화자 수용 등 확장 고려 중

라이선스 및 사용 제한

  • Apache 2.0 라이선스 적용
  • 금지된 사용 예:
    • 타인의 음성을 허가 없이 생성 (Identity Misuse)
    • 허위 정보 생성 (Fake News 등)
    • 불법·악의적 목적

커뮤니티와 기여

  • 연구 인력: 풀타임 1명 + 파트타임 1명으로 구성된 소규모 팀임
  • Discord 서버를 통해 피드백 공유 및 기능 제안 가능
  • 기여자와 함께 성장하는 오픈소스 지향 프로젝트

참고 및 기술적 기반

  • 사운드 모델: SoundStorm, Parakeet, Descript Audio Codec에서 영감 받음
  • 연산 지원: Google TPU Research Cloud, HuggingFace ZeroGPU 프로그램
  • "Nari"는 순수한 한국어로 "백합"을 의미함

Read Entire Article