本發(fā)明涉及音樂生成領(lǐng)域,尤其是涉及一種基于對齊編碼和多任務(wù)預(yù)訓(xùn)練的歌詞到旋律生成方法。
背景技術(shù):
1、歌詞到旋律生成是指根據(jù)給定的歌詞進行自動化旋律生成。其發(fā)展主要經(jīng)歷了三個階段:基于規(guī)則或統(tǒng)計的生成方法、基于傳統(tǒng)機器學(xué)習(xí)的生成方法和基于深度學(xué)習(xí)的生成方法。
2、早期階段的研究主要集中在基于規(guī)則或統(tǒng)計的生成方法,利用大量的專業(yè)音樂知識手動設(shè)計相應(yīng)的作曲規(guī)則,或是統(tǒng)計詞曲之間的對應(yīng)關(guān)系進行生成。例如2013年發(fā)表在icde會議上的論文:t-music:a?melody?composer?based?on?frequent?pattern?mining作者通過頻繁模式挖掘(frequent?pattern?mining)來學(xué)習(xí)歌詞和音符之間的相關(guān)性,并把這一相關(guān)性應(yīng)用于概率模型中進行生成。然而,這些早期方法需要基于專業(yè)音樂知識進行大量手動設(shè)計,并且經(jīng)常存在生成旋律缺乏變化等的問題。
3、隨著機器學(xué)習(xí)的發(fā)展,基于此的歌詞到旋律生成引起了廣泛關(guān)注。這類方法利用傳統(tǒng)的機器學(xué)習(xí)模型,如支持向量機、馬爾可夫鏈、隨機森林等,以自動化方式生成旋律。這些技術(shù)分析了大量歌詞和旋律,學(xué)習(xí)其背后的模式和結(jié)構(gòu),從而可以根據(jù)新的歌詞內(nèi)容創(chuàng)作出對應(yīng)旋律。例如2015年發(fā)表在iccc會議上的smug:scientific?music?generator作者利用馬爾可夫鏈根據(jù)歌詞中的音節(jié)數(shù)量生成相應(yīng)的音符。然而,基于傳統(tǒng)機器學(xué)習(xí)的生成方法在學(xué)習(xí)上下文信息和詞曲相關(guān)性的能力上較弱,無法滿足日益增長和日漸復(fù)雜的作曲需求。
4、目前主流的基于深度學(xué)習(xí)的詞曲生成方法可以分為四種:第一種是端到端的生成。它們利用序列到序列生成模型從歌詞直接生成旋律,如2019年發(fā)表在nlpcc會議上的neural?melody?composition?from?lyrics、2021年發(fā)表在acmmcca期刊上的conditionallstm-gan?for?melody?generation?from?lyrics等。端到端方法缺乏大量具有音節(jié)音符級別對齊的歌詞旋律配對數(shù)據(jù),無法充分學(xué)習(xí)歌詞和旋律之間的相關(guān)性。為了解決這個問題,第二種兩階段/多階段的生成方法應(yīng)運而生。它們先將歌詞轉(zhuǎn)化為能夠代表其特征的中間體,并根據(jù)中間體進行旋律生成。如2022年發(fā)表在emnlp會議上的telemelody:lyric-to-melody?generation?with?atemplate-based?two-stage?method作者將生成過程分為歌詞到模板、模板到旋律兩個階段,其中模版包括調(diào)性、節(jié)奏、和弦和休止四個特征。第三種是在上述方法的基礎(chǔ)上引入專家系統(tǒng)進行生成。如2022年發(fā)表在acmmm會議上的relyme:improving?lyric-to-melody?generation?by?incorporating?lyric-melodyrelationships作者基于音樂理論知識,開發(fā)了一個專家系統(tǒng),融入了歌詞旋律關(guān)系指導(dǎo)旋律生成。
5、根據(jù)上述的方法,對歌詞到旋律生成存在的挑戰(zhàn)進行了歸納和總結(jié),目前主要存在兩大挑戰(zhàn):一是詞曲的對齊建模,即單詞和音符之間的數(shù)量關(guān)系;二是詞曲的和諧性建模,即單詞和音符之間的特征一致性。現(xiàn)有的方法在處理歌詞到旋律的對齊建模和和諧性建模方面不夠完善,有很大的改進之處。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供了一種基于對齊編碼和多任務(wù)預(yù)訓(xùn)練的歌詞到旋律生成方法,能夠根據(jù)歌詞,生成在對齊與和諧性上一致的旋律。
2、一種基于對齊編碼和多任務(wù)預(yù)訓(xùn)練的歌詞到旋律生成方法,包括以下步驟:
3、(1)接收配對的歌詞和旋律序列,使用統(tǒng)一的符號歌曲表征方法分別對歌詞和旋律進行編碼,并根據(jù)歌詞和旋律不同維度上的對齊關(guān)系,引入對齊編碼;
4、(2)提取歌詞和旋律之間高度相關(guān)的特征,將配對特征引入n元語法的綜合分?jǐn)?shù)計算;
5、(3)選取高分的n元語法,構(gòu)建詞曲和諧的n元語法詞典;
6、(4)依據(jù)n元語法詞典和多任務(wù)預(yù)訓(xùn)練框架,輸入對齊編碼后的歌詞和旋律序列,進行不同尺度的掩碼并預(yù)訓(xùn)練;
7、(5)對預(yù)訓(xùn)練后的模型在歌詞到旋律生成任務(wù)上進行微調(diào),并利用微調(diào)后的模型進行歌詞到旋律生成的應(yīng)用。
8、進一步地,步驟(1)中,統(tǒng)一的符號歌曲表征方法包括三種不同類型的標(biāo)記:單詞標(biāo)記、音符標(biāo)記和特殊標(biāo)記;每一種標(biāo)記擁有三種屬性:內(nèi)容相關(guān)屬性、對齊相關(guān)屬性和通用屬性;
9、其中,對于單詞和音符標(biāo)記,將三個屬性集組合成一個復(fù)合屬性,每個單詞和音符分別對應(yīng)一個單詞和音符標(biāo)記,這兩個標(biāo)記共享相同的通用屬性和對齊相關(guān)屬性,但具有獨立的內(nèi)容相關(guān)屬性;
10、對于特殊標(biāo)記,共采用五種特殊的分隔符:<bos>、<eos>、<mask>、<pad>和<sep>。
11、內(nèi)容相關(guān)屬性中,音符標(biāo)記包含五個音樂元素:小節(jié)bar、位置position、音高pitch、持續(xù)時間duration和速度tempo;單詞標(biāo)記包含文本信息text;
12、對齊相關(guān)屬性包括:單詞層級的對齊word?id和句子級別的對齊phrase?id,分別表示單詞和音符在這兩個維度上的對應(yīng)關(guān)系;
13、通用屬性包括:標(biāo)記類型,用于區(qū)分當(dāng)前標(biāo)記是單詞還是音符。
14、步驟(2)的具體過程為:
15、(2-1)提取歌詞和旋律的一系列特征;
16、(2-2)通過統(tǒng)計的方法,獲取歌詞特征和旋律特征之間的相關(guān)性;
17、(2-3)按照每個單詞對應(yīng)的音符組成的n元語法為最小單位n=1,提取n從1到12范圍內(nèi)的所有單詞片段以及對應(yīng)的音符片段,構(gòu)成n元語法詞典;
18、(2-4)計算每一個n元語法的綜合分?jǐn)?shù),其中綜合分?jǐn)?shù)由兩部分構(gòu)成:n元語法中旋律本身的t統(tǒng)計分?jǐn)?shù)和單詞旋律相關(guān)性的分?jǐn)?shù);相關(guān)性分?jǐn)?shù)由n元語法中單詞的t統(tǒng)計分?jǐn)?shù)以及旋律對應(yīng)的所有單詞集中度分?jǐn)?shù)構(gòu)成。
19、步驟(3)中,根據(jù)步驟(2)中的綜合分?jǐn)?shù),對n元語法詞典中的n元語法進行排序,選取得分為前25%的n元語法作為和諧的n元語法,并構(gòu)成最終的n元語法詞典。
20、步驟(4)的具體過程為:
21、(4-1)構(gòu)建一個多任務(wù)的預(yù)訓(xùn)練框架,該框架包含三個不同尺度的自回歸空白填充目標(biāo):單詞級別的掩碼預(yù)測、句子級別的掩碼預(yù)測和全文級別的掩碼預(yù)測;
22、(4-2)利用上述三種不同尺度的自回歸空白填充目標(biāo),依據(jù)n元語法詞典對基于glm的模型進行預(yù)訓(xùn)練。
23、步驟(4-1)中,單詞級別的掩碼預(yù)測具體為:基于步驟(3)中已經(jīng)提取的n元語法詞典,利用最大匹配算法,隨機采樣其中的和諧n元語法,要求采樣的n元語法總長度占音符序列的15%;然后將每個采樣的n元語法進行處理:80%的概率替換成<mask>標(biāo)記,10%的概率替換成隨機的n元語法,10%的概率保持不變;
24、句子級別的掩碼預(yù)測具體為:從音符序列中采樣多個樂句,使得總長度占原始音符序列長度的50%;
25、全文級別的掩碼預(yù)測具體為:從音符序列中采樣一整個跨度,使得其覆蓋原始音符序列長度的50%。
26、步驟(5)中,對預(yù)訓(xùn)練后的模型,在高質(zhì)量的歌詞和旋律對齊的數(shù)據(jù)集上,以自回歸的方式進行微調(diào)。
27、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
28、1、本發(fā)明采用詞曲統(tǒng)一的表征方法,使得模型能夠更直接地學(xué)習(xí)詞曲之間的關(guān)系;
29、2、本發(fā)明在表征中增加了多層級的對齊編碼,有效提升了模型對于詞曲之間對齊關(guān)系的建模。
30、3、本發(fā)明使用多任務(wù)的預(yù)訓(xùn)練框架以及不同尺度的自回歸空白填充目標(biāo),使得生成的旋律與提供的歌詞之間更加和諧。
31、4、本發(fā)明基于glm的大語言模型使得生成的旋律更具有魯棒性。