일반 소개
다이아는 나리 랩스에서 개발한 오픈 소스 텍스트 음성 변환(TTS) 모델로 초현실적인 대화 오디오를 생성하는 데 중점을 두고 있습니다. 텍스트 스크립트를 한 번의 프로세스로 사실적인 다중 문자 대화로 변환하고 감정과 억양 제어를 지원하며 웃음과 같은 비언어적 표현까지 생성할 수 있으며, Dia의 핵심은 Hugging Face에서 호스팅되는 16억 개의 파라미터 모델이며 코드와 사전 학습 모델은 GitHub를 통해 사용자가 사용할 수 있습니다. 개방성과 유연성에 중점을 두고 설계되어 사용자가 대화 스크립트와 음성 출력을 완전히 제어할 수 있으며, Dia는 사용자가 생성된 대화가 어떤 모습일지 빠르게 살펴볼 수 있도록 Gradio 인터페이스를 제공합니다. 이 프로젝트는 구글 TPU 리서치 클라우드와 허깅 페이스 제로GPU 그랜트의 지원을 받고 있으며, 사운드스톰과 파라키트 같은 기술에서 영감을 얻었습니다.

데모 주소: https://huggingface.co/spaces/nari-labs/Dia-1.6B
기능 목록
- 초현실적 대화 생성텍스트 스크립트를 여러 화자 태그(예: [S1], [S2])를 지원하여 여러 문자 대화 오디오로 변환합니다.
- 감정 및 톤 제어오디오 단서 또는 고정 시드를 통해 말의 감정과 억양을 조정합니다.
- 비언어적 표현웃음소리, 일시 정지 등의 비언어적 소리를 생성하여 대화의 사실감을 높입니다.
- 그라디오 대화형 인터페이스대화 생성 및 오디오 출력 작업을 간소화하는 시각적 인터페이스를 제공합니다.
- 오픈 소스 모델 및 코드사용자는 허깅 페이스에서 사전 학습된 모델을 다운로드하거나 GitHub에서 소스 코드를 얻을 수 있습니다.
- 교차 장치 지원GPU 작동을 지원하며, 향후 CPU 지원도 예정되어 있습니다.
- 반복 가능한 설정무작위 시드를 설정하여 일관된 결과 생성을 보장합니다.
도움말 사용
설치 프로세스
Dia를 사용하려면 먼저 GitHub 리포지토리를 복제하고 환경을 설정해야 합니다. 자세한 단계는 다음과 같습니다:
- 클론 창고::
터미널에서 다음 명령을 실행합니다:git clone https://github.com/nari-labs/dia.git cd dia
- 가상 환경 만들기::
Python을 사용하여 가상 환경을 만들어 종속성을 격리하세요:python -m venv .venv source .venv/bin/activate # Windows 用户运行 .venv\Scripts\activate
- 종속성 설치::
다이아 사용uv
종속성 관리를 위한 도구. 설치uv
그리고 실행하세요:pip install uv uv run app.py
그러면 필요한 라이브러리가 자동으로 설치되고 Gradio 인터페이스가 시작됩니다.
- 하드웨어 요구 사항::
- GPUCUDA를 지원하는 NVIDIA GPU를 권장합니다.
- CPU현재 GPU 최적화가 개선되었으며, CPU 지원도 계획 중입니다.
- RAM(랜덤 액세스 메모리)최소 16GB RAM, 모델 로딩에 더 높은 메모리 필요.
- 설치 확인::
움직여야 합니다.uv run app.py
그 후 터미널에 Gradio 인터페이스의 로컬 URL이 표시됩니다(일반적으로http://127.0.0.1:7860
). 브라우저에서 이 URL을 열고 인터페이스가 제대로 로드되는지 확인합니다.
라디오 인터페이스 사용
Gradio 인터페이스는 Dia의 주요 상호 작용 방법이며 빠른 테스트 및 대화 생성에 적합합니다. 단계는 다음과 같습니다:
- 인터페이스 열기::
활성화(플랜)uv run app.py
인터페이스에는 텍스트 입력 상자, 매개변수 설정 및 오디오 출력 영역이 있습니다. - 대화 스크립트 입력::
텍스트 상자에 스크립트를 입력합니다.[S1]
및[S2]
등의 마커를 사용하여 화자를 구분할 수 있습니다. 예를 들어[S1] 你好,今天过得怎么样? [S2] 还不错,就是有点忙。(笑)
이 스크립트는 다음과 같은 비언어 마크업을 지원합니다.
(笑)
. - 생성 매개변수 설정::
- 최대 오디오 마커(
--max-tokens
): 생성된 오디오의 길이를 제어합니다(기본값은 3072). - CFG 비율(
--cfg-scale
): 생성 품질을 조정합니다(기본값 3.0). - temp(
--temperature
): 무작위성을 제어하며, 기본값은 1.3으로 값이 높을수록 무작위성이 높아집니다. - Top-p(
--top-p
): 커널 샘플링 확률, 기본값은 0.95입니다.
이러한 매개변수는 인터페이스에서 조정할 수 있으며 초보자는 기본값을 사용할 수 있습니다.
- 최대 오디오 마커(
- 오디오 단서 추가(선택 사항)::
음성 일관성을 위해 참조 오디오를 업로드할 수 있습니다. 인터페이스에서 '오디오 큐' 옵션을 클릭하고 WAV 파일을 선택합니다. 공식 문서에는 오디오 큐에 대한 가이드라인이 곧 공개될 예정이라고 언급되어 있지만, 지금은 Gradio 인터페이스의 예시를 참조할 수 있습니다. - 오디오 생성::
'생성' 버튼을 클릭하면 모델이 스크립트를 처리하여 오디오를 출력합니다. 생성 시간은 하드웨어 성능에 따라 다르며 일반적으로 몇 초에서 수십 초 정도 걸립니다. 생성된 오디오는 인터페이스에서 미리 보거나 WAV 파일로 다운로드할 수 있습니다. - 시드 고정::
매번 생성되는 사운드가 동일하도록 하기 위해 임의의 시드를 설정할 수 있습니다. 인터페이스에서 '시드' 옵션을 클릭하고 정수를 입력합니다(예35
). 설정하지 않으면 Dia에서 매번 다른 사운드를 생성할 수 있습니다.
명령줄 사용법
Gradio 외에도 Dia는 개발자를 위한 명령줄 작업이나 배치 생성도 지원합니다. 아래는 그 예시입니다:
- CLI 스크립트 실행::
가상 환경에서 실행됩니다:python cli.py "[S1] 你好! [S2] 嗨,很好。" --output output.wav
- 모델 지정::
기본적으로 포옹하는 얼굴의nari-labs/Dia-1.6B
모델. 로컬 모델을 사용하는 경우 구성 파일과 체크포인트를 제공해야 합니다:python cli.py --local-paths --config config.yaml --checkpoint checkpoint.pt "[S1] 测试" --output test.wav
- 조정 매개변수::
예를 들어 명령줄에서 생성 매개변수를 설정할 수 있습니다:python cli.py --text "[S1] 你好" --output out.wav --max-tokens 3072 --cfg-scale 3.0 --temperature 1.3 --top-p 0.95 --seed 35
주요 기능 작동
- 다중 문자 대화::
Dia의 핵심 강점은 멀티 액터 대화 생성입니다. 스크립트는[S1]
및[S2]
등의 마커를 사용하여 캐릭터를 구분하면 모델이 각 캐릭터에 자동으로 다른 음성을 할당합니다. 예를 들어 스크립트에서 캐릭터의 어조나 감정을 명시하는 것이 좋습니다:[S1] (兴奋)我们赢了! [S2] (惊讶)真的吗?太棒了!
- 비언어적 표현::
스크립트에 추가(笑)
및(停顿)
등의 마커를 입력하면 Dia가 해당 음향 효과를 생성합니다. 예시:[S2] 这太好笑了!(笑)
- 음성 일관성::
매번 다른 사운드가 생성되는 것을 방지하려면 시드를 수정하거나 오디오 단서를 사용하세요. 시드 수정은 Gradio 인터페이스에서 또는 명령줄의--seed
설정으로 이동합니다. 오디오 프롬프트는 선명한 음성 클립이 포함된 고품질 WAV 파일로 업로드해야 합니다.
주의
- 모델은 특정 사운드에 맞게 미세 조정되지 않습니다.생성된 사운드는 매번 다를 수 있으며 시딩 또는 오디오 큐잉을 통해 일관성을 보장해야 합니다.
- 하드웨어 제한GPU 성능은 생성 속도에 큰 영향을 미치며 저사양 기기에서는 속도가 느려질 수 있습니다.
- 윤리 가이드라인나리랩은 부적절한 콘텐츠 생성을 방지하기 위해 사용자가 준수해야 하는 윤리적, 법적 사용 가이드라인을 제공합니다.
애플리케이션 시나리오
- 콘텐츠 제작
Dia는 팟캐스트, 애니메이션 또는 짧은 동영상을 위한 사실적인 대화를 생성하는 데 적합합니다. 크리에이터는 스크립트를 입력하고 캐릭터 음성을 빠르게 생성할 수 있어 녹음 비용이 들지 않습니다. 예를 들어 애니메이터는 캐릭터에 다양한 억양으로 대사를 생성하여 작품의 완성도를 높일 수 있습니다. - 교육 및 훈련
Dia는 언어 학습이나 역할극 훈련을 위한 오디오 대화를 생성할 수 있습니다. 예를 들어, 언어 교사는 실제 시나리오를 시뮬레이션하는 다중 역할 대화를 생성하여 학생들이 듣기 및 말하기 연습을 할 수 있도록 도울 수 있습니다. - 게임 개발
게임 개발자는 Dia를 사용하여 NPC를 위한 동적 대화를 생성할 수 있습니다. 이 스크립트는 감정 태깅을 지원하며 다양한 시나리오에 맞는 캐릭터별 음성을 생성할 수 있습니다. - 연구 및 개발
AI 연구자들은 Dia의 오픈 소스 코드를 기반으로 2차 개발을 통해 TTS 기술을 탐구할 수 있습니다. 이 모델은 로컬 로딩을 지원하므로 실험 및 최적화에 적합합니다.
QA
- Dia는 어떤 입력 형식을 지원하나요?
Dia는 다음과 같은 텍스트 스크립트를 허용합니다.[S1]
및[S2]
마커는 화자를 구분합니다. 다음과 같은 비언어적 토큰은(笑)
오디오 큐는 옵션으로 WAV 형식으로 제공됩니다. - 생성된 사운드가 일관되게 들리도록 하려면 어떻게 해야 하나요?
고정 시드는 설정(--seed
) 또는 오디오 큐 구현을 업로드합니다. 시드는 Gradio 인터페이스 또는 명령줄에서 설정할 수 있으며, 오디오 단서는 고품질 WAV 파일이어야 합니다. - Dia는 CPU 작동을 지원하나요?
Dia는 현재 GPU에서 실행되도록 최적화되어 있으며, 향후 CPU도 지원할 계획이며 최상의 성능을 위해 NVIDIA GPU를 권장합니다. - 오디오를 생성하는 데 시간이 얼마나 걸리나요?
생성 시간은 하드웨어와 스크립트의 길이에 따라 다릅니다. 고성능 GPU에서는 짧은 대화는 생성하는 데 보통 몇 초가 걸리고 긴 대화는 수십 초가 걸릴 수 있습니다. - Dia는 무료인가요?
Dia는 오픈 소스 프로젝트이며 코드와 모델은 무료입니다. 사용자는 이를 실행하는 데 필요한 하드웨어 비용을 부담해야 합니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...