YuE是港科大提出的一个开源的音乐生成基础模型,专为音乐生成而设计,专门用于将歌词转换成完整的歌曲(lyrics2song)。它可以生成一首完整的歌曲,时长几分钟,包括朗朗上口的声乐曲目和伴奏曲目。YuE 能够模拟多种流派/语言/声乐技巧。
YuE(乐)在中文中意为“音乐”和“幸福”。对于那些觉得以 Yu 开头的单词发音困难的人来说,可以将其发音为“yeah”
论文介绍
从给定的歌词生成整首歌曲音乐音频称为 lyrics2song。虽然基于文本的音乐生成模型已在非人声音乐的短片段上产生了高质量的结果,但生成包含人声和伴奏部分的长达数分钟的完整歌曲仍然是一个具有挑战性的问题,我们只从几个闭源的商业系统中看到了一些令人满意的结果。
lyrics2song 的挑战主要在于:
-
音乐的长上下文性质
-
音乐信号与其他信号(语音、音频效果)相比的复杂性
-
扭曲的语言内容和
-
缺乏并行数据(歌词-音频对)。
本文提出的YuE是一系列用于 lyrics2song 的开放基础语言模型,并入了 llama 系列。该方法可以建模长达5分钟的音乐音频,在整首歌曲中遵循歌词条件,保持连贯的音乐结构,生成朗朗上口的声乐旋律和适当的伴奏。
方法
-
我们应用语义增强的音频标记器来降低训练成本并加速收敛
-
我们提出了一种双标记技术,无需修改仅使用 llama 解码器的架构即可实现音轨同步的声乐乐器建模,从而享受已建立的扩展和服务基础设施 3. 我们引入了歌词思路链,让模型根据歌词条件在单一上下文中逐步生成整首歌曲
-
提出了一种 3 阶段训练方案,以确保更好的可扩展性、音乐性和歌词可控性。
硬件和性能
GPU 内存
YuE 需要大量 GPU 内存来生成长序列。以下是推荐的配置:
-
对于具有 24GB 或更少内存的 GPU:最多运行 2 个会话以避免内存不足 (OOM) 错误。感谢社区,对于那些 GPU 资源有限的用户,我们有YuE-exllamav2和YuEGP。虽然两者都提高了生成速度和连贯性,但它们可能会损害音乐性。(PS 更好的提示和 ICL 帮助!)
-
对于完整的歌曲生成(许多会话,例如 4 个或更多):使用具有至少 80GB 内存的 GPU。即 H800、A100 或具有张量并行的多个 RTX4090。 若要自定义会话数量,界面允许您指定所需的会话数。默认情况下,模型运行2 个会话(1 个主歌 + 1 个副歌)以避免 OOM 问题。
执行时间
在H800 GPU上,生成 30 秒音频需要150 秒。在RTX 4090 GPU上,生成 30 秒音频大约需要360 秒。
安装试用
Windows 用户快速入门
-
一键安装:https://pinokio.computer/。
-
Gradio与Docker结合使用:https://github.com/sdbds/YuE-for-windows
Linux/WSL 用户快速入门
-
Fahd视频教程:https://www.youtube.com/watch?v=RSMNH9GitbA
-
GUI/Gradio:https://github.com/WrongProtocol/YuE-exllamav2-UI
相关链接
-
主页:https://map-yue.github.io/?continueFlag=875c0131a704a7ce2658845b9fdc657b
-
GitHub:https://github.com/multimodal-art-projection/YuE