FoleyCrafter 使用教程
1. 项目介绍
FoleyCrafter 是一个由 open-mmlab 开发的视频转音频生成框架,它可以生成与视频内容语义相关且同步的逼真音效。此项目对于提升视频的沉浸感和情感表达有着重要作用,尤其适用于电影、游戏以及任何需要音效同步的视频制作。
2. 项目快速启动
环境准备
首先,你需要安装 conda 环境,并创建一个针对 FoleyCrafter 的环境。使用以下命令:
conda env create -f requirements/environment.yaml
conda activate foleycrafter
接着,安装 GIT LFS 以便下载 checkpoints:
conda install git-lfs
git lfs install
下载 Checkpoints
运行 inference.py
脚本将会自动下载 checkpoints。你也可以手动下载,使用以下命令:
git clone https://huggingface.co/auffusion/auffusion-full-no-adapter checkpoints/auffusion
git clone https://huggingface.co/ymzhang319/FoleyCrafter checkpoints/
将下载的 checkpoints 放置在以下目录结构中:
└── checkpoints
├── semantic
│ ├── semantic_adapter.bin
├── vocoder
│ ├── vocoder.pt
│ ├── config.json
├── temporal_adapter.ckpt
└── timestamp_detector.pth.tar
启动 Gradio Demo
可以通过运行以下命令来启动 Gradio 界面:
python app.py --share
视频转音频生成
使用以下命令进行视频转音频的生成:
python inference.py --save_dir=output/sora/
3. 应用案例和最佳实践
时间对齐
使用以下命令来实现视频和音频的时间对齐:
python inference.py \
--temporal_align \
--input=input/avsync \
--save_dir=output/avsync/
基于提示的文字转音频
你可以通过添加提示词来控制生成的音频。以下是一个案例:
python inference.py \
--input=input/PromptControl/case1/ \
--seed=10201304011203481429 \
--prompt='noisy, people talking' \
--save_dir=output/PromptControl/case1_prompt/
使用负提示
你也可以使用负提示来排除某些不需要的音频特征:
python inference.py \
--input=input/PromptControl/case3/ \
--seed=10041042941301238011 \
--nprompt='river flows' \
--save_dir=output/PromptControl/case3_nprompt/
4. 典型生态项目
FoleyCrafter 是建立在 Auffusion、CondFoleyGen 和 SpecVQGAN 等项目基础之上的。我们推荐使用 Amphion 工具包来进一步探索音频、音乐和语音生成领域。
请注意,FoleyCrafter 使用 Apache-2.0 许可证。如果你将其用于商业目的,请检查 Auffusion 的许可证。