2018年3月26日星期一

Google 以 AI 帶來音樂科技革命──開源硬體合成器 NSynth Super 用聲響融合調製出新音色


作者  | 發布日期 2018 年 03 月 24 日 12:00 分類 AI 人工智慧 , Google , 數位音樂follow us in feedly
3 月 13 日 Google 內部的 Magenta 研究專案發表 NSynth Super 合成音源機,這個合成器的特色,是以機器學習技術將不同的樂器融合變出嶄新樂器音色。NSynth Super 是開放原始碼的軟硬體,你可以購買材料自己組裝一台。


從電吉他的過載(overdrive)、失真(distortion)類比噪音到合成器的電子聲響,一代又一代的電子技術幫助音樂家創造出新穎的音色聲響,演奏出不同世代膾炙人口的經典流行音樂,那麼機器學習和類神經網路的進步有可能為新音色的創造開闢新的可能性嗎?
傳統的電子聲響合成技術有兩大系統:無中生有新聲響──手調振盪器(oscillators);從既有樂器音色調變出變化音色──對波型表(wavetables)進行參數調整(註:wavetable 記錄的是週期性波型 ,並非 sampler 取樣技術)。NSynth Super 不同於傳統技術,運用機器學習與類神經網路技術,把挑選出的幾種樂器融合成新音色,使音樂家更方便直覺地直接控制音色變化與演奏動態。
你可能會想說這有什麼困難的?不就「一個樂器的聲音加上另一個樂器的聲音」嗎?其實不然,在聲響科技部分,兩個樂器的聲音加起來其實還是兩個樂器、兩種聲音,也就是所謂的混音技術,這讓我們能清楚在唱片裡面聽到不同的樂器聲音一起演奏。要讓一個樂器的聲音跟另一種樂器的聲音完整「融合」起來,還同時包含各自音波頻率特性與樂器演奏特色不是件簡單的事。比方說把完全不一樣的樂器如吉他、鐵琴、長笛、小鼓的聲響融合在一起,那會是什麼樣子?
更精確地認知 NSynth Super 辦到的事情應該這麼說:「有一種新的小鼓,打下去發出的聲響,融合了鐵琴短而清脆的聲音跟悠長的長笛聲響」,而這在觸控螢幕上簡單移動就可以控制音色像小鼓多一點、還是像長笛多一點的融合方式,可說是過去無法想像的。過去要調整出理想的聲音,必須具備聲響物理學知識(例如:加強或減弱 1khz 的頻率會發生什麼效果),用無數旋鈕甚至還要用接線,以推算與經驗法則經歷可能數小時才能調整出理想的新音色,而 NSynth Super 讓這件事變簡單許多。音樂家只要這樣自問:「我想要的新樂器,要具備哪些樂器的音色特性?各自占的比例又是多少?」就能快速直覺調出新音色。
▲ 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 專頁,可以一起參與演算法的改良進化喔!

没有评论:

发表评论