音频扩散:生成音乐的秘诀

2024年01月23日 由 daydream 发表 322 0

背景


人工智能生成 "一词在音乐产业中已变得无处不在,但什么才是 "人工智能生成 "实际上却很模糊。由于热衷于炒作这一流行词,无论人工智能是用于模拟效果、自动混音或母带、分离音源还是增强音色,这一说法都会被随意抛出。只要最终的音频在某种程度上经过了人工智能的处理,整个作品就会被冠上这个词。然而,目前发行的绝大多数音乐仍然主要由人工制作(是的,甚至包括鬼才的《Heart On My Sleeve》?)。


尽管 "人工智能生成 "这一术语已成为点击率的老生常谈,但当计算机真正创造出新的声音时,才是恰当的用法,即 "音频生成"(Generative Audio)。


微信截图_20240123101108


音频生成可以包括音效采样、旋律、人声甚至整首歌曲的创作。实现音频生成的两种主要方式是 MIDI 生成和音频波形生成。MIDI(乐器数字接口)生成的计算成本要低得多,而且可以提供高质量的输出,因为生成的 MIDI 数据可以通过现有的虚拟乐器来产生声音。这与制作人在钢琴卷轴上编制 MIDI 并通过 Serum 等 VST 插件播放的概念相同。


微信截图_20240123101140


虽然这很有吸引力,但它只是部分生成,因为人工智能实际上并没有生成音频,就像人类无法凭空合成乐器声音一样。算法所能使用的虚拟乐器也进一步限制了其创造能力。即使有这些限制,采用这种技术的产品,如 AIVA 和 Lemonaide 的 Seeds,也能产生相当引人注目的输出。


音频波形生成是一项复杂得多的任务,因为它是一个不依赖任何外部技术的端到端系统。换句话说,它可以从头开始产生声音。这一过程最符合 "人工智能生成 "音频的真正定义。


音频波形生成可以通过各种方法完成,并产生不同的结果。它可以生成单个样本,如 Audialab 的 ED 2 和 Humanize,或与 Tiny Audio Diffusion 的合作,也可以生成完整的歌曲,如 AudioLM、Moûsai、Riffusion、MusicGen 和 Stable Audio。在这些最先进的模型中,许多都利用了某种形式的扩散来生成声音。你可能至少从 Stable Diffusion 或其他风靡全球的顶级图像生成模型中略微听说过扩散。这种生成方法同样适用于音频。但这究竟意味着什么呢?


什么是扩散?


基础知识


在人工智能的语境中,扩散指的是从信号中添加或去除噪音的过程(如老式电视机中的静电)。正向扩散将噪音添加到信号中(噪声),反向扩散则将噪音去除(去噪)。在概念层面上,扩散模型采用白噪声,并逐步进行去噪处理,直到音频与可识别的东西(如样本或歌曲)相似为止。这一信号去噪过程是许多生成音频模型创造力的秘诀所在。


微信截图_20240123105139


这一过程最初是针对图像开发的。通过观察噪声如何分解成图像(例如,一只小狗坐在网球旁边),可以更清楚地了解这些模型是如何工作的。


微信截图_20240123102056


有了概念上的理解,让我们来看看音频扩散模型架构的关键组成部分。


U-Net 模型架构、压缩和重构


音频扩散模型的核心是 U-Net。U-Net 最初是为医学图像分割而开发的,因其外形酷似 U 而得名,由于其捕捉数据中局部和全局特征的强大能力,U-Net 已被用于生成音频。最初的 U-Net 是一种用于图像的二维卷积神经网络 (CNN),但也可以调整为一维卷积,以处理音频波形数据。下面是原始 U-Net 架构(用于图像)的可视化表示。


微信截图_20240123102110


与变异自动编码器(VAE)类似,U-Net 由一个编码器(U 的左侧)和一个解码器(U 的右侧)组成,并由一个瓶颈(U 的底层)连接。但与 VAE 不同的是,U-Net 承载着连接编码器和解码器的跳接连接(如水平灰色箭头所示),而解码器是产生高分辨率输出的关键部分。编码器负责捕捉输入音频信号的特征或特性,而解码器则负责重建信号。


为了帮助可视化,请想象音频数据从 U 的左上方进入,沿着红色和蓝色箭头沿着编码器到达底部的瓶颈,然后沿着蓝色和绿色箭头沿着解码器回到 U 的右上方。在编码器的每一层,输入的音频信号都会被进一步压缩,直到 U 的底部(瓶颈)达到高度浓缩的声音表示。然后,解码器接收压缩后的信号,并有效地逆转过程以重建信号。数据经过的每一层(蓝色矩形)都有一系列可调节的权重,这些权重可以看作是数百万个小旋钮,通过旋转这些小旋钮可以调整压缩/重建过程。拥有不同压缩级别的层,模型就能从数据中学习一系列特征,从大规模特征(如旋律和节奏)到细粒度细节(如高频音色特征)。


打个比方,你可以把这个完整的系统看作是创建 MP3 音频文件,然后在播放设备上收听 MP3 的过程。就其核心而言,MP3 是音频信号的压缩版本。想象一下,编码器的工作就是创建一种新型的压缩音频格式,就像 MP3 一样,以便在不损失保真度的情况下尽可能地压缩音频信号。然后,解码器的工作就是像 iPhone(或任何播放设备)一样,将 MP3 重构为可通过耳机播放的高保真音频。瓶颈可以看作是这种新创建的 MP3 类型格式本身。U-Net 代表的是压缩和重构过程,而不是音频数据。然后可以对模型进行训练,目标是能够准确压缩和重建各种音频信号。


这一切都很好,但我们还没有生成任何东西。我们只是构建了一种压缩和重建音频信号的方法。不过,这是开始生成新音频所需的基本过程,只需稍作调整即可实现。


噪声和去噪


让我们重温一下之前提到的噪声和去噪概念。从理论上讲,我们有一些神奇的模型,可以教它把一些白噪声 "去噪 "成可识别的音频,也许是一首美妙的协奏曲。这个神奇模型的一个关键要求是,它必须能够高保真地重建输入音频信号。幸运的是,U-Net 架构正是为此而设计的。因此,下一个难题就是修改 U-Net 以执行去噪过程。


与直觉相反,要教会一个模型对音频信号进行去噪处理,首先要教会它如何向信号中添加噪声。一旦学会了这一过程,它自然就知道如何进行反向操作以对信号进行去噪。


回顾上一节,我们详细介绍了 U-Net 如何学习压缩和重建音频信号。去噪过程几乎遵循相同的公式,但 U-Net 并不是要重建准确的输入音频信号,而是要在重建输入音频信号时加入少量噪声。这可以形象地理解为颠倒先前一系列小狗图像中的步骤。


微信截图_20240123102835


向信号中添加噪音的过程必须是概率性的(即可预测的)。先向模型展示一个音频信号,然后指示它预测添加了少量高斯噪声的同一信号。由于高斯噪声的特性,它是最常用的噪声,但并非必须。噪声必须由概率分布来定义,这意味着它遵循一种可持续预测的特定模式。指示模型在音频信号中添加少量可预测噪声的过程会重复若干步骤,直到信号实际上只剩下噪声。


1_ZCdCK_FcI_9ZgicKhBiPbg


例如,让我们以小军鼓的单次采样为例。我们向 U-Net 提供这个小军鼓样本,要求它重建小军鼓声音,但要加入一些噪音,使声音听起来不那么干净。然后,将这个略带噪音的小军鼓样本提供给模型,并再次要求它用更多的噪音重建这个小军鼓样本。如此循环往复,直到小军鼓样本听起来不再存在,只剩下白噪声为止。然后再教模型如何对各种声音进行这样的处理。一旦模型成为预测如何在输入音频信号中添加噪音的专家,由于该过程是概率性的,因此可以简单地将其逆转,这样每一步都会去除一点噪音。当输入白噪声时,该模型就是这样生成小军鼓样本的。


由于这一过程具有概率性质,因此产生了一些不可思议的能力,特别是模拟创造力的能力。


让我们继续以小军鼓为例。想象一下,模型是在成千上万个单次小军鼓样本上训练出来的。你可以想象,它可以接收一些白噪声,然后将其转化为这些小军鼓样本中的任何一个。然而,模型的学习方式并非如此。由于它所能看到的声音范围如此之广,它反而会学习创造出与它所训练过的任何一种军鼓大致相似,但又不完全相同的声音。全新的声音就是这样产生的,这些模型似乎展现出了创造力的火花。


为了说明这一点,让我们使用下面的草图。


微信截图_20240123102856


假设所有可能的声音,从吉他弹奏声、狗叫声到白噪声,都可以绘制在一个二维平面上,如上图中的黑色矩形所示。在这个空间中,有一个区域存在着小军鼓的敲击声。由于它们具有相似的音色和瞬态特征,因此在某种程度上被归为一类。蓝色圆点代表了这一区域,每个蓝点都代表了一个小军鼓样本,我们在此基础上对模型进行了训练。红点代表模型所训练的完全噪声版本的军鼓,与未噪声的蓝点对应。


从本质上讲,我们的模型学会了从 "非圈"区域中提取点,并将它们带入 "圈 "区域。因此,如果我们在 "非圈 "区域(例如随机噪音)中选取一个与任何蓝点都不对应的新绿点,并要求模型将其带入 "圈 "区域,它就会将其带入 "圈 "区域中的一个新位置。这就是模型生成的 "新 "样本,它与区域内训练过的所有其他样本有一些相似之处,但也有一些新的未知特征。


