模型简介
模型特点
模型能力
使用案例
🚀 MusicGen - Melody - 1.5B
Audiocraft 为 MusicGen 提供了代码和模型,MusicGen 是一个简单且可控的音乐生成模型。该模型能够有效解决音乐生成过程中的复杂控制问题,为音乐创作带来了更便捷的方式,具有较高的应用价值。
🚀 快速开始
你可以亲自尝试使用 MusicGen:
-model = MusicGen.get_pretrained('melody') model.set_generation_params(duration=8) # 生成 8 秒的音乐。
descriptions = ['happy rock', 'energetic EDM', 'sad jazz']
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): # 将以 -14 db LUFS 进行响度归一化,并保存为 {idx}.wav。 audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
## ✨ 主要特性
- Audiocraft 为 MusicGen 提供代码和模型,MusicGen 是一个简单且可控的音乐生成模型。
- MusicGen 是一个单阶段自回归 Transformer 模型,基于 32kHz EnCodec 分词器进行训练,有 4 个码本,采样频率为 50 Hz。
- 与 MusicLM 等现有方法不同,MusicGen 不需要自监督语义表示,并且可以一次性生成所有 4 个码本。
- 通过在码本之间引入小的延迟,可以并行预测码本,因此每秒音频仅需 50 个自回归步骤。
## 📚 详细文档
### 模型信息
- **开发组织**:Meta AI 的 FAIR 团队。
- **模型日期**:MusicGen 于 2023 年 4 月至 5 月期间进行训练。
- **模型版本**:这是模型的第 1 版。
- **模型类型**:MusicGen 由用于音频分词的 EnCodec 模型和基于 Transformer 架构的自回归语言模型组成,用于音乐建模。该模型有不同的大小:300M、1.5B 和 3.3B 参数;有两个变体:一个用于文本到音乐生成任务的模型和一个用于旋律引导音乐生成的模型。
- **更多信息的论文或资源**:更多信息可在论文 [Simple and Controllable Music Generation](https://arxiv.org/abs/2306.05284) 中找到。
- **引用详情**:
@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 许可证发布。
- **问题或建议反馈途径**:关于 MusicGen 的问题和建议可以通过项目的 [Github 仓库](https://github.com/facebookresearch/audiocraft) 发送,或通过创建问题反馈。
### 预期用途
- **主要预期用途**:MusicGen 的主要用途是基于人工智能的音乐生成研究,包括:
- 研究工作,如探索和更好地理解生成模型的局限性,以进一步推动科学发展。
- 由文本或旋律引导的音乐生成,供机器学习爱好者了解生成式人工智能模型的当前能力。
- **主要预期用户**:该模型的主要预期用户是音频、机器学习和人工智能领域的研究人员,以及希望更好地了解这些模型的爱好者。
- **超出范围的用例**:在没有进一步的风险评估和缓解措施的情况下,该模型不应用于下游应用。该模型不应被用于故意创建或传播会给人们造成敌对或疏离环境的音乐作品。这包括生成人们可预见会感到不安、痛苦或冒犯的音乐;或传播历史或当前刻板印象的内容。
### 指标
- **模型性能指标**:我们使用以下客观指标在标准音乐基准上评估模型:
- 基于预训练音频分类器(VGGish)提取的特征计算的 Frechet 音频距离。
- 基于预训练音频分类器(PaSST)提取的标签分布计算的 Kullback - Leibler 散度。
- 基于预训练 CLAP 模型提取的音频嵌入和文本嵌入之间的 CLAP 分数。
此外,我们还进行了有人类参与者的定性研究,从以下几个方面评估模型的性能:
- 音乐样本的整体质量。
- 与提供的文本输入的相关性。
- 旋律引导音乐生成中对旋律的遵循程度。
更多关于性能指标和人类研究的详细信息可在论文中找到。
- **决策阈值**:不适用。
### 评估数据集
该模型在 [MusicCaps 基准](https://www.kaggle.com/datasets/googleai/musiccaps) 和一个领域内保留评估集上进行了评估,评估集与训练集没有艺术家重叠。
### 训练数据集
该模型使用以下来源的许可数据进行训练:[Meta Music Initiative Sound Collection](https://www.fb.com/sound)、[Shutterstock 音乐库](https://www.shutterstock.com/music) 和 [Pond5 音乐库](https://www.pond5.com/)。有关训练集和相应预处理的更多详细信息,请参阅论文。
### 评估结果
以下是发布的模型在 MusicCaps 上获得的客观指标。请注意,对于公开发布的模型,我们让所有数据集通过最先进的音乐源分离方法,即使用开源的 [Hybrid Transformer for Music Source Separation](https://github.com/facebookresearch/demucs) (HT - Demucs),以仅保留乐器部分。这解释了与论文中使用的模型在客观指标上的差异。
| 模型 | 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 小时的数据上进行训练,我们认为在更大的数据集上扩展模型可以进一步提高模型的性能。
- **缓解措施**:使用相应的标签从数据源中去除了人声,然后使用最先进的音乐源分离方法,即使用开源的 [Hybrid Transformer for Music Source Separation](https://github.com/facebookresearch/demucs) (HT - Demucs)。
- **局限性**:
- 该模型无法生成逼真的人声。
- 该模型使用英文描述进行训练,在其他语言中的表现不佳。
- 该模型在所有音乐风格和文化中的表现并不相同。
- 该模型有时会生成歌曲结尾,最终变为静音。
- 有时很难评估哪种类型的文本描述能提供最佳的生成效果。可能需要进行提示工程才能获得满意的结果。
- **偏差**:数据源可能缺乏多样性,所有音乐文化在数据集中的代表性并不相同。该模型在各种音乐流派中的表现可能不同。模型生成的样本会反映训练数据中的偏差。对该模型的进一步研究应包括平衡和公正地呈现各种文化的方法,例如,通过扩展训练数据使其既多样化又具有包容性。
- **风险和危害**:模型的偏差和局限性可能导致生成被认为有偏差、不适当或冒犯性的样本。我们认为提供重现研究和训练新模型的代码将有助于将应用扩展到新的、更具代表性的数据上。
- **使用场景**:用户必须了解模型的偏差、局限性和风险。MusicGen 是一个用于可控音乐生成的人工智能研究模型。因此,在没有进一步调查和缓解风险的情况下,不应将其用于下游应用。
## 📄 许可证
代码遵循 MIT 许可证发布,模型权重遵循 CC - BY - NC 4.0 许可证发布。







