谷歌ai音乐大师(谷歌发布神经音频合成器NSynth)
谷歌ai音乐大师(谷歌发布神经音频合成器NSynth)一个全新的 WaveNet 风格自编码器模型(https://github.com/tensorflow/magenta/tree/master/magenta/models/nsynth),可以学习有意义地表示乐器声音空间的代码。音符数据集(https://magenta.tensorflow.org/datasets/nsynth),比其他所有公开可用的语料库大一个数量级。Magenta 的目标之一是运用机器学习发现人类表达的新途径,因此,今天我们骄傲地宣布推出由谷歌大脑和DeepMind团队合力打造的 NSynth(Neural Synthesizer(神经合成器))——一种全新的启迪音乐创作的合成方法。机器之心此前曾对Magenta做过报道,请参见《谷歌Magenta项目是如何教神经网络编写音乐的?》Magenta 的目标之一是运用机器学习发现人类表达的新途径,因此,今天我们骄傲地
选自Magenta
作者:Jesse Engel等
机器之心编译
参与:晏奇、黄小天
Magenta 的目标之一是运用机器学习发现人类表达的新途径,因此,今天我们骄傲地宣布推出由谷歌大脑和DeepMind团队合力打造的 NSynth(Neural Synthesizer(神经合成器))——一种全新的启迪音乐创作的合成方法。机器之心此前曾对Magenta做过报道,请参见《谷歌Magenta项目是如何教神经网络编写音乐的?》
Magenta 的目标之一是运用机器学习发现人类表达的新途径,因此,今天我们骄傲地宣布推出 NSynth(Neural Synthesizer(神经合成器))——一种全新的启迪音乐创作的合成方法。
传统语音合成器借助手工设计的组件比如振荡器(oscillator)和波表(wavetable)生成语音,而 NSynth 则是通过深度神经网络在个人样本的层面上生成语音。由于从数据中直接学习,NSynth 可帮助音乐人凭直觉掌控音色、(音乐中的)力度强弱以及探索借由手动调节合成器而非常难或不可能实现的新声音的能力。所学习乐器的声学质量依赖于实用的模型和可用的训练数据,因此我们很高兴公布这两方面的进展:
-
音符数据集(https://magenta.tensorflow.org/datasets/nsynth),比其他所有公开可用的语料库大一个数量级。
-
一个全新的 WaveNet 风格自编码器模型(https://github.com/tensorflow/magenta/tree/master/magenta/models/nsynth),可以学习有意义地表示乐器声音空间的代码。
关于数据集和算法的完整描述可在 arXiv 论文(https://arxiv.org/abs/1704.01279)上找到。
时态编码器看起来非常像 WaveNet,并拥有相同的扩张块结构(dilation block structure)。然而,它的卷积并没有因果性,因此可看到输入块的整个语境。经过 30 层计算之后,会出现一个最终平均池以为 512 个样本创造 16 维度的时态嵌入。因此,嵌入可被看作是原始数据 32x 的压缩。
通过将嵌入上采样到原始时间分辨率,应用 1x1 卷积并最终将这一结果作为偏差(bias)添加到解码器的 30 个层中,我们可以使用这一嵌入调节普通的 WaveNet 解码器。注意这种调节不是外部的,因为它通过模型进行学习。由于嵌入与自回归系统偏离,我们可以把它看作是非线性振荡器的驱动函数。嵌入的大小轮廓模仿音频本身的轮廓这一事实证明了这一阐释。
本文所有音频样本请点击阅读原文收听。
音频的「彩虹图」与 3 个不同乐器的在线。这些是 CQT 测试图,强度表示大小,颜色表示即时频率。频率在垂直轴上,时间在水平轴上。对于嵌入,不同的颜色表示 125 个时间步(timestep)(每步 32 毫秒)中 16 个不同的维度。由于 8 位 μ律编码的压缩,存在轻微的内置失真。这对很多样本影响较小,但对更低的频率影响显著。
音色与力度强弱的潜在空间
我们很快就将发布一款互动演示设备;与此同时,至于对这项技术的使用方法,这里有一个具有启发性的例子。
下方有两列与两行彩虹图(rainbowgram)匹配的音频剪辑(audio clip)。第一行的彩虹图对应了左边那列音频,它是通过添加信号在乐器间进行均匀插值(evenly interpolating)得到的结果。第二行彩虹图对应了右列的音频,它是使用 NSynth 在嵌入空间进行线性插值的结果。我们尝试从低音乐器开始播放剪辑,然后低音长笛等等。你在左列听到的即是音频输出空间中信号的线形添加。正如预期的一样,它听起来像是在同时演奏两种乐器。然而在右列中,新音符结合了两个原始音乐的语义面向,创造出了一种独特且依然是音乐的声音。
进一步而言,所学习的嵌入仅仅捕捉本地语境,就像光谱图一样,使得它们可以及时推广。尽管只在短的单音符上训练,模型却可成功地再现一整系列的音符以及播放时间超过 3 秒的音符。
尽管 WaveNet 自编码器在原始音色上添加了更多谐波(harmonic),然而它依然遵循基本频率上下两个八度。
两个音符之间从来没有过渡的事实很明显,因为最佳近似之处在于它们之间的平稳滑动。
版本
除了音乐示例和数据集,我们还发布了支持 NSynth 的 WaveNet 自编码器和我们最好的基线光谱自编码器模型的代码。此外,我们还以 TensorFlow 检查站和脚本的形式发布了被训练的权重,可以帮助你节省 WAV 文件中的嵌入。你可以在存储库(https://github.com/tensorflow/magenta/tree/master/magenta/models/nsynth)中找到所有的代码,并下载检查站文件(http://download.magenta.tensorflow.org/models/nsynth/wavenet-ckpt.tar)。
Magenta 目标的一部分是打造艺术创作行为与机器学习之间的闭环。因此请留意即将发行的版本,这些技术将对你的音乐创作大有帮助。