谷歌AI鋼琴厲害了,1分鐘讓初學者變鋼琴大師!

Piano Genie,這是一款智能控制器,可將8鍵輸入實時映射到完整的88鍵鋼琴:

谷歌AI鋼琴厲害了,1分鐘讓初學者變鋼琴大師!

鋼琴精靈在某種程度上讓人聯想到新手音樂家可以使用的搖滾樂隊和吉他英雄等電子遊戲,其重要區別在於用戶可以在鋼琴精靈上自由即興,而不是從固定曲目重演歌曲。


谷歌AI鋼琴厲害了,1分鐘讓初學者變鋼琴大師!

鋼琴精靈背後的團隊受到了吉他英雄的啟發,簡化了演奏樂器的方式。他們不希望用戶只是點擊預先寫好的曲譜,而是要在彈奏中製作旋律片段。為了實現這一目標,他們在一個龐大的古典鋼琴音樂數據集上訓練了一個人工智能程序,教它預測相互跟隨的音符,就像手機的預測文本功能猜測你接下來會寫什麼一樣。

它是如何工作的?

有很多方法可以將8鍵控制器序列映射到完整的鋼琴演奏。 我們將自己侷限於按鍵和音符之間的1對1映射,使用戶可以精確控制複音的時間和程度,但不能播放哪些音符。 即使有這種限制,也有許多可能的映射; 例如,8個按鈕可以在單個八度音階上映射到固定比例。 我們使用在一組現有鋼琴演奏上訓練的離散自動編碼器架構,而不是使用這種固定的映射,我們學習了時變映射:


谷歌AI鋼琴厲害了,1分鐘讓初學者變鋼琴大師!


雙向LSTM編碼器將一系列鋼琴音符映射到一系列控制器按鈕(在上圖中顯示為4,在實際系統中顯示為8)。 然後,單向LSTM解碼器將這些控制器序列解碼回鋼琴演奏。 訓練之後,丟棄編碼器並通過用戶輸入提供控制器序列。

您可能已經在上面的演示視頻中注意到鋼琴演奏中的音高輪廓與按鈕序列的輪廓非常相似。 這種行為受到訓練損失項的鼓勵,該訓練損失項使編碼器因違反相對音調排序而受到懲罰,例如, 如果升序鋼琴間隔映射到降序按鈕間隔。 下圖顯示(頂部)用於真實鋼琴演奏的鋼琴,以及(底部)由輪廓正則化編碼器輸出的8按鈕序列; 你可以看到兩個序列的輪廓緊密匹配:


谷歌AI鋼琴厲害了,1分鐘讓初學者變鋼琴大師!


我們通過國際鋼琴電子競賽的一組約1400個藝術表演訓練模型,該表演與Performance RNN中使用的數據集相同。 這種數據集的選擇自然會影響所生成的表演的風格; 因為我們開源模型,歡迎您在自己的MIDI文件集上訓練鋼琴精靈。

值得一提的是,該項目正是用到了TensorFlow訓練而成。TensorFlow是一個開源軟件庫,用於完成一系列任務的基於數據的編程,由Google Brain團隊開發,最初於2015年11月9日發佈,它能夠非常有效地進行迴歸,分類,神經網絡等,甚至能夠在CPU和GPU上運行。

如果你想更加了解TensorFlow,或者說想實踐一下人工智能項目,谷歌的另一款工具或許可以幫到你,也就是谷歌的AIY Projects項目。 AIY Vision Kit附帶的軟件運行三個基於TensorFlow的神經網絡。 其中一個基於谷歌的MobileNets平臺,能夠識別超過1,000個日常物品。 第二個可以在圖像中發現面部和表情。 最後一個是專門用於識別貓,狗和人的神經網絡。


谷歌AI鋼琴厲害了,1分鐘讓初學者變鋼琴大師!



分享到:


相關文章: