🚀 MusicGen - 立体声 - 旋律 - 15亿参数模型
MusicGen是一个文本到音乐的模型,能够根据文本描述或音频提示生成高质量的音乐样本。本项目进一步发布了一组支持立体声的模型,这些模型是从单声道模型开始进行了200k次更新的微调。训练数据与基础模型相同,其能力和局限性也与基础模型一致。立体声模型通过从EnCodec模型获取2个令牌流,并使用延迟模式交错这些令牌来工作。
🚀 快速开始
你可以通过以下方式体验MusicGen:
- 首先安装
audiocraft
库
pip install git+https://github.com/facebookresearch/audiocraft.git
- 确保安装了
ffmpeg
:
apt get install ffmpeg
- 运行以下Python代码:
import torchaudio
from audiocraft.models import MusicGen
from audiocraft.data.audio import audio_write
model = MusicGen.get_pretrained('melody')
model.set_generation_params(duration=8)
descriptions = ['欢快的摇滚', '充满活力的电子舞曲', '悲伤的爵士']
melody, sr = torchaudio.load('./assets/bach.mp3')
wav = model.generate_with_chroma(descriptions, melody[None].expand(3, -1, -1), sr)
for idx, one_wav in enumerate(wav):
audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
✨ 主要特性
- 高质量音乐生成:能够根据文本描述或音频提示生成高质量的音乐样本。
- 单阶段自回归模型:不同于现有方法,如MusicLM,MusicGen不需要自监督语义表示,并且可以一次性生成所有4个码本。
- 支持立体声:发布了支持立体声的模型,通过从EnCodec模型获取2个令牌流并交错来工作。
- 多模式生成:提供文本到音乐和旋律引导的音乐生成两种模式。
📚 详细文档
模型详情
属性 |
详情 |
开发组织 |
Meta AI的FAIR团队 |
模型日期 |
2023年4月至2023年5月训练 |
模型版本 |
版本1 |
模型类型 |
由用于音频分词的EnCodec模型和基于Transformer架构的自回归语言模型组成,有3亿、15亿和33亿参数三种大小,以及文本到音乐生成和旋律引导音乐生成两种变体 |
更多信息论文 |
Simple and Controllable Music Generation |
引用详情 |
@misc{copet2023simple, title={Simple and Controllable Music Generation}, author={Jade Copet and Felix Kreuk and Itai Gat and Tal Remez and David Kant and Gabriel Synnaeve and Yossi Adi and Alexandre Défossez}, year={2023}, eprint={2306.05284}, archivePrefix={arXiv}, primaryClass={cs.SD}} |
许可证 |
代码采用MIT许可证发布,模型权重采用CC - BY - NC 4.0许可证发布 |
问题反馈途径 |
通过项目的Github仓库或提交issue反馈 |
预期用途
- 主要预期用途:用于基于人工智能的音乐生成研究,包括探索和理解生成模型的局限性以改进科学现状,以及让机器学习爱好者通过文本或旋律引导生成音乐来了解生成式AI模型的当前能力。
- 主要预期用户:音频、机器学习和人工智能领域的研究人员,以及希望更好理解这些模型的爱好者。
- 超出范围的用例:在没有进一步风险评估和缓解措施的情况下,不应将该模型用于下游应用。不应使用该模型故意创建或传播会给人们带来敌对或疏离环境的音乐作品。
评估指标
- 模型性能指标:
- 使用预训练音频分类器(VGGish)提取的特征计算Frechet音频距离。
- 使用预训练音频分类器(PaSST)提取的标签分布计算Kullback - Leibler散度。
- 计算预训练CLAP模型提取的音频嵌入和文本嵌入之间的CLAP分数。
- 此外,还通过人类参与者进行定性研究,从音乐样本的整体质量、与输入文本的相关性、旋律引导音乐生成中对旋律的遵循度等方面评估模型性能。
- 决策阈值:不适用。
评估数据集
模型在MusicCaps基准和一个域内保留评估集上进行评估,评估集与训练集没有艺术家重叠。
训练数据集
模型使用以下来源的许可数据进行训练:Meta音乐倡议声音集、Shutterstock音乐集和Pond5音乐集。
评估结果
模型 |
Frechet音频距离 |
KLD |
文本一致性 |
色度余弦相似度 |
facebook/musicgen-small |
4.88 |
1.42 |
0.27 |
- |
facebook/musicgen-medium |
5.14 |
1.38 |
0.28 |
- |
facebook/musicgen-large |
5.48 |
1.37 |
0.28 |
- |
facebook/musicgen-melody |
4.93 |
1.41 |
0.27 |
0.44 |
更多关于性能指标和人类研究的详细信息可以在论文中找到。
局限性和偏差
- 数据方面:用于训练模型的数据源由音乐专业人士创建,并与版权持有者签订了法律协议。模型在20000小时的数据上进行训练,扩大训练数据规模可能会进一步提高模型性能。
- 缓解措施:使用相应标签从数据源中去除了人声,然后使用最先进的音乐源分离方法,即开源的音乐源分离混合Transformer(HT - Demucs)。
- 局限性:
- 模型无法生成逼真的人声。
- 模型使用英语描述进行训练,在其他语言中的表现不佳。
- 模型在所有音乐风格和文化中的表现不一致。
- 模型有时会生成歌曲结尾并陷入沉默。
- 有时很难确定哪种文本描述能产生最佳的生成效果,可能需要进行提示工程以获得满意的结果。
- 偏差:数据源可能缺乏多样性,并非所有音乐文化都在数据集中得到平等体现。模型生成的样本会反映训练数据中的偏差。未来的工作应包括采用平衡和公正的文化表示方法,例如扩大训练数据的多样性和包容性。
- 风险和危害:模型的偏差和局限性可能导致生成被认为有偏差、不适当或冒犯性的样本。提供代码以重现研究和训练新模型将有助于将应用扩展到更新、更具代表性的数据上。
- 使用案例:用户必须了解模型的偏差、局限性和风险。MusicGen是为可控音乐生成的人工智能研究而开发的模型,在没有进一步调查和风险缓解的情况下,不应将其用于下游应用。
📄 许可证
本项目代码采用MIT许可证发布,模型权重采用CC - BY - NC 4.0许可证发布。