这一概念可应用于任何类型的声音,包括完整的歌曲。这是一项令人难以置信的创新,可以带来无数新的创作方式。不过,重要的是要明白,这些模型不会创造出超出其训练范围的东西。如上图所示,虽然我们的概念模型可以接收任何类型的声音,但它只能生成与训练时类似的小军鼓样本。这一点对任何音频扩散模型都适用。因此,在广泛的数据集上对模型进行训练至关重要,这样已知区域(如小军鼓区域)才有足够的多样性和规模,而不会简单地复制训练数据。


所有这些都意味着,任何模型都无法复制人类的创造力,只能模拟其变化。


扩散模型的应用


这些模型不会像人类那样神奇地生成新的流派或探索未知的声音景观。基于这种认识,我们不应将这些生成模型视为人类创造力的替代品,而应将其视为可以增强创造力的工具。以下是利用这种技术发挥创造力的几种方法:


  • 通过整理发挥创造力: 在制作过程中,通过搜索样本包来找到想要的声音是一种常见的做法。这些模型可以有效地用作 "无限采样包",通过声音的整理提高艺术家的创造力。


  • 声音转移: 就像扩散模型可以将随机噪音转换成可识别的音频一样,它们也可以将其他声音 "转移 "到另一种声音中。例如,如果我们将之前的小军鼓模型输入一个踢鼓样本而不是白噪声,它就会接收踢鼓样本并开始将其变形为小军鼓声音。这样,它就能结合多种不同声音的特性,创造出非常独特的声音。


  • 声音可变性(人性化): 当人类现场演奏一种乐器时,例如在架子鼓上敲击高音鼓,每次敲击都会有固有的变化。各种虚拟乐器都试图通过不同的方法来模拟这种变化,但听起来仍会显得矫揉造作,缺乏特色。音频扩散允许单个声音无限变化,可为音频样本增添人性化元素。例如,如果你为一套鼓编排程序,就可以利用音频扩散技术,使每一次敲击在音色、速度、攻击等方面都略有不同,从而使听起来可能很呆板的演奏变得人性化。


  • 声音设计调整: 与人体变异潜能类似,这一概念也可应用于声音设计,对声音进行细微调整。也许你很喜欢 "砰 "的关门声样本,但你希望它能有更多的体感或嘎吱嘎吱的声音。扩散模型可以将这个样本稍作改变,在保持其大部分特性的同时,加入一些新的特性。与应用均衡器或滤波器相比,它能在更基本的层面上添加、移除或改变声音的频谱内容。


  • 旋律生成: 与浏览样本包类似,音频扩散模型也能生成旋律,从而激发创作灵感。


  • 立体声效果: 有几种不同的混音技巧可以为单声道(单声道)声音增加立体声宽度。然而,它们往往会增加不受欢迎的色彩、延迟或相位偏移。可以利用音频扩散来产生与单声道声音几乎相同的声音,但其内容又有足够的不同,从而扩大立体声宽度,同时避免许多不必要的现象。


  • 超分辨率: 音频扩散模型可以提高音频录音的分辨率和质量,使其更清晰、更细腻。这在音频修复或处理低质量录音时特别有用。


  • 修复: 可以利用扩散模型来填补音频信号中缺失或损坏的部分,将其恢复到原始或改进后的状态。这对于修复损坏的音频录音、补全可能缺失的音频部分或添加音频片段之间的过渡效果非常有价值。


结论


毫无疑问,这些新的生成式人工智能模型是令人难以置信的技术进步,无论人们对它们的看法是积极的还是消极的。扩散模型在速度、多样性和质量方面还有许多可以优化其性能的方面,但我们已经讨论了支配这些模型功能的基本原则。这些知识让我们更深入地了解了这些模型产生 "新声音 "的真正含义。


从更广的层面来看,人们关心的不仅是音乐本身,还有音乐创作中的人文因素。扪心自问,如果你听到的是一段技艺精湛、快如闪电的吉他独奏录音,你会留下深刻印象吗?这要看情况。如果它是由制作人编程的虚拟 MIDI 乐器人为生成的,你很可能会不以为然,甚至可能不喜欢它的声音。但是,如果你知道一位真正的吉他手用一把真正的吉他演奏了这段独奏,甚至亲眼目睹了他或她的演奏,你就会完全被他们的专业和精准所折服。我们会被演奏中的灵巧、歌词背后的思想和情感以及创作歌曲时每一个决定的考虑因素所吸引。


虽然这些令人难以置信的进步让艺术家和制作人产生了一些生存恐惧,但人工智能永远无法从我们创造的声音和音乐中剔除人类元素。因此,我们在对待这些新技术时,应将其视为提高艺术家创造力的工具,而不是取而代之。

文章来源:https://towardsdatascience.com/audio-diffusion-generative-musics-secret-sauce-f625d0aca800
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消