当前位置: 首页 > article >正文

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 安装)
  1. 如果尚未满足,请安装先决条件:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --upgrade

(或者您的 GPU/驱动程序支持的任何其他 CUDA 版本)

  1. 克隆我们的存储库:
git clone https://github.com/hkchengrex/MMAudio.git
  1. 使用 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

http://www.kler.cn/a/448167.html

相关文章:

  • MacOS 命令行详解使用教程
  • Android Studio IDE环境配置
  • CSDN外链失效3:
  • 飞牛 fnos 使用docker部署 bili-sync:打造自动化 B 站资源下载器,与主流媒体服务器无缝衔接
  • 基于Spring Boot的智慧农业专家远程指导系统
  • 【C++11】可变模板参数
  • 利用Python爬虫获取商品历史价格信息:技术与实践
  • H264编解码标准码流分析:I帧、P帧、B帧语法
  • 【深入解析C#第四版】读书笔记1:C# 特性之【类型系统】
  • 探索JavaScript数组API:提升你的编程效率
  • 探究大模型为何因数据增多而效果更佳及其优势
  • D102【python 接口自动化学习】- pytest进阶之fixture用法
  • 十一、从0开始卷出一个新项目之瑞萨RA6M5串口DTC接收不定长
  • Linux 网络维护相关命令简介
  • 从入门到实战:基于 UniApp 的全场景开发实践
  • SMMU软件指南SMMU编程之命令队列
  • 数字逻辑(五)——用二进制来表示音频和视频
  • 微服务详细教程之nacos和sentinel实战
  • 机器学习(三)-多项式线性回归
  • 深入了解Java在人工智能领域的最新应用
  • 关系型数据库的完整性和一致性
  • C++初阶—类与对象(下篇)
  • 基于Socket实现客户端和服务端的Tcp通信(C#)
  • 18个AI变现案例分享,每一个都可以作为副业赚睡后收入!
  • Vue.js前端框架教程9:Vue插槽slot用法
  • Java基础复习(二):面向对象编程