❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- YuE 介绍:YuE 是香港科技大学和 M-A-P 团队联合开发的开源 AI 音乐生成模型,能够将歌词转化为完整的歌曲。
- 主要功能:支持多种音乐风格、多语言、高质量生成、长时间音乐创作、情感和风格匹配。
- 技术原理:通过语义增强音频分词器、双分词技术、歌词链式思维生成和三阶段训练方案,解决长上下文和复杂音乐信号等挑战。
正文(附运行示例)
YuE 是什么
YuE 是香港科技大学和 Multimodal Art Projection (M-A-P) 团队联合开发的开源 AI 音乐生成模型。它能够将歌词转化为完整的歌曲,支持流行、金属、爵士、嘻哈等多种音乐风格,并且支持英语、中文、日语和韩语等多种语言。
YuE 通过语义增强音频分词器、双分词技术、歌词链式思维生成和三阶段训练方案,解决了音乐生成中的长上下文、复杂音乐信号、语言内容失真等挑战,生成的歌曲具有连贯的音乐结构和吸引人的声乐旋律。
模型完全开源,用户可以自由使用和修改代码。提供了灵活的生成选项,用户可以通过简单的命令行参数调整生成歌曲的风格、声乐类型等细节。
YuE 的主要功能
- 歌词转歌曲:能将输入的歌词转化为完整的歌曲,包含主唱和伴奏。
- 多种音乐风格支持:支持流行、金属、爵士、嘻哈等多种音乐风格。
- 高质量生成:通过多种技术优化,确保生成的歌曲连贯且高质量。
- 多语言支持:支持英语、中文、日语和韩语等多种语言。
- 长时间音乐创作:可以生成长达 5 分钟的完整歌曲。
- 开源与可定制:代码和模型完全开源,用户可以自由使用和修改。
- 情感和风格匹配:能根据歌词的情感基调生成匹配的音乐风格。
- 跨模态应用:可以与其他多模态模型结合,用于多媒体艺术创作。
YuE 的技术原理
- 语义增强音频分词器:YuE 使用语义增强音频分词器来降低训练成本并加速收敛,更好地理解歌词的语义信息,与音乐信号相结合,生成更符合歌词内容的音乐。
- 双分词技术:YuE 提出了一种双分词技术,在不修改 LLaMa 解码器-only 架构的情况下实现音轨同步的声乐-乐器建模,确保两者在节奏和旋律上的协调性。
- 歌词链式思维生成:YuE 引入了歌词链式思维生成技术,支持模型在遵循歌词条件的情况下逐步生成整首歌曲,确保生成的歌曲在整体结构上保持连贯性。
- 三阶段训练方案:
- 第一阶段:基础模型训练,学习音乐生成的基本模式。
- 第二阶段:风格和情感对齐,通过大量样本来调整模型,能生成特定风格和情感的音乐。
- 第三阶段:偏好纠正,通过强化学习等技术进一步优化生成结果,确保生成的音乐更符合人类的审美标准。
如何运行 YuE
1. 安装环境和依赖项
确保正确安装 Flash Attention 2 以减少 VRAM 使用。
conda create -n yue python=3.8
conda activate yue
conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c nvidia
pip install -r requirements.txt
pip install flash-attn --no-build-isolation
2. 下载推理代码和分词器
git lfs install
git clone https://github.com/multimodal-art-projection/YuE.git
cd YuE/inference/
git clone https://huggingface.co/m-a-p/xcodec_mini_infer
3. 运行推理
生成音乐的命令如下:
python infer.py \
--stage1_model m-a-p/YuE-s1-7B-anneal-en-cot \
--stage2_model m-a-p/YuE-s2-1B-general \
--genre_txt genre.txt \
--lyrics_txt lyrics.txt \
--run_n_segments 2 \
--stage2_batch_size 4 \
--output_dir ./output \
--cuda_idx 0 \
--max_new_tokens 3000
如果要使用音乐上下文学习(ICL),启用 --use_audio_prompt
,指定音频片段的起始和结束时间:
python infer.py \
--stage1_model m-a-p/YuE-s1-7B-anneal-en-icl \
--stage2_model m-a-p/YuE-s2-1B-general \
--genre_txt genre.txt \
--lyrics_txt lyrics.txt \
--run_n_segments 2 \
--stage2_batch_size 4 \
--output_dir ./output \
--cuda_idx 0 \
--max_new_tokens 3000 \
--audio_prompt_path {
YOUR_AUDIO_FILE} \
--prompt_start_time 0 \
--prompt_end_time 30
资源
- 项目官网:https://map-yue.github.io/
- GitHub 仓库:https://github.com/multimodal-art-projection/YuE
- HuggingFace 仓库:https://huggingface.co/m-a-p/YuE-s1-7B-anneal-en-cot
- arXiv 技术论文:https://arxiv.org/pdf/2410.06734
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