smthemex/ComfyUI_Sonic
Sonic is a method about ' Shifting Focus to Global Audio Perception in Portrait Animation',you can use it in comfyUI
ComfyUI Sonic – ComfyUI를 위한 오디오 기반 인물 애니메이션
기능 소개
Sonic은 오디오 트랙에서 정지된 인물 사진을 애니메이션화하여 얼굴이 '말하거나' 소리에 맞는 감정을 표현하도록 하는 연구 방식입니다. 이 포크는 생성형 AI 워크플로우를 구축하기 위한 시각적 노드 기반 인터페이스인 ComfyUI용 사용자 지정 노드로 Sonic 파이프라인을 패키징합니다.
주요 구성 요소
- 오디오-투-레이턴트 모델 (
audio2bucket.pth,audio2token.pth): 파형을 비디오 모델이 이해할 수 있는 토큰 시퀀스로 변환합니다. - UNet 비디오 확산 모델 (
unet.pth): 해당 오디오 토큰을 조건으로 프레임을 생성합니다. - 얼굴 감지기 (
yoloface_v5m.pt): 인물 영역을 찾습니다. - OpenAI Whisper-tiny: 음성 전사(원래 Sonic 파이프라인에서 사용)에 사용됩니다.
- RIFE 광학 흐름 모델 (
flownet.pkl): 시간적 부드러움을 위해 사용됩니다. - 선택적 Stable Video Diffusion (SVD) 체크포인트 (
svd_xt*.safetensors): 더 높은 품질의 비디오 생성을 위해 사용됩니다.
사용 방법
- 저장소를
ComfyUI/custom_node에 복제합니다. pip install -r requirements.txt로 Python 종속성을 설치합니다.- README에 나열된 모델 파일을 다운로드하여
ComfyUI/models/sonic/에 배치합니다(SVD 체크포인트는ComfyUI/models/checkpoints에 배치). - ComfyUI의 그래프 편집기에서 Sonic 노드를 추가합니다.
- 오디오 파일(또는 Whisper로 생성된 전사본)을 입력합니다.
- duration(초)을 설정하여 출력 비디오의 길이를 제어합니다.
- GPU 메모리가 부족하면 image_size를 조정하세요. 값이 작을수록 해상도가 낮아집니다.
- 노드는 오디오와 동기화되어 움직이는 인물 사진의 짧은 비디오를 출력합니다.
이 포크의 새로운 점
torchaudio.save를soundfile.write로 대체하여 최신 PyTorch 빌드에서의 ABI 불일치를 방지했습니다.cuda:0을 명시적으로 사용해야 하는 시스템에 대한 수정 사항을 적용했습니다.- BF16 지원, 첫 실행 시 12GB GPU OOM, Apple-MPS (Mac) 호환성에 대한 해결책을 추가했습니다.
- UI 조정: 'frame number'를 duration으로 이름 변경, 25 fps가 아닌 입력에 대한 배치 크기 처리, 비정사각형 출력 이미지 지원.
일반적인 워크플로우 예시
README에는 세 가지 워크플로우 스크린샷 예시가 있습니다. 사용자는 인물 사진을 로드하고, 오디오 파일을 연결하고, 원하는 지속 시간을 설정한 뒤 그래프를 실행하여 짧은 애니메이션 클립을 얻을 수 있습니다.
추천 대상
- 코딩 없이 AI 기반 립싱크나 표현력이 풍부한 아바타 영상을 빠르게 만들고 싶은 크리에이터.
- 명령줄 스크립트보다 시각적 UI를 선호하며 오디오 기반 비디오 확산을 실험하는 연구자.
- ComfyUI를 사용하여 다른 확산 작업을 수행하며 오디오 기반 애니메이션 노드를 파이프라인에 추가하려는 취미 사용자.
인용
이 노드를 사용하는 작업을 게시할 경우, 원본 Sonic 논문(arXiv:2411.16331)과 관련 RealTalk 논문(arXiv:2406.18284)을 인용하십시오.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트