尹俊恒


人工智能與物聯網時代的到來,讓越來越多的行業面臨產業升級。藝術類行業由于其審美多樣性及復雜性,一直未能完全實現人工智能化。但隨著數據積累量日益龐大,機器算法層次越來越復雜,計算機也比以前更能理解人類的審美品位和創作意圖,進而從大量基礎素材中加工出優秀的作品,為音樂創作和商業應用提供巨大助力。
近年來,人工智能越來越多地進軍樂壇,甚至成為音樂宣傳中的時髦元素。Google推出的鋼琴機器人AIDuet基于TensorFlow框架和Magenta項目開源工具等打造,其神經網絡會尋找與輸入音符相匹配的旋律和節奏,并以此為基礎生成原創旋律。小冰樂隊基于一種端到端的旋律和排列生成框架,成功實現流行音樂的自動生成,并曾在央視《機智過人》節目中挑戰現場作曲。Vochleamusic公司創建了一個人工智能音頻引擎,以支持用戶使用他們的聲音創作、控制和操縱音樂。
一、實驗內容
1.數據獲取和預處理
利用爬蟲搜集中文歌曲,建立中文歌曲庫。初步篩除庫中的重復歌曲和歌詞中的不必要信息,如作曲、作詞和英文歌詞等。由于大量的重復歌詞會引導生成的模型趨向于產生重復歌詞,雖然重復使用歌詞段是歌曲的創作特色,但期于模型產生更加多樣的歌詞變化和搭配,所以進一步篩除單首歌曲中的重復歌詞段。
2.建立歌詞模型
基于巨大的互聯網數據集,GPT-2語言模型在文本生成上有良好的表現,由用戶選擇的單詞給出可能性排名前十的下一個單詞及其對應概率,從而保證文本在上下文的邏輯連貫。利用開源的預訓練中文版GPT-2并選擇作者提供的散文預訓練模型,在包含大約2000首中文歌詞的數據集上進行預訓練,得到歌詞生成語言模型。該模型將用戶輸入的簡單字符串作為網絡的輸入來預測下一個字符,不斷重復字符生成過程直到這些字符組成一串新行。
3.建立旋律模型
Google公司開源的Magenta項目內的GANSynth模型,將生成式對抗網絡模型由圖像類數據任務訓練拓展到聲音類序列數據任務訓練,GANSynth模型從單個潛在向量生成整個音頻片段,在區分音高和音色等全局特征上有更好的表現。主要選擇布魯斯、爵士和流行3種音樂類型,將選取好的旋律模板作為輸入,以此生成新的旋律。
4.搭建平臺
使用HTML、CSS和JavaScript來組建平臺前端的部分,平臺主要分為歡迎頁面、旋律生成頁面和歌詞生成頁面。歌詞生成頁面如圖1,用戶可以在文本框內輸入其希望的歌曲開頭,按下提交按鈕,后臺隨即啟動程序,生成相應的歌詞。按下重置按鈕,文本框清空,用戶可以繼續輸入。旋律生成頁面設置了布魯斯、爵士和流行3種可選的音樂流派,如圖2,用戶點擊相應的音樂流派,后臺程序就會自動生成音樂旋律,并在下方播放器內播放。平臺前端及后臺搭建具體流程如圖3所示。
二、總結分析
傳統的神經網絡自然語言處理并不具備單詞間相似度的概念,單詞由簡單的單詞表序號進行表示,雖然簡單且易于觀察,但難以體現不同單詞之間的內在聯系。GPT-2語言模型類似只帶有解碼器的transformer模型,可以連接音樂中先前的信息到當前的任務上,在經過中文歌詞語料訓練后,模型的歌詞續寫有著不錯的表現。GANSynth模型以GAN為基礎,優化對數量級和瞬時頻率的頻率分辨率建模,保證音頻的高保真和局部相干,使生成旋律更趨向平滑和結構一致。
本課題用于模型訓練的數據集因預處理篩選而不夠充足,且基于硬件原因模型訓練花費時間較長,使得模型的歌詞生成效果未能達到最優。由于歌詞生成和旋律生成模型不同且分開訓練,歌詞和旋律在最終結果上沒有實現有效結合。未來需要添加更多有效歌詞和旋律數據以完善模型,探究歌詞與旋律之間的深層特征,在實現AI音樂中歌詞和旋律融合對應上更進一步。