项目简介
MMAudio 在给定视频和/或文本输入的情况下生成同步音频。我们的关键创新是多模式联合训练,它允许对广泛的视听和音频文本数据集进行训练。此外,同步模块将生成的音频与视频帧对齐。
安装
我们仅在 Ubuntu 上对此进行了测试。
先决条件
我们建议使用 miniforge 环境。
- 
Python 3.9+
 - 
PyTorch 2.5.1+ 和相应的 torchvision/torchaudio (选择您的 CUDA 版本 https://pytorch.org/,建议使用 pip 安装)
 
1. 如果尚未满足,请安装先决条件:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --upgrade
(或者您的 GPU/驱动程序支持的任何其他 CUDA 版本)
2. 克隆我们的存储库:
git clone https://github.com/hkchengrex/MMAudio.git
3. 使用 pip 安装(在尝试此操作之前先安装 pytorch!):
cd MMAudiopip 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
已知的限制
- 
该模型有时会生成不需要的、难以理解的类似人类语音的声音
 - 
该模型有时会生成不需要的背景音乐
 - 
该模型与不熟悉的概念作斗争,例如,它可以生成“枪声”,但不能生成“RPG 射击”。
 
我们相信所有这三个限制都可以通过更多高质量的训练数据来解决。
项目链接
项目地址:https://hkchengrex.com/MMAudio/
Github:https://github.com/hkchengrex/MMAudio
在线体验:https://huggingface.co/spaces/hkchengrex/MMAudio
ComfyUI节点:https://github.com/kijai/ComfyUI-MMAudio https://x.com/Gorden_Sun/status/1866696704487313450/video/1
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)