AI生成音乐已属创新,但Riffusion通过一种独特方法将其推向新高度:它不使用音频本身,而是利用音频的图像(频谱图)来生成奇特且引人入胜的音乐。这听起来虽显怪异,但确实行之有效。
🎵 核心原理:基于频谱图的扩散模型
扩散模型是一种用于生成图像的机器学习技术,在过去一年中极大地推动了AI领域的发展。DALL-E 2和Stable Diffusion是两个最著名的模型,它们通过逐步用AI认为提示词应该呈现的样子替换视觉噪声来工作。
该方法在许多场景中已被证明非常强大,并且非常容易进行微调。即向已基本训练好的模型提供大量特定类型的内容,使其专门生产更多该类内容。例如,你可以用水彩画或汽车照片对它进行微调,它将更擅长再现这些内容。
Seth Forsgren和Hayk Martiros为他们的小项目Riffusion所做的,正是对Stable Diffusion在频谱图上进行微调。
“Hayk和我在一个小乐队里一起演奏,我们开始这个项目仅仅是因为我们热爱音乐,并且不确定Stable Diffusion是否能创建出具有足够保真度的频谱图图像以转换为音频,”Forsgren告诉TechCrunch。“在每一步进展中,我们对可能性的印象越来越深,一个想法引出下一个。”
📊 什么是频谱图?
频谱图是音频的可视化表示,显示不同频率随时间的振幅。你可能见过波形,它显示音量随时间的变化,使音频看起来像一系列山丘和山谷;想象一下,如果不仅显示总音量,还显示从低频到高频每个频率的音量。
这是我制作的一首歌曲(如果你好奇的话,是Secret Machines的《Marconi’s Radio》)的一部分:
你可以看到随着歌曲的高潮部分到来,所有频率的音量都变大,如果你知道该看什么,甚至能辨认出单个音符和乐器。这个过程无论如何都不是完美或无损的,但它是对声音的准确、系统化的表示。而且,你可以通过反向执行相同的过程将其转换回声音。
Forsgren和Martiros为许多音乐制作了频谱图,并用相关术语标记了生成的图像,比如“蓝调吉他”、“爵士钢琴”、“非洲节拍”等。将这一集合输入模型后,它对这些声音“看起来像什么”以及如何重新创造或组合它们有了很好的理解。
以下是你在采样时,扩散过程在细化图像时的样子:
事实上,该模型被证明能够生成频谱图,当转换为声音时,与“放克钢琴”、“爵士萨克斯风”等提示词相当匹配。这里有一个例子:
⏳ 局限性与突破:潜在空间的妙用
当然,一个正方形频谱图(512 x 512 像素,这是 Stable Diffusion 的标准分辨率)只代表一个很短的片段;一首三分钟的歌曲将是一个宽得多的矩形。没有人想一次只听五秒钟的音乐,但他们所创建系统的局限性意味着他们不能简单地创建一个高 512 像素、宽 10,000 像素的频谱图。
在尝试了几种方法后,他们利用了像 Stable Diffusion 这样的大型模型的基本结构,这些模型拥有大量的“潜在空间”。这有点像更明确定义的节点之间的无人区。比如,如果你有一个代表猫的模型区域和另一个代表狗的模型区域,它们之间的是什么?是潜在空间,如果你只是告诉 AI 去画,它会画出某种狗猫或猫狗,尽管现实中并不存在这种东西。
顺便说一句,潜在空间的东西比这要奇怪得多:一个令人恐惧的 AI 生成的女人潜伏在潜在空间的深渊中。
不过,Riffusion 项目并没有出现这种令人毛骨悚然的噩梦世界。相反,他们发现如果你有两条提示词,比如“教堂钟声”和“电子节拍”,你可以一点一点地从一条过渡到另一条,它会在节拍上逐渐且出人意料的自然地从一个过渡到另一个。
这是一种奇怪而有趣的声音,虽然显然并不特别复杂或高保真;请记住,他们甚至不确定扩散模型能否做到这一点,因此这个模型如此轻松地将钟声转化为节拍,或将打字机敲击声转化为钢琴和贝斯,是相当惊人的。
🚀 未来展望:更长形式与社区共创
制作更长形式的片段是可能的,但仍然处于理论阶段:
“我们还没有真正尝试创作一首经典的三分钟歌曲,包含重复的副歌和主歌,”Forsgren 说。“我认为可以通过一些巧妙的技巧来实现,例如为歌曲结构构建一个更高级别的模型,然后使用较低级别的模型来生成单个片段。或者,你也可以用更大分辨率的全曲图像对我们的模型进行深度训练。”
接下来会走向何方?其他团队正在尝试以各种方式创建AI生成的音乐,从使用语音合成模型到像Dance Diffusion这样专门训练的音频模型。
AI 音乐生成器可能成为艺术家的福音——但也可能带来问题。
Riffusion 更像是一个“哇,看这个”的演示,而不是任何旨在彻底改变音乐的宏大计划。Forsgren 表示,他和 Martiros 只是很高兴看到人们参与他们的工作,玩得开心并在此基础上进行迭代:
“从这里我们可以走向许多方向,我们很兴奋能一路学习。今天早上看到其他人已经在我们的代码之上构建自己的想法,也很有趣。Stable Diffusion 社区最令人惊叹的事情之一是人们以多快的速度在原作者无法预测的方向上构建东西。”
你可以在Riffusion.com上的现场演示中测试它,但你的片段可能需要等待一段时间才能渲染——这引起了比创作者预期更多的关注。代码全部可通过关于页面获取,所以如果你有相应的硬件条件,也可以自行运行。

