Dia: 초현실적인 멀티플레이어 대화 생성을 위한 텍스트 음성 변환 모델

최신 AI 리소스12개월 전에 게시됨 AI 공유 서클
76.9K 00
堆友AI

일반 소개

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

Dia:生成超现实多人对话的文本转语音模型

데모 주소: https://huggingface.co/spaces/nari-labs/Dia-1.6B

 

기능 목록

  • 초현실적 대화 생성텍스트 스크립트를 여러 화자 태그(예: [S1], [S2])를 지원하여 여러 문자 대화 오디오로 변환합니다.
  • 감정 및 톤 제어오디오 단서 또는 고정 시드를 통해 말의 감정과 억양을 조정합니다.
  • 비언어적 표현웃음소리, 일시 정지 등의 비언어적 소리를 생성하여 대화의 사실감을 높입니다.
  • 그라디오 대화형 인터페이스대화 생성 및 오디오 출력 작업을 간소화하는 시각적 인터페이스를 제공합니다.
  • 오픈 소스 모델 및 코드사용자는 허깅 페이스에서 사전 학습된 모델을 다운로드하거나 GitHub에서 소스 코드를 얻을 수 있습니다.
  • 교차 장치 지원GPU 작동을 지원하며, 향후 CPU 지원도 예정되어 있습니다.
  • 반복 가능한 설정무작위 시드를 설정하여 일관된 결과 생성을 보장합니다.

 

도움말 사용

설치 프로세스

