FoleyCrafter
音效是电影和游戏中的无名英雄,增强了现实感、冲击力和情感深度,带来沉浸式的视听体验。FoleyCrafter 是一个视频转音频生成框架,可以生成与视频语义相关且同步的逼真实时音效。
你的点赞是我们的动力! 我们会加足马力!
张一鸣, 顾宜成, 曾炎红†, 邢振宁, 王源成, 吴志正, 陈凯†
(†通讯作者)
新特性
- 更强大的一款 :stuck_out_tongue_closed_eyes:。
- 发布训练代码。
-
2024/07/01
发布 FoleyCrafter 的模型和代码。
设置
准备环境
使用以下命令安装依赖项:
# 安装 conda 环境
conda env create -f requirements/environment.yaml
conda activate foleycrafter
# 安装 GIT LFS 以下载检查点
conda install git-lfs
git lfs install
下载检查点
运行 inference.py
将自动下载检查点。
也可以使用以下命令手动下载。
git clone https://huggingface.co/auffusion/auffusion-full-no-adapter checkpoints/auffusion
git clone https://huggingface.co/ymzhang319/FoleyCrafter checkpoints/
将检查点放置如下:
└── checkpoints
├── semantic
│ ├── semantic_adapter.bin
├── vocoder
│ ├── vocoder.pt
│ ├── config.json
├── temporal_adapter.ckpt
│ │
└── timestamp_detector.pth.tar
Gradio 演示
可以通过运行以下命令启动 FoleyCrafter 的 Gradio 界面:
python app.py --share
推理
视频到音频生成
python inference.py --save_dir=output/sora/
结果:
输入视频 | 生成音频 |
https://github-production-user-asset-6210df.s3.amazonaws.com/134203169/342309836-77391524-9b31-4602-ad42-0876e0c16794.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240624%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240624T122317Z&X-Amz-Expires=300&X-Amz-Signature=3020c12591592a106efcb1aaa22237093737afaa55ede3880d3cbf9cd80b7482&X-Amz-SignedHeaders=host&actor_id=134203169&key_id=0&repo_id=812946188 | |
- 时间对齐与视觉提示
python inference.py \
--temporal_align \
--input=input/avsync \
--save_dir=output/avsync/
结果:
Ground Truth | Generated Audio |
基于文本的视频到音频生成
- 使用提示
# case1
python inference.py \
--input=input/PromptControl/case1/ \
--seed=10201304011203481429 \
--save_dir=output/PromptControl/case1/
python inference.py \
--input=input/PromptControl/case1/ \
--seed=10201304011203481429 \
--prompt='noisy, people talking' \
--save_dir=output/PromptControl/case1_prompt/
# case2
python inference.py \
--input=input/PromptControl/case2/ \
--seed=10021049243103289113 \
--save_dir=output/PromptControl/case2/
python inference.py \
--input=input/PromptControl/case2/ \
--seed=10021049243103289113 \
--prompt='seagulls' \
--save_dir=output/PromptControl/case2_prompt/
结果:
Generated Audio | Generated Audio |
Without Prompt | Prompt: noisy, people talking |
Without Prompt | Prompt: seagulls |
https://github-production-user-asset-6210df.s3.amazonaws.com/134203169/342311595-695668ed-46a1-47b2-b5fd-3aa4286d695e.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240624%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240624T122500Z&X-Amz-Expires=300&X-Amz-Signature=bf7d69ab8c74154ee8ac5682f64ce29a310ea2d0365f620893a45899d62a3f80&X-Amz-SignedHeaders=host&actor_id=134203169&key_id=0&repo_id=812946188 | |
- 使用负提示
# 案例3
python inference.py \
--input=input/PromptControl/case3/ \
--seed=10041042941301238011 \
--save_dir=output/PromptControl/case3/
python inference.py \
--input=input/PromptControl/case3/ \
--seed=10041042941301238011 \
--nprompt='river flows' \
--save_dir=output/PromptControl/case3_nprompt/
# 案例4
python inference.py \
--input=input/PromptControl/case4/ \
--seed=10014024412012338096 \
--save_dir=output/PromptControl/case4/
python inference.py \
--input=input/PromptControl/case4/ \
--seed=10014024412012338096 \
--nprompt='noisy, wind noise' \
--save_dir=output/PromptControl/case4_nprompt/
结果:
生成的音频 | 生成的音频 |
无提示 | 负提示: river flows |
无提示 | 负提示: noisy, wind noise |
命令行使用参数
options:
-h, --help 显示此帮助信息并退出
--prompt PROMPT 音频生成的提示
--nprompt NPROMPT 音频生成的负提示
--seed SEED 随机种子
--temporal_align TEMPORAL_ALIGN
是否使用时间适配器
--temporal_scale TEMPORAL_SCALE
时间对齐比例
--semantic_scale SEMANTIC_SCALE
视觉内容比例
--input INPUT 输入视频文件夹路径
--ckpt CKPT 检查点文件夹路径
--save_dir SAVE_DIR 生成结果保存路径
--pretrain PRETRAIN 生成器检查点路径
--device DEVICE
BibTex
@misc{zhang2024pia,
title={FoleyCrafter: Bring Silent Videos to Life with Lifelike and Synchronized Sounds},
author={Yiming Zhang, Yicheng Gu, Yanhong Zeng, Zhening Xing, Yuancheng Wang, Zhizheng Wu, Kai Chen},
year={2024},
eprint={2407.01494},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
联系我们
Yiming Zhang: zhangyiming@pjlab.org.cn
YiCheng Gu: yichenggu@link.cuhk.edu.cn
Yanhong Zeng: zengyanhong@pjlab.org.cn
许可证
请查看 LICENSE 了解 FoleyCrafter 的详细信息。 如果你将其用于商业目的,请查看 Auffusion 的许可证。
致谢
该代码基于 Auffusion、 CondFoleyGen和 SpecVQGAN 构建。
我们推荐一个用于音频、音乐和语音生成的工具包 Amphion :gift_heart:.