科学工具
科学工具让世界更美好
让世界更美好

语音驱动的多人对话视频生成功能 Let Them Talk 使用指南语音驱动的多人对话视频生成功能 Let Them Talk 使用指南

MultiTalk 是语音驱动的多人对话视频生成框架,能够依据多流音频输入、参考图像和提示词,生成符合提示交互、唇形和音频同步的视频内容,可用于多人对话、歌唱场景、交互控制和卡通角色生成等。

MultiTalk支持单人和多人视频生成,能呈现出非常自然的对话场景,通过提示词直接操控虚拟人物,实现真实的互动效果,能生成真人形象,可应用于卡通角色制作与歌唱场景,支持 480p 和 720p 输出,能适配任意宽高比,可生成最长 15 秒的视频内容。

MultiTalk 快速入门

环境安装配置

1、创建 Conda 环境并安装 PyTorch 和 xformers

conda create -n multitalk python=3.10
conda activate multitalk
pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu121
pip install -U xformers==0.0.25.post1 --index-url https://download.pytorch.org/whl/cu121

2、安装 Flash-attn

pip install packaging
pip install ninja
pip install psutil==7.0.0
pip install flash-attn==2.5.6 --no-build-isolation

或通过 whl 文件安装:

wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.5.6/flash_attn-2.5.6+cu122torch2.2cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
python -m pip install flash_attn-2.5.6+cu122torch2.2cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

3、安装其他依赖

conda install -c conda-forge librosa
pip install -r requirements.txt

4、安装 FFmpeg

conda install -c conda-forge ffmpeg

sudo yum install ffmpeg ffmpeg-devel

模型准备

1、模型下载

模型名称 下载链接 说明
Wan2.1-I2V-14B-480P 🤗 Huggingface 基础模型
chinese-wav2vec2-base 🤗 Huggingface 音频编码器
MeiGen-MultiTalk 🤗 Huggingface 音频条件权重

使用 huggingface-cli 下载:

huggingface-cli download Wan-AI/Wan2.1-I2V-14B-480P --local-dir ./weights/Wan2.1-I2V-14B-480P
huggingface-cli download TencentGameMate/chinese-wav2vec2-base --local-dir ./weights/chinese-wav2vec2-base
huggingface-cli download MeiGen-AI/MeiGen-MultiTalk --local-dir ./weights/MeiGen-MultiTalk

2、将 MultiTalk 模型链接或复制到 Wan2.1 目录

链接方式:

mv weights/Wan2.1-I2V-14B-480P/diffusion_pytorch_model.safetensors.index.json weights/Wan2.1-I2V-14B-480P/diffusion_pytorch_model.safetensors.index.json_old
sudo ln -s {绝对路径}/weights/MeiGen-MultiTalk/diffusion_pytorch_model.safetensors.index.json weights/Wan2.1-I2V-14B-480P/
sudo ln -s {绝对路径}/weights/MeiGen-MultiTalk/multitalk.safetensors weights/Wan2.1-I2V-14B-480P/

复制方式:

mv weights/Wan2.1-I2V-14B-480P/diffusion_pytorch_model.safetensors.index.json weights/Wan2.1-I2V-14B-480P/diffusion_pytorch_model.safetensors.index.json_old
cp weights/MeiGen-MultiTalk/diffusion_pytorch_model.safetensors.index.json weights/Wan2.1-I2V-14B-480P/
cp weights/MeiGen-MultiTalk/multitalk.safetensors weights/Wan2.1-I2V-14B-480P/

快速推理

模型兼容 480P 和 720P 分辨率,当前代码仅支持 480P 推理,720P 需多 GPU 支持(后续更新)。

推理提示

唇形同步精度:音频 CFG 值在 3-5 时效果最佳,提高该值可改善同步效果。

视频片段长度:模型基于 25 FPS、81 帧视频训练,生成 81 帧时提示跟随效果最佳,最长可生成 201 帧,但过长可能降低提示跟随性能。

长视频生成:音频 CFG 影响片段间色调一致性,设为 3 可减轻色调变化。

采样步数:减少步数(如 10 步)可加快生成速度,不影响唇形同步,但会影响动作和视觉质量;步数越多,视频质量越高。

推理命令

1、单人场景

• 单片段短视频生成:

python generate_multitalk.py --ckpt_dir weights/Wan2.1-I2V-14B-480P \
    --wav2vec_dir 'weights/chinese-wav2vec2-base' --input_json examples/single_example_1.json --sample_steps 40 --frame_num 81 --mode clip --save_file single_exp

• 长视频生成:

python generate_multitalk.py --ckpt_dir weights/Wan2.1-I2V-14B-480P \
    --wav2vec_dir 'weights/chinese-wav2vec2-base' --input_json examples/single_example_1.json --sample_steps 40 --mode streaming --save_file single_long_exp

2、多人场景

• 单片段短视频生成:

python generate_multitalk.py --ckpt_dir weights/Wan2.1-I2V-14B-480P \
    --wav2vec_dir 'weights/chinese-wav2vec2-base' --input_json examples/multitalk_example_1.json --sample_steps 40 --frame_num 81 --mode clip --save_file multi_exp

• 长视频生成:

python generate_multitalk.py --ckpt_dir weights/Wan2.1-I2V-14B-480P \
    --wav2vec_dir 'weights/chinese-wav2vec2-base' --input_json examples/multitalk_example_2.json --sample_steps 40 --mode streaming --save_file multi_long_exp