musiclm-pytorch 是 Google MusicLM 模型在 PyTorch 中的实现。MusicLM 是 Google 提出的使用注意力网络进行音乐生成的 SOTA 模型。根据仓库说明,MusicLM 基本上使用文本条件化的 AudioLM,但出人意料地使用了名为 MuLan 的文本-音频对比学习模型生成的嵌入。MuLan 将在该仓库中构建,而 AudioLM 则从另一个仓库修改而来,以支持此处的音乐生成需求。
主要能力与实现思路:
- 构建 MuLan 文本-音频对比学习模型,用于生成条件嵌入。
- 修改 AudioLM 以接受条件嵌入,并可选地通过单独的投影处理不同维度。
- 将 AudioLM 和 MuLan 组合成 MusicLM 进行生成,并使用 MuLan 进行过滤。
- 为 AST 中的自注意力提供动态位置偏置。
- 实现 MusicLM 生成多个样本,并使用 MuLan 选择最佳匹配。
- 在音频 transformer 中通过掩码支持可变长度音频。
- 为 open clip 添加 MuLan 版本。
- 设置所有适当的频谱图超参数。
使用方式:
- MuLaN 首先需要训练。要获得 AudioLM 中三个 transformer 的条件嵌入,必须使用 MuLaNEmbedQuantizer。
- 要训练(或微调)AudioLM 中的三个 transformer,需遵循 audiolm-pytorch 中的训练说明,但需通过关键字 audio_conditioner 将 MulanEmbedQuantizer 实例传递给训练类,例如 SemanticTransformerTrainer。
- 在对所有三个 transformer(语义、粗粒度、细粒度)进行充分训练后,将微调或从头训练的 AudioLM 和 MuLaN(包装在 MuLaNEmbedQuantizer 中)传递给 MusicLM。
适用场景: 该仓库面向对音乐生成、文本条件音频生成以及相关深度学习模型复现感兴趣的研究人员和开发者。仓库提到,如果有兴趣帮助与 LAION 社区一起进行复现,可以加入。
限制与说明: 仓库未提供具体的安装命令、依赖版本、预训练模型下载链接、生成效果示例、收费或价格信息、平台支持情况以及详细的使用步骤。上述内容均暂未提供。