在当今数字化时代,音乐视频的创作一直面临着高昂的成本和复杂的技术门槛。然而,随着人工智能技术的飞速发展,这一局面正在被打破。AutoMV,一个由M-A-P联合北京邮电大学、南京大学等机构共同开发的开源多智能体系统,为音乐视频的自动化生成带来了全新的解决方案。它通过深度音乐理解和多智能体协作,能够直接从歌曲生成连贯、与节奏对齐的音乐视频,极大地降低了创作成本和时间,为音乐视频创作带来了革命性的变化。

项目概述
AutoMV是一个无需训练的多智能体系统,能够直接从完整歌曲生成连贯的音乐视频。它通过音乐信息检索提取歌曲的关键特征,如节拍、结构和歌词时间戳,然后由编剧和导演智能体协作生成剧本和拍摄计划,最终通过生成模块和验证模块完成视频制作并确保质量。这一创新的系统不仅实现了从音频和歌词到完整音乐视频的端到端生成,还具备高效、低成本和高质量的特点。
核心功能
音乐理解与解析
AutoMV能够提取歌曲的节拍、结构(如主歌、副歌)和歌词时间戳,为视频生成提供音乐线索。它利用SongFormer进行结构分析,将歌曲划分为不同的段落,如前奏、主歌、副歌和桥段,从而为视频的叙事结构提供基础。同时,通过htdemucs分离人声和伴奏,为歌词转录和口型同步提供支持。Whisper则用于自动转录歌词,并结合Gemini进一步优化歌词和时间戳,确保歌词的准确性。
剧本创作
系统根据音乐和歌词生成分镜脚本,确保视频内容与歌词语义一致。编剧智能体负责根据音乐和歌词生成分镜脚本,设计故事线和场景。它会根据歌词的情感、主题和节奏,创作出与之匹配的视觉故事,使视频能够准确传达歌曲的情感和意境。
角色与场景规划
AutoMV支持创建角色库、设计角色形象,保持角色在视频中的连贯性和一致性。角色库中详细描述了每个角色的外貌、发型、肤色、服装、性别、年龄等特征。在视频生成过程中,系统会根据剧本的要求从角色库中选择合适的角色,并确保其在不同场景中的形象保持一致。
视频生成
系统能够生成与音乐节奏和歌词对齐的叙事镜头和表演镜头(如唱歌、舞蹈)。导演智能体根据剧本生成具体的拍摄指令,包括镜头类型、角色动作和相机运动。生成模块则调用不同的视频生成模型,如扩散模型和口型同步模型,来生成视频片段。对于需要口型同步的场景,系统会使用Qwen-Wan 2.2模型,结合人声音频生成逼真的口型动画。
质量验证与迭代
AutoMV自动检查生成视频的音画同步、角色一致性、动作合理性,根据需要进行重拍,直到满足质量要求。验证智能体负责检查生成视频的质量,确保其符合剧本的要求和音乐的节奏。如果发现任何问题,如角色形象不一致、动作不自然或音画不同步,验证智能体会要求重新生成相关片段。
技术揭秘
音乐信息检索(MIR)
AutoMV的核心技术之一是音乐信息检索(MIR),它通过专业工具对音乐进行深度剖析,提取关键数据。例如,Qwen2.5-Omni用于音乐描述,能够生成包含歌曲风格、情绪和乐器的高级描述,并推断歌手属性。这些信息为后续的智能生成提供了重要依据。
多智能体协作
AutoMV采用多智能体系统架构,不同智能体分别负责音乐预处理、编剧、导演、视频生成和质量审核等环节。编剧智能体负责将音乐和歌词转化为视觉语言,生成分镜脚本;导演智能体则根据剧本生成具体的拍摄指令;生成模块负责调用不同的视频生成模型生成视频片段;验证智能体则对生成的视频进行质量评估。这种分工明确且紧密协作的模式,确保了从歌曲到完整音乐视频的自动化生成。
迭代优化
AutoMV通过验证智能体的反馈机制,不断优化生成的视频。验证智能体会对生成的视频片段进行多维度评估,包括音画同步、角色一致性、动作合理性等。如果发现任何问题,它会要求重新生成相关片段,直到满足质量要求。这种迭代优化的过程,确保了最终生成的音乐视频在质量上能够达到较高的标准。
应用场景
影视制作
电影、电视剧和网络剧的制作团队可以利用AutoMV快速生成与音乐相关的片段,用于预告片、片头曲或插曲的视觉呈现。这不仅节省了时间和成本,还能够快速地将创意转化为实际的视觉内容。
广告与营销
广告公司可以利用AutoMV生成与广告音乐匹配的视频内容。通过快速制作出吸引人的广告视频,能够提升广告的吸引力和传播效果。
短视频平台
内容创作者可以利用AutoMV生成与音乐匹配的短视频。这些短视频可以用于社交媒体平台,如抖音、快手、B站等,吸引观众并增加粉丝互动。
音乐与视频制作教育
学校和教育机构可以将AutoMV作为教学工具。它可以帮助学生理解音乐与视频之间的关系,学习音乐视频的创作流程和技巧。
多模态学习
通过AutoMV生成的音乐视频,学生能够更好地理解歌词的含义和情感表达。这增强了对音乐和文学作品的多模态学习体验。
快速使用
环境准备
1. 克隆仓库
git clone https://github.com/multimodal-art-projection/AutoMV.git
cd AutoMV
克隆AutoMV的GitHub仓库到本地,并进入项目目录。这是一个典型的开源实战项目的第一步。
2. 安装依赖
pip install -r SongFormer_requirements.txt
conda install -c conda-forge ffmpeg
pip install -r requirements.txt
安装项目所需的所有依赖项,包括ffmpeg、htdemucs、whisper、pydub等工具,以及Gemini、Doubao、Qwen等API的SDK。
3. 设置环境变量
在你的shell配置文件(如.bashrc或.zshrc)中设置以下环境变量,或者在运行项目前手动设置:
export GEMINI_API_KEY=your_gemini_api_key
export DOUBAO_API_KEY=your_doubao_api_key
export ALIYUN_OSS_ACCESS_KEY_ID=your_oss_access_key_id
export ALIYUN_OSS_ACCESS_KEY_SECRET=your_oss_access_key_secret
export ALIYUN_OSS_BUCKET_NAME=your_oss_bucket_name
export HUOSHAN_ACCESS_KEY=your_huoshan_access_key
export HUOSHAN_SECRET_KEY=your_huoshan_secret_key
export GPU_ID=your_gpu_id # 可选
export WHISPER_MODEL=your_whisper_model
export QWEN_OMNI_MODEL=your_qwen_omni_model
这些环境变量用于配置API密钥和其他必要的系统参数。
4. 下载预训练模型
-
Qwen2.5-Omni-7B:
下载链接: https://modelscope.cn/models/qwen/Qwen2.5-Omni-7B
-
Whisper Large-v2:
安装和使用说明: https://github.com/openai/whisper
-
Wan2.2-s2v(可选):
如果需要本地生成口型同步视频,可下载此模型。处理一首歌曲通常需要在A800 GPU上花费4-5小时,但比使用API调用更便宜。
1)模型设置:
cd generate_lip_video
git clone https://huggingface.co/Wan-AI/Wan2.2-S2V-14B
conda create -n gen_lip python=3.10
conda activate gen_lip
pip install requirements.txt
pip install requirements_s2v.txt
2)修改代码:
注释掉generate_pipeline.py文件中的gen_lip_sync_video_jimeng(music_video_name, config=Config)函数调用。
3)测试/执行步骤:
cd picture_generate
python picture.py
python generate_lip_video/gen_lip_sycn_video.py
python generate_pipeline.py
4)在config.py中指定模型路径:
MODEL_PATH_QWEN = "/path/to/Qwen2.5-Omni-7B"
WHISPER_MODEL_PATH = "/path/to/whisper-large-v2"
5)下载SongFormer预训练模型:
cd picture_generate/SongFormer/src/SongFormer
python utils/fetch_pretrained.py
如果在中国大陆,可能需要设置HF_ENDPOINT=https://hf-mirror.com。
生成音乐视频
1. 准备音频文件
将你的.mp3或.wav文件放置在以下路径:
./result/{music_name}/{music_name}.mp3
其中{music_name}是你的音乐项目的标识符,将用于存储所有中间和最终输出文件的目录名称。请仅使用英文字符、数字或下划线。
2. 运行AutoMV
在config.py中,将{music_name}替换为你的音乐项目标识符。
对于中国大陆用户,可能需要设置HF_ENDPOINT=https://hf-mirror.com。
1)生成每个MV片段的第一帧图像:
python -m picture_generate.main
此步骤生成每个片段的视觉提示、关键帧图像,并将结果保存在result/{music_name}/picture/目录下。
2)生成完整的音乐视频:
python generate_pipeline.py
此步骤使用故事板、相机脚本和关键帧生成所有视频片段,并将片段合并为最终的MV,保存为result/{music_name}/mv_{music_name}.mp4。
输出目录结构
完成整个流程后,输出目录结构如下:
result/{music_name}/
├── camera/ # 每个MV片段的相机方向
├── output/ # 每个片段生成的视频片段
├── picture/ # 每个MV片段的第一帧图像
├── piece/ # 从原始歌曲中切割的音频片段
├── {music_name}_vocals.wav # 分离的人声音频(可选)
├── {music_name}.mp3 # 完整的原始音频
├── label.json # 角色库
├── mv_{music_name}.mp4 # 最终生成的音乐视频
├── name.txt # 歌曲的完整名称
└── story.json # 完整的MV故事板
通过以上步骤,你可以快速部署并使用AutoMV生成高质量的音乐视频。更多部署详情和最佳实践,可以参考项目提供的技术文档。
结语
AutoMV作为一款开源的多智能体音乐视频生成系统,凭借其强大的音乐理解能力、多智能体协作机制和高质量的视频生成效果,为音乐视频创作带来了全新的可能性。它不仅降低了创作成本和时间,还提高了创作效率和质量。随着技术的不断发展和优化,AutoMV有望在未来为音乐视频创作带来更多的创新和突破。
项目地址
本文首发于云栈社区,一个专注于开发者成长与开源技术交流的平台。