今天是16天,学习了基于MindNLP+MusicGen生成自己的个性化音乐。
MusicGen模型基于Transformer结构,可以分解为三个不同的阶段:
用户输入的文本描述作为输入传递给一个固定的文本编码器模型,以获得一系列隐形状态表示。
训练MusicGen解码器来预测离散的隐形状态音频token。
对这些音频token使用音频压缩模型(如EnCodec)进行解码,以恢复音频波形。
MusicGen直接使用谷歌的t5-base及其权重作为文本编码器模型,并使用EnCodec 32kHz及其权重作为音频压缩模型。MusicGen解码器是一个语言模型架构,针对音乐生成任务从零开始进行训练。
MusicGen 是来自 Meta AI 的基于单个语言模型(LM)的音乐生成模型,能够根据文本描述或音频提示生成高质量的音乐样本。它基于 Transformer 结构,可以分解为三个不同的阶段:
用户输入的文本描述作为输入传递给一个固定的文本编码器模型,以获得一系列隐形状态表示。
训练 MusicGen 解码器来预测离散的隐形状态音频 token。
对这些音频 token 使用音频压缩模型(如 EnCodec)进行解码,以恢复音频波形。与传统方法不同,MusicGen 采用单个 stage 的 Transformer LM 结合高效的 token 交织模式,取消了多层级的多个模型结构,例如分层或上采样,这使得 MusicGen 能够生成单声道和立体声的高质量音乐样本,同时提供更好的生成输出控制。
MusicGen 模型的新颖之处在于音频代码的预测方式。传统上,每个码本都必须由一个单独的模型(即分层)或通过不断优化 Transformer 模型的输出(即上采样)进行预测。与传统方法不同,MusicGen采用单个stage的Transformer LM结合高效的token交织模式,取消了多层级的多个模型结构,例如分层或上采样,这使得MusicGen能够生成单声道和立体声的高质量音乐样本,同时提供更好的生成输出控制。MusicGen不仅能够生成符合文本描述的音乐,还能够通过旋律条件控制生成的音调结构。