一種基于混合算法的江南小調(diào)計算機輔助作曲的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,具體是一種基于混合算法的江南小調(diào)計算機輔 助作曲的方法。
【背景技術(shù)】
[0002] 隨著計算機技術(shù)在音樂創(chuàng)作上的應(yīng)用,計算機音樂應(yīng)運而生。計算機音樂作為一 門新興的學(xué)科,其主要目的是應(yīng)用計算機來模仿人們對音樂的認(rèn)知,進行輔助創(chuàng)作和設(shè)計。 探索計算機輔助作曲問題一方面可以了解和模擬作曲家在從事音樂創(chuàng)作這一特定過程中 的思維方式;另一方面,基于計算機輔助作曲研究技術(shù)而開發(fā)的作曲系統(tǒng)所創(chuàng)作出的不同 形式的音樂作品可以起到對作曲家的有益補充。
[0003]目前計算機輔助作曲技術(shù)在國外相對成熟,總結(jié)來看主要的算法包括馬爾克夫 (Markov)轉(zhuǎn)換表(或稱馬爾克夫鏈)、算法作曲研究中的知識庫系統(tǒng)、音樂文法、人工神經(jīng) 網(wǎng)絡(luò)技術(shù)和遺傳算法。
[0004]馬爾克夫(Markov)轉(zhuǎn)換表就像一個函數(shù)。其自變量是當(dāng)前的音符,而函數(shù)值則是 下一個要出現(xiàn)音符的可能性。針對某一特定(如某一作曲家或某一時期)風(fēng)格的音樂作品 進行收集和統(tǒng)計,就可以構(gòu)造出相應(yīng)的轉(zhuǎn)換表。該算法目前存在的問題是很難判斷生成音 樂的質(zhì)量,此外隨機生成的片段,與標(biāo)準(zhǔn)的完整音樂之間還是存在差距。
[0005] 基于規(guī)則的知識庫系統(tǒng)的算法作曲是一種很自然的選擇,特別是在已定義完善的 領(lǐng)域內(nèi)建立模型或者是介紹清晰的結(jié)構(gòu)或規(guī)則時尤其如此。其主要優(yōu)點是:它們具有清晰 的推理,并能夠為行為的選擇做出解釋。該算法的缺點是知識引導(dǎo)機制的建立既困難又費 時,對于較為規(guī)范的音樂容易總結(jié)規(guī)則,但是對于即興多變的旋律,很難找到規(guī)范。
[0006] 正如語言有文法一樣,音樂也是有音樂文法的。結(jié)合統(tǒng)計的方法,使用音樂文法可 以匹配(或捕獲)現(xiàn)有作品中的各種音樂事件(如音程、節(jié)奏等)的概率分布,并能基于這 些特征生成出類似風(fēng)格的作品。但是該算法對于即興創(chuàng)作的音樂很難找到范疇文法,進而 很難進行音符的分解與重組,生成新的音樂。
[0007] 在感知和認(rèn)知方面,人工神經(jīng)網(wǎng)絡(luò)能夠從一個樣板集合中學(xué)習(xí),以避免需要對規(guī) 則的形式化。特別是遞歸神經(jīng)網(wǎng)絡(luò)能夠成功獲取一個旋律經(jīng)過句的表層結(jié)構(gòu),并以這樣獲 取的知識為基礎(chǔ),產(chǎn)生出新的旋律。但是所生成的旋律缺乏音樂的全局連貫性,即它無法獲 取較高級的音樂特征。從原理上講,人工神經(jīng)網(wǎng)絡(luò)技術(shù)通常更適合用于分析音樂作品而不 是創(chuàng)作。
[0008] 遺傳算法是模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進化過程的計算模型,是一 種通過模擬自然進化過程搜索最優(yōu)解的方法。遺傳算法使用適應(yīng)函數(shù)來演化候選者(染色 體),從而得到近似最優(yōu)解。但是在使用遺傳算法進行自動作曲的研究時,適應(yīng)度函數(shù)其實 是很難準(zhǔn)確定義的。于是出現(xiàn)了讓人代替適應(yīng)度函數(shù)來直接評估染色體的一種方法,即交 互式的遺傳算法IGA。然而目前交互式遺傳算法的有效性較差,用戶必須聽到所有可能潛在 的解,才能做出具有普遍性的評估。
[0009] 綜上所述,各種作曲算法各有其自身的優(yōu)點和存在的問題。建立一種混合算法的 計算機輔助作曲系統(tǒng)可以揚長避短,以最優(yōu)化的方式進行計算機輔助作曲。此外,由于國內(nèi) 關(guān)于計算機作曲系統(tǒng)的研究起步較晚,目前并沒有成熟的針對于中國民族音樂的算法作曲 技術(shù)。因此將國際上現(xiàn)有的算法作曲技術(shù)進行整合,應(yīng)用到中國民族音樂的分析和創(chuàng)作中, 并建立有自己民族特色的計算機作曲系統(tǒng)是十分必要的。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明的目的在于提供一種適應(yīng)度函數(shù)準(zhǔn)確性高、使用方便的基于混合算法的江 南小調(diào)計算機輔助作曲的方法,以解決上述【背景技術(shù)】中提出的問題。
[0011] 為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0012] -種基于混合算法的江南小調(diào)計算機輔助作曲的方法,具體步驟如下:
[0013] (1)建立江南小調(diào)音樂素材庫:建立94首的江南小調(diào)音樂素材庫,用于特征參數(shù) 提?。?br>[0014] (2)建立江南小調(diào)作曲知識規(guī)則庫:提取聲學(xué)特征和旋律特征,建立知識規(guī)則庫, 用于遺傳算法關(guān)鍵技術(shù)的制定;
[0015] (3)制定遺傳算法的關(guān)鍵規(guī)則:對江南小調(diào)素材厙進行特征參數(shù)計算及旋律特征 的統(tǒng)計分析,根據(jù)提取的特征制定遺傳算法的編碼規(guī)則、遺傳算子和適應(yīng)度函數(shù);
[0016] (4)提取遺傳算法的初始種群:根據(jù)用戶選擇的調(diào)式和速度,從素材庫挑選對應(yīng) 的旋律,并提取旋律的第一小節(jié)作為遺傳算法的初始種群;
[0017] (5)生成江南小調(diào)旋律:通過計算適應(yīng)度函數(shù),開始進行選擇、交叉和變異的遺傳 計算,經(jīng)過多次迭代直到達(dá)到終止的條件,再進行下一小節(jié)的遺傳計算,最終生成12小節(jié) 的江南小調(diào)的旋律。
[0018] 作為本發(fā)明進一步的方案:所述步驟(4)中的調(diào)式分別是G徵調(diào)、A羽調(diào)和C宮調(diào), 速度分別為中慢速和中快速。
[0019] 作為本發(fā)明進一步的方案:所述步驟(2)中建立江南小調(diào)作曲知識規(guī)則庫時,分 別提取江南小調(diào)的聲學(xué)特征參數(shù)和旋律特征參數(shù)建,提取聲學(xué)特征參數(shù)采用時頻計算的 方法,提取與音色、音高和調(diào)性相關(guān)的11個特征參數(shù),計算頻譜時所使用的傅立葉變換長 度為8192個采樣點,頻率分辨率為5. 38Hz,75 %的重疊,得到的頻譜為線性幅度譜,使用 TrueEnvelope的方法來計算信號波形包絡(luò),所有聲學(xué)特征參數(shù)均為幀平均值,幀時窗為 0. 05s,半重疊;旋律特征參數(shù)通過統(tǒng)計分析的方法獲得,旋律特征參數(shù)共7個,包括特殊的 旋律行進、節(jié)奏型和音程,旋律特征參數(shù)的統(tǒng)計概率計算公式如下:
[0020]
[0021] 作為本發(fā)明進一步的方案:所述步驟(3)中的適應(yīng)度函數(shù)分兩步進行,首先對生 成的每個小節(jié)進行評判,然后對整個旋律進行適應(yīng)度函數(shù)的評判,小節(jié)的適應(yīng)度函數(shù)如下 所示:
[0022]
[0023](公式 2),
[0024] 其中i表示第i個小節(jié),j表示第i個小節(jié)中的第j個音符,N表示小節(jié)中音符的 個數(shù),m表示該小節(jié)中音程量多48的旋律音程個數(shù);
[0025] 整個旋律的適應(yīng)度函數(shù)如下所示:
[0026]
[0027] 作為本發(fā)明再進一步的方案:所述步驟(5)中采用遺傳算法生成江南小調(diào)的旋律 時,初始種群為10個,以小節(jié)為迭代單元,設(shè)定適應(yīng)度函數(shù)得分小于4分的小節(jié)下一輪迭代 舍棄,生成12個小節(jié)的江南小調(diào)旋律,采用整個旋律的適應(yīng)度函數(shù)進行評判,將得分最高 的旋律視為生成的旋律。
[0028] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
[0029] 本發(fā)明通過知識規(guī)則庫來定義編碼規(guī)則、遺傳算子及適應(yīng)度函數(shù),利用適應(yīng)度函 數(shù)評判機制,從而實現(xiàn)江南小調(diào)計算機自動作曲功能,將江南小調(diào)的知識規(guī)則庫用于建立 遺傳算法中的適應(yīng)度函數(shù),既可以避免交互式遺傳算法的復(fù)雜性,還大大提高了適應(yīng)度函 數(shù)的準(zhǔn)確性,從而提高了整個計算機輔助作曲系統(tǒng)的準(zhǔn)確性。
【附圖說明】
[0030] 圖1為本發(fā)明的流程示意圖。
[0031] 圖2為本發(fā)明中建立適應(yīng)度函數(shù)的流程示意圖。
[0032]圖3為本發(fā)明中實施例1生成的G徵調(diào)、中慢速的江南小調(diào)旋律譜圖。
【具體實施方式】
[0033] 下面結(jié)合【具體實施方式】對本專利的技術(shù)方案作進一步詳細(xì)地說明。
[0034] 請參閱圖1-2,一種基于混合算法的江南小調(diào)計算機輔助作曲的方法,具體步驟如 下:
[0035] (1)建立江南小調(diào)音樂素材庫:建立94首的江南小調(diào)音樂素材庫,用于特征參數(shù) 提?。?br>[0036] (2)建立江南小調(diào)作曲知識規(guī)則庫:提取聲學(xué)特征和旋律特征,建立知識規(guī)則庫, 用于遺傳算法關(guān)鍵技術(shù)的制定;
[0037] (3)制定遺傳算法的關(guān)鍵規(guī)則:對江南小調(diào)素材庫進行特征參數(shù)計算及旋律特征 的統(tǒng)計分析,根據(jù)提取的特征制定遺傳算法的編碼規(guī)則、遺傳算子和適應(yīng)度函數(shù);
[0038] (4)提取遺傳算法的初始種群:根據(jù)用戶選擇的調(diào)式和速度,從素材庫挑選對應(yīng) 的旋律,并提取旋律的第一小節(jié)作為遺傳算法的初始種群;
[0039] (5)生成江南小調(diào)旋律:通過計算適應(yīng)度函數(shù),開始進行選擇、交叉和變異的遺傳 計算,經(jīng)過多次迭代直到達(dá)到終止的條件,再進行下一小節(jié)的遺傳計算,最終生成12小節(jié) 的江南小調(diào)的旋律。
[0040] 建立江南小調(diào)音樂素材庫時,建立94首江南小調(diào)的素材庫,音頻格式包含MIDI和 Wave格式兩類,MIDI格式用來提取旋律特征,Wave格式用來提取聲學(xué)特征參數(shù),該素材庫 中共包含三類調(diào)式,分別是G徵調(diào)、A羽調(diào)和C宮調(diào),演奏速度從50bpm至160bpm,以90bpm 為限,將低于90bpm的速度定義為中慢速,高于90bpm的速度定義為中快速。
[0041] 所述的建立江南小調(diào)作曲知識規(guī)則庫時,分別提取江南小調(diào)的聲學(xué)特征參數(shù)和旋 律特征參數(shù)建,提取聲學(xué)特征參數(shù)采用時頻計算的方法,提取與音色、音高