MMAudio - 自动给视频配音效
MMAudio 在给定视频和/或文本输入的情况下生成同步音频。我们的关键创新是多模式联合训练,它允许对广泛的视听和音频文本数据集进行训练。此外,同步模块将生成的音频与视频帧对齐。
419 Stars 26 Forks 2 Issues NA 贡献者 MIT License Python 语言
代码: GitHub - hkchengrex/MMAudio: [arXiv 2024] Taming Multimodal Joint Training for High-Quality Video-to-Audio Synthesis
主页: MMAudio
更多AI开源软件:AI开源 - 小众AI
主要功能
一、视频到音频合成
- **功能概述**:根据视频内容自动生成适配的音频,包括背景音乐、音效以及环境音。
- **技术特点**:利用深度学习架构,特别是神经网络和时间分析技术,处理视频中的视觉信息,生成自然适配的音频。
- **应用场景**:适用于影视制作、短视频创作等领域,可以简化传统音效制作的流程,提高制作效率。
二、文本到音频合成
- **功能概述**:根据输入的文本描述生成匹配的音频效果。
- **技术特点**:通过理解和分析文本内容,生成与文本描述相符的音效,如环境背景音、脚步声、爆炸声等。
- **应用场景**:适用于有声读物制作、游戏配音、广告配音等领域,可以根据文本内容生成所需的音效,提升用户体验。
三、多模态联合训练
- **功能概述**:支持在包含音频、视频和文本的数据集上进行训练,提升模型对不同模态数据的理解和生成能力。
- **技术特点**:通过多模态联合训练,使模型能够更好地理解和生成与视频或文本内容相匹配的音频。
- **应用场景**:适用于各种需要音频合成的场景,如虚拟现实、增强现实等领域,可以提供更加真实、自然的音频体验。
四、同步模块
- **功能概述**:确保生成的音频与视频帧或文本描述精确对齐,实现高度同步。
- **技术特点**:通过先进的同步机制,使生成的音频与视频内容或文本描述的时间轴完全对应。
- **应用场景**:适用于需要精确同步音频和视频的场景,如影视制作、动画制作等领域,可以确保音频和视频的完美配合。
五、高质量音频合成
- **功能概述**:支持高质量的音频合成,生成的音频自然、清晰。
- **技术特点**:采用先进的音频合成技术,确保生成的音频质量高、效果好。
- **应用场景**:适用于对音频质量有较高要求的场景,如音乐制作、专业配音等领域。
安装和使用
先决条件
我们建议使用 miniforge 环境。
- Python 3.9+
- PyTorch 2.5.1+ 和相应的 torchvision/torchaudio (选择您的 CUDA 版本 https://pytorch.org/,建议使用 pip 安装)
- 如果尚未满足,请安装先决条件:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --upgrade
(或者您的 GPU/驱动程序支持的任何其他 CUDA 版本)
- 克隆我们的存储库:
git clone https://github.com/hkchengrex/MMAudio.git
- 使用 pip 安装(在尝试此操作之前先安装 pytorch!):
cd MMAudio
pip install -e .
(如果遇到文件“setup.py”未找到错误,请使用 pip install --upgrade pip 升级您的 pip)
预训练模型:
当您运行演示脚本时,模型将自动下载。MD5 校验和在 mmaudio/utils/download_utils.py 中提供。这些模型也可以在 https://huggingface.co/hk Chengrex/MMAudio/tree/main 上找到
要运行该模型,您需要四个组件:流量预测网络、视觉特征提取器(Synchformer 和 CLIP,CLIP 将自动下载)、VAE 和声码器。VAE 和声码器特定于采样率(16kHz 或 44.1kHz),而不是模型大小。44.1kHz 声码器将自动下载。
预期的目录结构(完整):
MMAudio
├── ext_weights
│ ├── best_netG.pt
│ ├── synchformer_state_dict.pth
│ ├── v1-16.pth
│ └── v1-44.pth
├── weights
│ ├── mmaudio_small_16k.pth
│ ├── mmaudio_small_44k.pth
│ ├── mmaudio_medium_44k.pth
│ ├── mmaudio_large_44k.pth
│ └── mmaudio_large_44k_v2.pth
└── ...
预期的目录结构(最小,仅适用于推荐模型):
MMAudio
├── ext_weights
│ ├── synchformer_state_dict.pth
│ └── v1-44.pth
├── weights
│ └── mmaudio_large_44k_v2.pth
└── ...
演示
默认情况下,这些脚本使用 large_44k_v2 模型。在我们的实验中,推理仅需要大约 6GB 的 GPU 内存(16 位模式),这应该适合大多数现代 GPU。
命令行界面
与 demo.py
python demo.py --duration=8 --video=<path to video> --prompt "your prompt"
输出( .flac 格式的音频和 .mp4 格式的视频)将保存在 ./output 中。请参阅该文件以获取更多选项。只需省略文本到音频合成的 --video 选项即可。默认输出(和训练)持续时间为 8 秒。更长/更短的持续时间也可以,但与训练持续时间的较大偏差可能会导致质量下降。
音频接口
支持视频转音频和文本转音频合成。如有必要,请使用端口转发。我们的默认端口是 7860 您可以在 gradio_demo.py 中更改。
python gradio_demo.py