Google 以 AI 带来音乐科技革命──开源硬件合成器 NSynth Super 用声响融合调制出新音色

NSYNTH-SUPER-624x366

3 月 13 日 Google 内部的 Magenta 研究项目发布 NSynth Super 合成音源机,这个合成器的特色,是以机器学习技术将不同的乐器融合变出崭新乐器音色。NSynth Super 是开放源代码的软硬件,你可以购买材料自己组装一台。

从电吉他的过载(overdrive)、失真(distortion)模拟噪音到合成器的电子声响,一代又一代的电子技术帮助音乐家创造出新颖的音色声响,演奏出不同世代脍炙人口的经典流行音乐,那么机器学习和类神经网络的进步有可能为新音色的创造开辟新的可能性吗?

传统的电子声响合成技术有两大系统:无中生有新声响──手调振荡器(oscillators);从既有乐器音色调变出变化音色──对波型表(wavetables)进行参数调整(注:wavetable 记录的是周期性波型 ,并非 sampler 取样技术)。NSynth Super 不同于传统技术,运用机器学习与类神经网络技术,把挑选出的几种乐器融合成新音色,使音乐家更方便直觉地直接控制音色变化与演奏动态。

你可能会想说这有什么困难的?不就“一个乐器的声音加上另一个乐器的声音”吗?其实不然,在声响科技部分,两个乐器的声音加起来其实还是两个乐器、两种声音,也就是所谓的混音技术,这让我们能清楚在唱片里面听到不同的乐器声音一起演奏。要让一个乐器的声音跟另一种乐器的声音完整“融合”起来,还同时包含各自音波频率特性与乐器演奏特色不是件简单的事。比方说把完全不一样的乐器如吉他、铁琴、长笛、小鼓的声响融合在一起,那会是什么样子?

更精确地认知 NSynth Super 办到的事情应该这么说:“有一种新的小鼓,打下去发出的声响,融合了铁琴短而清脆的声音跟悠长的长笛声响”,而这在触控屏幕上简单移动就可以控制音色像小鼓多一点、还是像长笛多一点的融合方式,可说是过去无法想像的。过去要调整出理想的声音,必须具备声响物理学知识(例如:加强或减弱 1khz 的频率会发生什么效果),用无数旋钮甚至还要用接线,以推算与经验法则经历可能数小时才能调整出理想的新音色,而 NSynth Super 让这件事变简单许多。音乐家只要这样自问:“我想要的新乐器,要具备哪些乐器的音色特性?各自占的比例又是多少?”就能快速直觉调出新音色。

NSynth 算法的奥妙

这样划时代的新技术奠基于 2017 年 4 月 6 日 Magenta 项目发布的 NSynth 算法。NSynth 的意思是 Neutral Synthesizer 的缩写,中文的意思是“类神经网络合成器”,这个项目打造了一个超巨大的资料集──NSynth Dataset,搜集了超过 1,000 个乐器(古典乐器到电子乐器都囊括在内)演奏出超过 30 万个音符的取样,来让机器学习模仿,这做法其实源自影像辨识资料级集的概念。

Magenta 制作 NSynth Dataset 的动机,是要把种种音乐分解成音符跟其他的“声响特质”,声响特质说简单很简单、说复杂很复杂,Magenta 选择简化的方式:

P(audio)=P(audio∣note)P(note)

这个公式的意思是说每个我们听到的“乐音等于乐器音色(timbre)与音符的乘积”,在传统技术里,音乐业界目前使用 midi 控制电子乐器、挑选乐器音色然后演奏出指定音符让人听见声响。这样的做法认为音色跟音符各自独立,处理钢琴或电子合成器音色时很完美;但像是吉他、萨克斯风一类乐器,从一个音符到另一个音符之间的演变会随着音色变化,制作起来就很困难,必须一一人工调整(或手工设下种种的音符演变特例规则),难以自动化。

NSynth 的想法,就是纳入音色、音符有关连性的思维,把乐器演奏看成一种自然语言来处理,让 Google 小姐讲话更自然的 WaveNet AI 就派上用场了。本来用在学习人类语言某音节发音接到下一个音节发音的独特讲话“习惯”,现在就变成学习某乐器从某音符到某音符之间的独特“癖好”,因此 Magenta 在 TensorFlow 给 WaveNet 做了许多训练。当然更有趣的是,AI 已经学会 A 乐器的演奏癖好跟 B 乐器的演奏癖好,如果我们融合一种新的乐器是 40% 的 A 乐器加上 60% 的 B 乐器,WaveNet AI 会怎么表现呢?成果就是 NSynth Super 展示影片我们看到的各种有趣成果。2017 年 NSynth 还只是实验中的算法,今年则有 NSynth Super 可实际操作啰!

如果你对拿 NSynth Super 合成器材演奏有兴趣,可以拜访他们的 Github ,按源代码蓝图索骥自己做一台吧(或请工程师帮你打造);如果你对 NSynth 算法有兴趣,就请拜访 Magenta tensorflow 专页,可以一起参与算法的改良进化喔!