사용 시기
사용자가 초상화 사진과 오디오 파일로 말하는 얼굴 / 디지털 휴먼 비디오를 만들고자 할 때(口播视频, 数字人生成, photo talk). 트리거: "生成口播视频", "make this photo talk", "照片说话", "数字人视频", "sadtalker", "talking head", "avatar video from photo". macOS(Apple Silicon 또는 Intel)에서만 적용됩니다.
절차
- 스크립트 위치 찾기: 스크립트는 이 SKILL.md 파일과 같은 디렉토리에 있습니다. 다음 명령으로 확인하세요:
ls "$(dirname <이-SKILL.md-파일-경로>)"— setup.sh, generate.sh 파일이 함께 있습니다. - 사전 요구 사항 확인: ffmpeg, conda 환경 sadtalker, ~/SadTalker/checkpoints/ 경로가 필요합니다. 누락된 것이 있으면 setup.sh를 실행하세요 (처음 한 번만, 약 15분, 약 2.5GB 다운로드).
- 사용자가 초상화 사진(.jpg/.png)과 음성 오디오 파일(.wav/.mp3)을 제공했는지 확인합니다. 오디오가 다른 형식이면 먼저 ffmpeg로 변환하세요.
- 생성 실행:
bash generate.sh <사진> <오디오> [--enhancer gfpgan] [--still] [--preprocess full|resize|crop]. 이 명령은 내부적으로conda run -n sadtalker python inference.py를 호출합니다. - 출력 .mp4 파일은 ~/SadTalker/results/<타임스탬프>/ 디렉토리에 생성됩니다. 열기:
open <경로>(macOS). 사용자에게 경로를 알려주세요.
주의 사항
- conda 환경 내 Python 버전은 반드시 3.10이어야 합니다. 3.8은 Apple Silicon 휠을 지원하지 않으며, 3.11 이상은 scikit-image==0.19.3 휠이 없습니다.
- 8GB RAM: 실행 전에 Chrome/IDE를 종료하세요. SadTalker는 Mac에서 순수 CPU로만 작동합니다 (GPU 경로 없음).
- dlib는 Mac에서 별도로 설치해야 합니다:
conda run -n sadtalker pip install dlib— M1에서 가장 흔한 오류입니다. - torch는 CUDA 접미사 없이 설치:
pip install torch torchvision torchaudio.torch.__version__에 '+cu'가 포함되어 있으면 재설치하세요. - ffmpeg는 brew로 설치하고 conda로 설치하지 마세요. conda의 ffmpeg는 필요한 코덱이 누락될 수 있습니다.
- 첫 실행 시 약 2GB의 체크포인트를 다운로드합니다. 중국에서는 먼저
HF_ENDPOINT=https://hf-mirror.com을 설정하세요. - GFPGAN 인핸서(
--enhancer gfpgan)는 처리 시간이 대략 두 배로 늘어납니다. 빠른 미리보기에는 생략하세요. - --still 모드는 --preprocess full과 함께 사용할 때 전신 사진을 기대합니다.
- 오디오는 반드시 .wav 또는 .mp3여야 합니다. 다른 형식은 'Header missing' 오류가 발생합니다. ffmpeg로 변환:
ffmpeg -i input.m4a output.wav.
검증
conda run -n sadtalker python -c 'import torch; print(torch.__version__)'— '+cu'가 포함되지 않아야 함ls ~/SadTalker/checkpoints/— auido2exp_00300-model.pth, auido2pose_00140-model.pth, epoch_20.pth 및 기타 .pth 파일이 포함되어야 함conda run -n sadtalker python -c 'import dlib; print("ok")'— 'ok' 출력 (Illegal Hardware Instruction 오류 없음)- 스모크 테스트:
cd ~/SadTalker && conda run -n sadtalker python inference.py --driven_audio examples/driven_audio/bus_chinese.wav --source_image examples/source_image/full_body_1.png— results/ 디렉토리에 결과물 생성