许可协议: cc-by-nc-4.0
标签:
MusicGen - 立体声 - 旋律 - 大型3.3B版本
我们进一步发布了一组支持立体声的模型。这些模型是在单声道模型基础上经过20万次迭代微调而成。训练数据与基础模型完全相同,功能与限制也保持一致。立体声模型的工作原理是通过EnCodec模型获取两路令牌流,并使用延迟模式进行交错处理。
MusicGen是一款文本到音乐的生成模型,能够根据文本描述或音频提示生成高质量的音乐样本。它是一个基于32kHz EnCodec分词器的单阶段自回归Transformer模型,采用50Hz采样率的4个码本。与MusicLM等现有方法不同,MusicGen不需要自监督的语义表示,并能一次性生成所有4个码本。通过在码本之间引入微小延迟,我们实现了并行预测,使得每秒音频仅需50个自回归步骤。
MusicGen由Jade Copet, Felix Kreuk, Itai Gat, Tal Remez, David Kant, Gabriel Synnaeve, Yossi Adi, Alexandre Défossez在论文《简单可控的音乐生成》中发布。
我们提供了简洁的API和10个预训练模型:
facebook/musicgen-small
: 3亿参数,仅支持文本到音乐 - 🤗中心
facebook/musicgen-medium
: 15亿参数,仅支持文本到音乐 - 🤗中心
facebook/musicgen-melody
: 15亿参数,支持文本到音乐及文本+旋律到音乐 - 🤗中心
facebook/musicgen-large
: 33亿参数,仅支持文本到音乐 - 🤗中心
facebook/musicgen-melody-large
: 33亿参数,支持文本到音乐及文本+旋律到音乐 - 🤗中心
facebook/musicgen-stereo-*
: 所有前述模型的立体声生成微调版本 -
小型,
中型,
大型,
旋律版,
大型旋律版
使用示例
立即体验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")
模型详情
开发机构: Meta AI的FAIR团队
训练时间: 2023年4月至5月
版本: 此为第一版模型
类型: MusicGen包含用于音频分词的EnCodec模型和基于Transformer架构的自回归语言模型。模型提供3亿/15亿/33亿三种参数规模,以及文本到音乐和旋律引导音乐生成两种变体。
论文: 更多信息详见《简单可控的音乐生成》
引用格式:
@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仓库提交
使用范围
主要用途:
- 人工智能音乐生成研究
- 机器学习爱好者探索生成模型能力
目标用户: 音频/机器学习/人工智能领域的研究人员及爱好者
非适用场景:
- 未经风险评估的下游应用
- 生成可能造成敌意或疏离环境的音乐内容
评估指标
客观指标:
- 基于VGGish特征的Frechet音频距离
- 基于PaSST的KL散度
- CLAP音频-文本嵌入相似度
人工评估维度:
- 音乐样本整体质量
- 文本相关性
- 旋律跟随度(旋律引导版本)
训练数据
使用授权数据源训练,包括Meta音乐计划音效库、Shutterstock音乐库和Pond5音乐库。训练前使用HT-Demucs进行音乐源分离以保留器乐部分。
评估结果
模型 |
Frechet音频距离 |
KLD |
文本一致性 |
色度余弦相似度 |
musicgen-small |
4.88 |
1.42 |
0.27 |
- |
musicgen-medium |
5.14 |
1.38 |
0.28 |
- |
musicgen-large |
5.48 |
1.37 |
0.28 |
- |
musicgen-melody |
4.93 |
1.41 |
0.27 |
0.44 |
局限性
- 无法生成真实人声
- 仅支持英语描述
- 对不同音乐风格/文化的表现不均衡
- 可能出现歌曲结尾静音问题
- 需要提示词优化才能获得理想结果
注意事项: 训练数据可能存在文化多样性不足的问题,生成的音乐样本会反映数据偏差。建议后续工作通过扩展多样化训练数据来改善文化代表性。用户需充分了解模型局限性和潜在风险,不建议直接用于生产环境应用。