wildminder/ComfyUI-VibeVoice

ComfyUI custom node for the VibeVoice TTS. Expressive, long-form, multi-speaker conversational audio

ComfyUI‑VibeVoice – 기능 소개

ComfyUI‑VibeVoice는 Microsoft의 VibeVoice 텍스트 음성 변환(TTS) 및 자동 음성 인식(ASR) 모델을 시각적 프로그래밍 환경 ComfyUI에 도입하는 사용자 정의 노드 세트입니다. 설치 후 노드는 WMNodes/sound/tts 및 WMNodes/sound/asr 아래에 나타나며, 다른 이미지 생성 노드처럼 ComfyUI 그래프에 드롭할 수 있습니다.

핵심 기능

기능 의미
장문 다중 화자 TTS 단일 오디오 파일에서 최대 4개의 서로 다른 음성을 말할 수 있습니다.
음성 복제 로컬 .wav/.mp3를 참조로 사용하여 모델이 해당 화자의 음색을 모방합니다.
하이브리드 스크립트 동일한 스크립트에서 복제된 음성과 이미 제공된 참조를 재사용하는 화자를 혼합합니다.
ASR 함께 제공되는 VibeVoice ASR 노드는 입력 오디오 파일에서 타임스탬프가 있는 화자 세그먼트를 반환합니다.
양자화 가중치 GGUF, fp8, int8 및 4‑bit 양자화(또는 원본 safetensors)를 지원하여 VRAM 사용량을 줄입니다.
어텐션 백엔드 eager, sdpa, flash_attention_2 또는 sage 중에서 선택하여 속도와 호환성을 조정할 수 있습니다.
VRAM 관리 모델은 ComfyUI/models/tts/VibeVoice/에 자동으로 다운로드되며 ComfyUI 내장 VRAM 관리자를 통해 로드됩니다.

사용 가능한 모델(첫 실행 시 다운로드)

모델 크기 사용 사례
VibeVoice‑1.5B 3 GB 표준 장문 TTS(고품질).
VibeVoice‑7B 17.4 GB 더 풍부한 음성을 위한 고용량 TTS.
VibeVoice‑Realtime‑0.5B 1.5 GB 실시간 단일 화자 생성(캐시된 .pt 음성 프롬프트 사용).
VibeVoice‑ASR‑HF 17.4 GB 화자 타임스탬프가 포함된 음성 텍스트 변환.

일반적인 워크플로우

  1. 노드 추가 – VibeVoice TTS(또는 VibeVoice ASR).
  2. 참조 오디오 로드(선택 사항) – Load Audio 노드를 사용하고 speaker_1_voice … speaker_4_voice에 연결하여 해당 화자를 복제합니다. 입력을 비워 두면 해당 화자는 이미 제공된 참조를 재사용합니다.
  3. 스크립트 작성 – text 필드에 다음 중 하나를 사용합니다:
    • [1] Hello… 또는
    • Speaker 1: Hello…
  4. 그래프를 큐에 추가 – 노드는 전체 대화를 포함하는 단일 AUDIO 출력을 반환합니다.

실시간 모드(단일 화자 전용)

  • VibeVoice‑Realtime‑0.5B 체크포인트를 선택합니다.
  • ComfyUI/models/tts/VibeVoice/voices/에 음성 프리셋 .pt 파일(예: en‑Carter_man.pt)을 제공합니다.
  • 화자 참조 입력은 무시되며 모델은 캐시된 프롬프트를 사용합니다.
  • 출력이 잘리면 cfg_scale(1.5‑1.8) 및 max_new_tokens를 조정합니다.

설치

  • ComfyUI Manager를 통해 – ComfyUI‑VibeVoice를 검색하여 설치합니다.
  • 수동 – ComfyUI/custom_nodes에 복제하고 pip install -r requirements.txt를 실행한 후 ComfyUI를 다시 시작합니다.
  • 선택적 추가 사항:
    • sage 백엔드용 sageattention(Windows wheels 제공).
    • 4‑bit 양자화용 bitsandbytes.
    • 추가 오디오 유틸리티용 ComfyUI-VibeVoice[audio-extra].

확장 / 외부 가중치 로드

  • Load VibeVoice Model 노드는 로컬 .gguf, .safetensors 또는 .bin 파일을 가리켜 내장 model_name을 재정의할 수 있습니다.
  • 사이드카 JSON 파일(<weights>.config.json, <weights>.preprocessor.json, tokenizer.json)을 통해 사용자 정의 아키텍처 또는 토크나이저 구성을 제공할 수 있습니다.
  • 로더는 먼저 CPU에서 작동한 다음 텐서를 ComfyUI의 VRAM 관리자에 전달합니다. 양자화 형식은 직접 스트리밍되어 추가 호스트 RAM 복사를 피합니다.

제한 사항 및 알려진 문제

  • 실시간 모델은 단일 화자 전용입니다 – 화자 태그가 제거됩니다.
  • 복제된 음성에는 최소 하나의 참조 오디오가 필요합니다. 시스템은 완전한 제로샷 음성을 생성할 수 없습니다.
  • 밀집 BF16 체크포인트용 실험적 DynamicVRAM 패치는 아직 호스트 RAM 사용량을 줄이지 못합니다(README의 “Known defect” 섹션 참조).

요약: 이미 ComfyUI를 이미지 생성에 사용하고 있으며 노드 그래프 환경을 떠나지 않고 고품질 다중 화자 TTS 또는 음성 텍스트 변환을 추가하려는 경우, ComfyUI‑VibeVoice는 Microsoft의 VibeVoice 모델에 대한 즉시 사용 가능한 브리지를 제공하여 다운로드, VRAM 할당 및 유연한 스크립트 형식을 처리합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트