音频生成的秘密武器:扩散模型在音乐创作中的应用
2024/11/14 21:03:23
本文主要是介绍音频生成的秘密武器:扩散模型在音乐创作中的应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
DALL·E生成的图片
研究扩散技术及其背后的原理,以及如何被用来帮助艺术家和制作人开发突破性的AI工具。近期关于生成音乐的AI算法的炒作已经引起了广泛关注。有人认为这代表了创意的未来,也有人认为这预示着音乐的终结。虽然我更倾向于前者,作为一名工程师和研究人员,我通常会更倾向于从一个更客观的角度来审视这些进步。考虑到这一点,我想介绍一种核心技术,它推动了生成音频和音乐领域的发展:扩散模型。
我的目标不是推销或减少炒作,而是揭开这些幕后黑盒子的神秘面纱,让音乐人、制作人、业余爱好者和创作者更好地了解这些看似神奇的音乐制作工具。我将解释这些AI算法“创造全新东西”的实际意义,以及这与人类原创性有何区别。我希望更清晰的解释能降低集体的热度,并提供一些如何利用这些强大技术帮助创作者的实用建议。
这篇文章会提到一些技术话题,但你不需要懂太多工程知识就能跟上。我们先从一些背景和定义入手。
这里有一些背景信息“AI生成”这个词在音乐界变得无处不在,但什么才算“AI生成”其实并不明确。为了赶上这股“AI生成”的热潮,无论AI是用来模仿效果、自动混音和母带处理、分离音轨,还是增强音色,只要最终的音频在某种程度上涉及了AI处理,就会把“AI生成”这个标签贴在作品上。然而,目前大多数发布的音乐仍然主要由人类制作(是的,即使是代笔歌曲“心在衣袖” 👻)。
尽管“AI生成”这个词已经变得陈词滥调,只是为了吸引点击量,但当新的声音确实是由计算机生成时,这个词还是合适的,比如“生成的声音”或“生成的音频”。
音频生成可以包括音效采样、旋律、人声以及整首歌的制作。实现这一目标主要有两种方法:MIDI生成和音频波形的生成。MIDI(乐器数字接口)生成计算成本较低,并且可以提供高质量的输出,因为生成的MIDI数据会通过现有的虚拟乐器来生成声音。这就像制作人在piano roll上编排MIDI,然后通过像Serum这样的VST插件播放一样。
MIDI Piano Roll in Pro Tools
虽然这很有说服力,但它只是部分生成的,因为AI实际上并没有产生任何音频,就像人类无法凭空合成乐器声音一样。创造能力也受到算法能够访问的虚拟乐器的限制。即使有这些限制,采用这种技术的产品,如Ai公司(例如A.ai)和Seeds by Lemonaide,仍能生成相当有说服力的结果。
音频波形生成是一个更加复杂的任务,因为它是一个不依赖于任何外部技术的端到端系统。换句话说,它是从头开始生成声音。这个过程最准确地体现了“AI生成的”音频的真实含义。
音频波形生成可以通过多种方式完成,并产生不同的结果。它可以从单一样本一路扩展到整首歌,例如Audialab的ED 2和Humanize,或者我之前与Tiny Audio Diffusion合作的工作,使用AudioLM、Moûsai、Riffusion、MusicGen和Stable Audio等模型进行生成。在这些最先进的模型中,许多模型利用某种形式的“扩散”来生成声音。“扩散”这个概念你或许已经从Stable Diffusion或任何其他顶级的图像生成模型中听说过。这种生成方法也可以应用于音频。但这到底意味着什么呢?
在人工智能领域中,扩散指的是向信号中添加或移除噪音的过程(就像老旧电视中的杂音)。正向扩散会向信号中添加噪音(加噪),简称加噪;反向扩散则会移除噪音(去噪),简称去噪。从概念上讲,扩散模型从白噪声开始,逐步去除噪声,直到音频变得像可以辨认的样本或歌曲。这就是许多生成音频模型创造力的秘密。
音频波形扩散技术(出处:CRASH:基于原始音频评分的可控生成模型,用于高分辨率鼓声的可控合成(Rouard, Hadjeres)。)
这个过程最初是为图像设计的。比如说,观察噪声如何变成图像(例如,一只小狗坐在网球附近)能更清楚地展示这些模型的工作原理。
这是用Stable Diffusion生成的图像
有了基本的概念理解,让我们来看看音频扩散模型架构中的关键组件。虽然这对技术有点深入,但请跟我一起,对这些算法的工作原理有更深的理解,就能更好地解释它们是如何产生这些结果的(如果觉得无聊,你可以随时向ChatGPT要个简版)。
音频扩散模型的核心是一个称为U-Net的模型。最初为医学图像分割开发,并因其结构类似英文字母U而得名,由于U-Net具有强大的捕捉数据局部和全局特征的能力,它被应用于生成音频。最初的U-Net是一个二维的卷积神经网络(CNN),主要用于图像处理,但可以调整为一维卷积来处理音频波形数据。下面是一个原始U-Net架构(用于图像处理)的视觉表示。
U-Net(来源:U-Net: 用于生物医学图像分割的卷积神经网络 (Ronneberger, et. al))
类似于变分自编码器(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被要求重建的是带有少量噪声的输入音频信号。这可以被视作逆转前面展示的图像系列中的步骤。
扩散噪声处理步骤(使用Stable Diffusion模型生成的图像)
将噪声添加到信号的过程必须是概率性的(也就是说,可预测的)。模型会看到一个音频信号,然后被指示预测该信号加上少量高斯噪声后的结果。由于其特性,高斯噪声最常被使用,但这不是必需的。噪声必须由概率分布定义,这意味着它遵循一个特定且一致的模式。向音频信号中不断添加少量可预测的噪声,重复进行若干次,直到信号几乎完全变成噪声。
噪音处理一个响弦样本(来源:CRASH:基于原始音频评分的生成性模型,用于可控高分辨率鼓声合成(Rouard, Hadjeres))
例如,让我们取一个一次性的军鼓样本。将这个军鼓样本提供给U-Net,要求它重建这个军鼓声,但加入一些噪音,使其听起来略显不那么干净。然后将这个略微嘈杂的军鼓样本提供给模型,再次要求它重建这个军鼓声,但这次添加更多的噪音。这样的循环重复进行,直到军鼓样本听起来就像已经不存在了一样,只剩下白噪声。模型被训练来对各种声音执行这一过程,以此类推。一旦模型在预测如何向输入音频信号添加噪音方面变得非常熟练,由于这一过程是概率性的,因此可以将其逆向操作,每一步移除一点噪音。这样,当模型接收到白噪声时,它就能生成一个军鼓样本。
由于这个过程的随机性,一些惊人的能力因此出现,特别是能够模拟创造力。
让我们继续以踩镲为例。想象模型是基于成千上万次踩镲声音训练的。你会认为它可以将一些白噪音变成这些踩镲样本中的任何一个。然而,这并不是模型学习的方式。因为它被展示了这么多不同类型的声音,它反而学会了生成与它所训练的任何踩镲声音大致相似的声音,但并不完全相同。这就是新声音是如何被创造出来的,而且这些模型似乎展现了一点点创意。
下面这幅简图能帮助我们说明这一点。
假设所有可能的声音,从吉他弹奏声到狗叫声到白噪声,都可以在上方图像中的黑色矩形所代表的二维平面上标出。在这二维空间中,存在一个区域包含了打军鼓的声音。因为它们有相似的音色和瞬态特性,这些打军鼓的声音在图上聚集在一起,如蓝色点所示。每个蓝色点代表一个我们训练模型时用到的单个军鼓样本。红色点代表了模型训练样本的噪化版本,并与未噪化样本的蓝色点相对应。
本质上,我们的模型学会了将“非捕获区域”的点带入“捕获区域”。所以如果我们取一个新的绿色点在“非捕获区域”(例如随机噪音),这个绿色点在“非捕获区域”中找不到对应的蓝色点,并要求模型将其带入“捕获区域”,模型会将它带到“捕获区域”内一个新的位置。这就是模型生成一个“新的”捕获样本,这个新的样本与它在训练过程中见过的所有捕获样本有一些相似之处,同时也具有某些新的未知特性。
这个概念可以应用于任何类型的声音,包括整首歌。这是一个惊人的创新,可以带来许多新的创作方法。然而,重要的是要理解这些模型不会创作超出其训练范围的东西。正如之前展示的图示所示,虽然我们的概念模型可以接受任何类型的声音,但它只能生成类似训练数据的军鼓声样本。这一点同样适用于所有这些音频扩散模型。因此,必须在广泛的训练数据集上训练这些模型,以确保这些已知区域(如军鼓区域)足够多样化和庞大,从而避免简单地重复训练数据。
这意味着,没有任何模型能够完全再现人类的创造力,只能模拟其不同形式。
这些模型不会像人类那样神奇地探索未知的声音景观或创造新的流派。因此,这些生成模型不应被视为替代人类创造力的工具,而应被视为增强创造力的工具。以下是利用这项技术进行创作的几种方法:
- 通过策划激发创造力:在制作过程中,通过样包寻找所需的音效是一种常见做法。这些模型可以被视为一种“无限样包”,帮助艺术家通过策划音效来增强其创造力。
- 声音转换:就像扩散模型可以将随机噪声转化为可识别的声音一样,它们也可以输入其他声音并将其“转换”为另一种声音。例如,如果我们用前面的军鼓模型,并将它输入一个底鼓样本而不是白噪声,模型会将底鼓样本逐渐转化为军鼓声音。这使得结合多种不同声音的特性创造出非常独特的声音成为可能。
- 声音变化(人性化):当人类演奏现场乐器,比如鼓组中的踩镲时,每次敲击都有固有的变化性。尽管许多虚拟乐器尝试通过各种方法来模拟这种变化性,但仍可能听起来不自然且缺乏个性。音频扩散允许单一声音的无限变化,从而为音频样本添加人性化的元素。例如,如果你编排一套鼓组,音频扩散可以使每次击打在音色、力度、起音等方面略有不同,使原本听起来单调的表演变得人性化。
- 声音设计调整:类似于人类变异性,这一概念也可以应用到声音设计中,创造出细微的声音变化。也许你大部分喜欢一个门撞击声样本,但希望它有更多的饱满感或刺耳感。扩散模型可以稍微改变这个样本,保留大部分特征的同时添加一些新的特征。这可以在比应用均衡器或滤波器更基本的层面上增加、移除或改变声音的频谱成分。
- 旋律生成:类似于浏览样包,音频扩散模型可以生成旋律,激发创作者的灵感。
- 立体声效果:有很多不同的混音技巧可以为单声道(单声道)声音添加立体声宽度。然而,它们常常会添加不必要的染色、延迟或相位偏移。音频扩散可以用来生成与单声道声音几乎相同但内容略有不同的声音,扩展立体声宽度,同时避免许多不必要的现象。
- 超分辨率:音频扩散模型可以提高音频录音的分辨率和质量,使其更清晰、更详细。这在音频修复或提高低质量录音的质量时特别有用。
- 修补:扩散模型可以用来填补音频信号中的缺失或损坏部分,将其恢复到原状或改进状态。这对于修复损坏的音频录音、完成可能丢失的音频部分,或在音频片段之间添加过渡特别有价值。
这就是结论
毫无疑问的是,这些新的生成型AI模型是令人惊叹的技术进步,不论是从哪个角度看。在提高扩散模型的速度、多样性和质量方面还有很多可以优化的地方,但我们之前讨论了这些模型运作的基本原理和原则。这些知识提供了更深层次的理解,以了解这些模型在创造“新声音”时真正代表什么。
在更广泛的层面上,人们不仅仅关心音乐本身——他们还关心创作音乐中的人的因素。你是否想过,如果你听到一段超凡的快速吉他独奏录音,你会感到印象深刻吗?这取决于情况。如果它是通过制作人用虚拟MIDI乐器编写的,你可能不会觉得特别惊艳,甚至可能不喜欢它的音色。然而,如果你知道是一位真正的吉他手在一个真实的吉他上演奏了这段独奏,甚至亲眼见过这一幕,你会被他们的技巧和精准度深深折服。我们会为表演中的严谨性所吸引,会被歌词背后的思想和感情所吸引,也会被创作每首歌曲时每个决定背后的考量所吸引。
尽管这些惊人的进步让一些艺术家和制作人感到担忧,但人工智能永远无法剥夺我们创造的声音和音乐中的人性元素。我们应该把它们当作增强艺术家创造力的工具,而不是替代品来对待,这样想。
所有图片,除非另有注明,均为作者拍摄。
我是音频机器学习工程师和研究员,同时也是一名音乐人。如果你对更多音频AI应用感兴趣的话,可以参考我之前发表的文章《Tiny Audio Diffusion》(见中译文链接)和《Music Demixing》(见中译文链接)。
可以在我的LinkedIn (LinkedIn) 和GitHub (GitHub) 上找到我,并通过我的个人网站 我的个人网站 了解我最新的工作和研究。
你可以在 Spotify、Apple Music、YouTube 和 SoundCloud 等流媒体平台上找到我的音乐,也可以在我的 Instagram 页面上找到更多相关信息。
这篇关于音频生成的秘密武器:扩散模型在音乐创作中的应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20实战:30 行代码做一个网页端的 AI 聊天助手
- 2024-11-185分钟搞懂大模型的重复惩罚后处理
- 2024-11-18基于Ollama和pgai的个人知识助手项目:用Postgres和向量扩展打造智能数据库
- 2024-11-15我用同一个提示测试了4款AI工具,看看谁设计的界面更棒
- 2024-11-15深度学习面试的时候,如何回答1x1卷积的作用
- 2024-11-15检索增强生成即服务:开发者的得力新帮手
- 2024-11-15技术与传统:人工智能时代的最后一袭纱丽
- 2024-11-15未结构化数据不仅仅是给嵌入用的:利用隐藏结构提升检索性能
- 2024-11-15Emotion项目实战:新手入门教程
- 2024-11-157 个开源库助你构建增强检索生成(RAG)、代理和 AI 搜索