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