文章目录
- DDSP可以用来做什么?
- 下一步工作
工作中接触到了DDSP声码器,但非科班出声的我对这块知识非常陌生,甚至带有一些畏惧的心理,但是为了工作为了进步,必须硬下头皮去啃,相信只要耐心地坚持,没什么能难到我。于是从今天开始,就用这个博客专栏来记录我的学习历程,希望也能帮助到你~
DDSP对应的论文是:DDSP: Differentiable Digital Signal Processing
先翻译一篇来自DDSP论文作者的对DDSP的介绍的文章。
今天,我们很高兴地介绍可微数字信号处理(DDSP)库。通过DDSP,您可以将经典DSP元素(如滤波器、振荡器、混响等)的可解释结构与深度学习的表现力结合起来。
神经网络(如 WaveNet or GANSynth)通常是个黑盒子。它们可以适应不同的数据集,但往往会过度拟合数据集的细节,并且难以解释。而可解释模型(如音乐语法)使用已知结构,因此更容易理解,但难以适应不同的数据集。
DSP (Digital Signal Processing, 没有额外的 “differentiable” D) 是现代社会的支柱之一,与电信、交通、音频和许多医疗技术密不可分。你可以在很多书中学习DSP知识,但如果你不熟悉的话,这里有一些关于音频信号、振荡器和滤波器的有趣介绍。
其关键思想是使用简单的可解释DSP元件,通过精确控制其许多参数来创建复杂的真实信号。例如,如果频率和响应调整正确,一组线性滤波器和正弦振荡器(DSP元件)可以产生逼真的小提琴声音。然而,手动动态控制所有这些参数是很困难的,这就是为什么简单控制的合成器听起来往往不自然和有着合成感。
使用DDSP,我们使用神经网络将用户的输入转换为复杂的DSP控制,从而产生更逼真的信号。这种输入可以是任何形式的控制信号,包括从音频本身提取的特征。由于DDSP单元是可微的(相比DSP有了额外的D),我们可以通过标准反向传播训练神经网络以适应数据集。
DDSP可以用来做什么?
在我们的ICLR 2020论文中,我们展示了使用DDSP库中的可微振荡器、滤波器和混响使我们能够以较少的数据和较少的参数训练高质量的音频合成模型,因为它们不需要学习从头开始生成音频。此外,由于DDSP组件是可解释的和模块化的,我们可以扩展到一系列有趣的行为,例如盲去冗余、对不在训练集中的音高进行外推,以及不同音源之间的音色转换。
DDSP元素也可以作为自动编码器的最终输出层。WaveNet和其他神经音频合成模型一次生成一个样本的波形,而DDSP通过已知的声音合成算法传递参数。
我们将谐波加法合成器(在许多不同频率下添加正弦波)与减法噪声合成器(用时变滤波器滤除白噪声)相结合,来自每个合成器的信号被组合并通过混响模块产生最终的音频波形。然后,通过比较六种不同帧大小的生成音频和源音频的频谱图来计算损失。由于所有成分都是可微的,包括频谱图,我们可以使用反向传播和随机梯度下降来训练网络端。
下一步工作
我们对将可解释结构与深度学习相结合的所有潜在应用感到非常兴奋,并且认为当前的论文只是冰山一角。例如,除了本文中的处理器外,该库现在还提供了不同版本的wavetable合成器、时变滤波器(如 neural wah-wah effect)、可变长度延迟调制(如合唱、翻边和颤音效应)以及其他两种混响参数化。我们也期待着看到其他人的想法!颗粒合成器?IIR过滤器?物理模型?你自己最喜欢的?
我们也努力使代码尽可能干净、经过测试、易于理解(请查看colab笔记本教程了解更多信息),我们非常喜欢您的贡献!
翻译自:https://magenta.tensorflow.org/ddsp