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