Dia를 사용하려면 먼저 GitHub 리포지토리를 복제하고 환경을 설정해야 합니다. 자세한 단계는 다음과 같습니다:

  1. 클론 창고::
    터미널에서 다음 명령을 실행합니다:

    git clone https://github.com/nari-labs/dia.git
    cd dia
    
  2. 가상 환경 만들기::
    Python을 사용하여 가상 환경을 만들어 종속성을 격리하세요:

    python -m venv .venv
    source .venv/bin/activate  # Windows 用户运行 .venv\Scripts\activate
    
  3. 종속성 설치::
    다이아 사용 uv 종속성 관리를 위한 도구. 설치 uv 그리고 실행하세요:

    pip install uv
    uv run app.py
    

    그러면 필요한 라이브러리가 자동으로 설치되고 Gradio 인터페이스가 시작됩니다.

  4. 하드웨어 요구 사항::
    • GPUCUDA를 지원하는 NVIDIA GPU를 권장합니다.
    • CPU현재 GPU 최적화가 개선되었으며, CPU 지원도 계획 중입니다.
    • RAM(랜덤 액세스 메모리)최소 16GB RAM, 모델 로딩에 더 높은 메모리 필요.
  5. 설치 확인::
    움직여야 합니다. uv run app.py 그 후 터미널에 Gradio 인터페이스의 로컬 URL이 표시됩니다(일반적으로 http://127.0.0.1:7860). 브라우저에서 이 URL을 열고 인터페이스가 제대로 로드되는지 확인합니다.

라디오 인터페이스 사용

Gradio 인터페이스는 Dia의 주요 상호 작용 방법이며 빠른 테스트 및 대화 생성에 적합합니다. 단계는 다음과 같습니다:

  1. 인터페이스 열기::
    활성화(플랜) uv run app.py 인터페이스에는 텍스트 입력 상자, 매개변수 설정 및 오디오 출력 영역이 있습니다.
  2. 대화 스크립트 입력::
    텍스트 상자에 스크립트를 입력합니다. [S1][S2] 등의 마커를 사용하여 화자를 구분할 수 있습니다. 예를 들어

    [S1] 你好,今天过得怎么样?
    [S2] 还不错,就是有点忙。(笑)
    

    이 스크립트는 다음과 같은 비언어 마크업을 지원합니다. (笑).

  3. 생성 매개변수 설정::
    • 최대 오디오 마커(--max-tokens): 생성된 오디오의 길이를 제어합니다(기본값은 3072).
    • CFG 비율(--cfg-scale): 생성 품질을 조정합니다(기본값 3.0).
    • temp(--temperature): 무작위성을 제어하며, 기본값은 1.3으로 값이 높을수록 무작위성이 높아집니다.
    • Top-p(--top-p): 커널 샘플링 확률, 기본값은 0.95입니다.
      이러한 매개변수는 인터페이스에서 조정할 수 있으며 초보자는 기본값을 사용할 수 있습니다.
  4. 오디오 단서 추가(선택 사항)::
    음성 일관성을 위해 참조 오디오를 업로드할 수 있습니다. 인터페이스에서 '오디오 큐' 옵션을 클릭하고 WAV 파일을 선택합니다. 공식 문서에는 오디오 큐에 대한 가이드라인이 곧 공개될 예정이라고 언급되어 있지만, 지금은 Gradio 인터페이스의 예시를 참조할 수 있습니다.
  5. 오디오 생성::
    '생성' 버튼을 클릭하면 모델이 스크립트를 처리하여 오디오를 출력합니다. 생성 시간은 하드웨어 성능에 따라 다르며 일반적으로 몇 초에서 수십 초 정도 걸립니다. 생성된 오디오는 인터페이스에서 미리 보거나 WAV 파일로 다운로드할 수 있습니다.
  6. 시드 고정::
    매번 생성되는 사운드가 동일하도록 하기 위해 임의의 시드를 설정할 수 있습니다. 인터페이스에서 '시드' 옵션을 클릭하고 정수를 입력합니다(예 35). 설정하지 않으면 Dia에서 매번 다른 사운드를 생성할 수 있습니다.

명령줄 사용법

Gradio 외에도 Dia는 개발자를 위한 명령줄 작업이나 배치 생성도 지원합니다. 아래는 그 예시입니다:

  1. CLI 스크립트 실행::
    가상 환경에서 실행됩니다:

    python cli.py "[S1] 你好! [S2] 嗨,很好。" --output output.wav
    
  2. 모델 지정::
    기본적으로 포옹하는 얼굴의 nari-labs/Dia-1.6B 모델. 로컬 모델을 사용하는 경우 구성 파일과 체크포인트를 제공해야 합니다:

    python cli.py --local-paths --config config.yaml --checkpoint checkpoint.pt "[S1] 测试" --output test.wav
    
  3. 조정 매개변수::
    예를 들어 명령줄에서 생성 매개변수를 설정할 수 있습니다:

    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 성능은 생성 속도에 큰 영향을 미치며 저사양 기기에서는 속도가 느려질 수 있습니다.
  • 윤리 가이드라인나리랩은 부적절한 콘텐츠 생성을 방지하기 위해 사용자가 준수해야 하는 윤리적, 법적 사용 가이드라인을 제공합니다.

 

애플리케이션 시나리오

  1. 콘텐츠 제작
    Dia는 팟캐스트, 애니메이션 또는 짧은 동영상을 위한 사실적인 대화를 생성하는 데 적합합니다. 크리에이터는 스크립트를 입력하고 캐릭터 음성을 빠르게 생성할 수 있어 녹음 비용이 들지 않습니다. 예를 들어 애니메이터는 캐릭터에 다양한 억양으로 대사를 생성하여 작품의 완성도를 높일 수 있습니다.
  2. 교육 및 훈련
    Dia는 언어 학습이나 역할극 훈련을 위한 오디오 대화를 생성할 수 있습니다. 예를 들어, 언어 교사는 실제 시나리오를 시뮬레이션하는 다중 역할 대화를 생성하여 학생들이 듣기 및 말하기 연습을 할 수 있도록 도울 수 있습니다.
  3. 게임 개발
    게임 개발자는 Dia를 사용하여 NPC를 위한 동적 대화를 생성할 수 있습니다. 이 스크립트는 감정 태깅을 지원하며 다양한 시나리오에 맞는 캐릭터별 음성을 생성할 수 있습니다.
  4. 연구 및 개발
    AI 연구자들은 Dia의 오픈 소스 코드를 기반으로 2차 개발을 통해 TTS 기술을 탐구할 수 있습니다. 이 모델은 로컬 로딩을 지원하므로 실험 및 최적화에 적합합니다.

 

QA

  1. Dia는 어떤 입력 형식을 지원하나요?
    Dia는 다음과 같은 텍스트 스크립트를 허용합니다. [S1][S2] 마커는 화자를 구분합니다. 다음과 같은 비언어적 토큰은 (笑)오디오 큐는 옵션으로 WAV 형식으로 제공됩니다.
  2. 생성된 사운드가 일관되게 들리도록 하려면 어떻게 해야 하나요?
    고정 시드는 설정(--seed) 또는 오디오 큐 구현을 업로드합니다. 시드는 Gradio 인터페이스 또는 명령줄에서 설정할 수 있으며, 오디오 단서는 고품질 WAV 파일이어야 합니다.
  3. Dia는 CPU 작동을 지원하나요?
    Dia는 현재 GPU에서 실행되도록 최적화되어 있으며, 향후 CPU도 지원할 계획이며 최상의 성능을 위해 NVIDIA GPU를 권장합니다.
  4. 오디오를 생성하는 데 시간이 얼마나 걸리나요?
    생성 시간은 하드웨어와 스크립트의 길이에 따라 다릅니다. 고성능 GPU에서는 짧은 대화는 생성하는 데 보통 몇 초가 걸리고 긴 대화는 수십 초가 걸릴 수 있습니다.
  5. Dia는 무료인가요?
    Dia는 오픈 소스 프로젝트이며 코드와 모델은 무료입니다. 사용자는 이를 실행하는 데 필요한 하드웨어 비용을 부담해야 합니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...