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

최신 AI 리소스4 개월 전에 게시 됨 AI 공유 서클
1.3K 00

일반 소개

다이아는 나리 랩스에서 개발한 오픈 소스 텍스트 음성 변환(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는 오픈 소스 프로젝트이며 코드와 모델은 무료입니다. 사용자는 이를 실행하는 데 필요한 하드웨어 비용을 부담해야 합니다.
© 저작권 정책
AiPPT

관련 문서

댓글 없음

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