, ,
(同濟大學 電子與信息工程學院,上海 201804)
隨著計算機技術的迅猛發(fā)展,借助計算機技術對情感音樂進行分析和生成逐漸成為可能。情感作為音樂的內(nèi)在特征始終與音樂保持密切的關系。情感音樂生成已經(jīng)被廣泛研究,并在日常生活中有所體現(xiàn)。GhostWriter軟件中使用的HERMAN實時音樂生成器,用于生成具有恐怖感情色彩的音樂,其生成的音樂恐怖指數(shù)可以調(diào)節(jié),用于輔助學生寫作恐怖故事。Chih-fang Huang等人通過將音樂情感和季節(jié)特征相關聯(lián),建立能夠與人的情緒發(fā)生共鳴的音樂生成器,可以用于調(diào)節(jié)老人和孩子的情緒[1]。SentiMozart使用面部表情識別人的情感,并分類為憤怒、厭惡、恐懼、快樂、悲傷、驚奇和中立之一,從而為用戶生成符合其情感的音樂。文獻[2]提出了一種實時音樂生成器,通過調(diào)節(jié)音樂的情感取向和情感強度控制生成不同的音樂,可以應用于嘗試治療目前難以有效治愈的精神類疾病如。情感音樂的生成具有廣泛的應用前景,并逐漸受到重視。
音樂情感模型中最具代表性的是離散形式的Hevner模型和連續(xù)形式的Thayer模型,它們都是通用的音樂情感模型,被廣泛用于多種不同目的。除此之外,因為情感音樂生成的一大目的是為了特定的場景生成音樂,這類音樂生成方法通常會使用自定義的專用音樂情感模型,用來滿足特定的需求。用于生成帶有恐怖色彩音樂的HERMAN中,根據(jù)所需的恐怖等級建立模型,用戶可以在0到99之間調(diào)整輸出音樂的恐怖程度。
離散音樂情感模型的代表是Hevner音樂情感模型。Hevner模型從音樂帶給人的情感體驗出發(fā),通過形容詞對情感進行較為精確的描述。它是由8個情感類別構成的情感環(huán),如圖1所示。
每個扇形部分代表一種情感分類,情感在相鄰的類別之間存在著遞進的轉(zhuǎn)換關系。
因為該模型使用豐富的形容詞貼切的描述了人的情感體驗,因此成為被廣泛使用的音樂情感模型。同時由于其建立在對音樂具體形式的分析之上,使用時需要根據(jù)實際情況調(diào)整形容詞,以獲得最高的心理認同度。
連續(xù)音樂情感模型的代表是Thayer音樂情感模型,它采用能量與壓力兩個維度描述情感,如圖2所示。
圖1 Hevner音樂情感模型
圖2 Thayer音樂情感模型
能量指的是從“充滿活力”到“疲勞”的不同水平的反應,與個體的生理活性及認知活動的許多方面相聯(lián)系。壓力是指從主觀的內(nèi)部緊張到放松連續(xù)體上不同水平的情感反應。在該模型中,音樂被劃分為生機勃勃的、令人滿足的、焦慮的以及沮喪的四種類型。
Thayer模型采用維度坐標的思想,因而具有比較強的連續(xù)性,所體現(xiàn)的情感過渡也就更加自然、平滑,很容易與音樂聲學特征中的能量/幅值等關聯(lián)起來。但是Thayer模型也存在著較大的局限性,人的情感復雜多變,僅僅從能量和壓力這兩個維度進行描述,并不能完全反映出人們豐富的情感。
情感音樂的主要生成方法可以歸納為音樂元素劃分和音樂片段生成兩個部分。音樂元素劃分將整首音樂、音樂片段或其他可以表達音樂情感的基本單元如和弦映射到音樂情感模型之上。在對音樂元素進行劃分之前,通常需要提取音樂元素的特征向量,使用特征向量代替音樂元素本身進行劃分。音樂片段生成則是根據(jù)所需要的情感,提取音樂情感模型上對應的音樂元素作為素材,生成音樂。
從音樂中提取特征的方法是從語音處理中演變過來的。通常將音樂切成一個個連續(xù)的小片段,成為音樂幀,然后提取每個片段上的特征,組合在一起形成特征向量序列。也可以將整個音樂作為一個幀,提取特征向量。但由于音樂是典型的隨時間變化的序列,一個特征向量往往不能很好的表達整個音樂的情感內(nèi)涵。
將音樂視為音頻是通常會從3個方面提取特征:時域特征、頻域特征和倒譜特征。
時域特征是指從每一幀音頻信號中得到的時域參數(shù),比較典型的有:能量、平均幅度、平均過零率。
頻域特征是指通過短時傅里葉變換將音頻幀轉(zhuǎn)換成頻域信號后提取的頻域參數(shù),比較典型的有:頻譜質(zhì)心、頻譜滾降和頻譜通量。頻譜質(zhì)心和音頻的頻率成正比,也與音樂的情感有密切關系。一般擁有積極正面情感的音樂的頻譜質(zhì)心要大于由于負面情感的音樂。
倒譜特性與人耳的聽覺特性有關,用來度量人耳對不同聲音參數(shù)的感知靈敏度,比較典型的是梅爾倒譜系數(shù)和感知線性預測倒譜系數(shù)。梅爾倒譜系數(shù)表明人耳的感知能力與1kHz以下的聲音呈線性關系而與1kHz以上的聲音成對數(shù)關系。感知線性預測倒譜系數(shù)則是從物理心理學出發(fā),考慮了耳蝸的分頻特性,在語音識別中應用廣泛。
在得到了音樂特征向量后,就可以進行音樂情感劃分。這一階段的主要工作分為兩步,訓練音樂情感劃分模型和使用音樂情感劃分模型。傳統(tǒng)的方法主要包括k-近鄰法、支持向量機法、混合高斯模型發(fā)等。
2.2.1 K-近鄰法
k-近鄰法是一種直接利用訓練集的分類方法。它首先計算待分類樣本和訓練集樣本之間的距離,選出最小的k個樣本,然后通過這k個樣本進行多數(shù)表決,確定其最終類別。K-近鄰法是一種非常直觀的分類算法。然而其受到訓練集樣本的分布和k的取值影響較大,結果容易受到干擾。文獻[3]提出了一種將k-近鄰法與模糊機制相結合的分類方法,區(qū)別于在傳統(tǒng)k-近鄰法中一個樣本分配給一個類別后就不再屬于其他類別,模糊k-近鄰法使用隸屬度向量描述樣本與所有類別之間的相似性。因為其考慮到了情感感知的主觀模糊性,所以有比傳統(tǒng)方法更好的效果。
2.2.2 支持向量機(SVM)法
利用支持向量機對音樂情感進行分類,就是在訓練階段找出特征向量高維空間中的最優(yōu)分類超平面,使得不同類別的樣本能夠獲得最大的間隔。支持向量機可以處理線形或非線性分類問題。對于非線性情況通過核函數(shù)將其轉(zhuǎn)化為線性情況。支持向量機使用簡單,可有效避免過擬合,在音樂情感分類中取得較好的效果。文獻[4]中使用了兩個支持向量機,將音樂分類到Thayer情感模型六個子類中,前一個支持向量機用于在喚醒值這一維度分類,后一個用于在情感取向這一維度分類。由于情感描述形容詞的主觀性,價值取向維度取得的精度要低于喚醒值維度。
2.2.3 支持向量回歸(SVM)法
支持向量回歸是與支持向量機十分類似的一個方法,它尋找一個平面,使得所有樣本距離它最近。文獻[5]中同時使用了支持向量機和支持向量回歸方法,并對他們的結果進行了對比,支持向量回歸取得了更好的結果。值得注意的是,該文中同時對比了支持向量回歸在笛卡爾坐標系和極坐標系中的表現(xiàn),結果表面極坐標系的準確度遠高于笛卡爾坐標系。
2.2.4 高斯混合模型(GMM)
高斯混合模型是一種表示樣本總體分布包含k個單高斯概率分布的概率模型。文獻[5]同時在笛卡爾坐標系和極坐標系中使用了高斯混合模型,極坐標系中的準確率略高。
2.2.5 卷積神經(jīng)網(wǎng)絡(CNN)
卷積神經(jīng)網(wǎng)絡適合處理空間數(shù)據(jù),在圖像處理中得到廣泛應用。他一般由j卷積層和池化層組成,卷積層用來提取局部特征,保持連續(xù)性,池化層用來降低維度,提供旋轉(zhuǎn)不變性。通常層數(shù)越多學到的越接近圖像的整體特征。
音樂一般都被作為一個時序序列識別并處理,但是也可以通過遷移學習的方法將主要用于圖像處理的卷積神經(jīng)網(wǎng)絡(CNN)用來識別音樂情感。文獻[6]提出了通過卷積神經(jīng)網(wǎng)絡識別梅爾聲譜圖,實現(xiàn)情感分類。因為梅爾聲譜圖應用廣泛,提取容易,幾乎適用于所有聲音信號,這種方法很有潛力。
專門針對情感音樂的生成方法比較罕見,本節(jié)中介紹的是在音樂生成領域廣泛使用的方法。這些方法經(jīng)過改良也可以用于情感音樂的生成。特別是隨著深度學習技術的發(fā)展,要使用某種音樂生成算法生成情感音樂,往往只需要建立情感音樂數(shù)據(jù)集即可,算法本身需要變動的地方很少。
在計算機作曲的發(fā)展過程早期,出現(xiàn)過一些作曲算法,如馬爾可夫模型法、隨機過程法和音樂規(guī)則法等,這些方法都有較為嚴重的缺陷,隨著技術的發(fā)展人們已經(jīng)很少使用,在情感音樂生成方面使用的更是非常稀少,故不對它們進行詳細介紹。
2.3.1 遺傳算法
遺傳算法是通過模擬自然界中生物的進化機制而形成的優(yōu)化算法。將可調(diào)整的參數(shù)編碼成染色體,通過模擬自然界中染色體的交換與變異過程,設計一系列的遺傳算子進行進化操作。然后通過適應度函數(shù)對種群進行評價,篩選出更加符合特定情感要求的個體,不斷重復以上操作直到得出滿意的結果。遺傳算法是一種全局優(yōu)化算法,大大減小了尋找情感音樂過程中陷入局部最小情況的可能。
使用遺傳算法最重要的是設計適應度函數(shù),因為它直接影響了進化的方向。遺傳算法的問題在于,使用固定的規(guī)則衡量音樂本身就有一定的難度,正確衡量情感音樂中人的主觀感情就更加困難,往往會由于適應度函數(shù)的設計不合理造成算法結果不理想。
2.3.2 循環(huán)神經(jīng)網(wǎng)絡(RNN)法
循環(huán)神經(jīng)網(wǎng)絡是將傳統(tǒng)的神經(jīng)網(wǎng)絡在時間維度上進行擴展而得到的一種全新的網(wǎng)絡結構,傳統(tǒng)神經(jīng)網(wǎng)絡中后層網(wǎng)絡僅接受前面一層網(wǎng)絡的輸入,而在循環(huán)神經(jīng)網(wǎng)絡中,當前層還有接受上一時刻當前層的輸出。循環(huán)神經(jīng)網(wǎng)絡這一特殊的網(wǎng)絡結構使得神經(jīng)網(wǎng)絡能夠?qū)W習到整個序列的特征,故而在處理文本或音樂等具有明顯相關性的序列時具有明顯優(yōu)勢。
在使用循環(huán)神經(jīng)網(wǎng)絡生成音樂時,通常會先進行采樣或音符分割,一般的音樂是以四分音符的持續(xù)時間為一拍,時間最短的音符一般可以選取八分音符或十六分音符。
本文在2.3中總結了常用的情感音樂生成算法,但這些算法都有各自的缺陷。隨著音樂生成算法和人工智能技術的發(fā)展,許多改進方法被提出。
對于傳統(tǒng)遺傳算法不能很好的衡量人主觀情感的問題,可使用交互式遺傳算法來解決。交互式遺傳算法通過將計算機交互技術與遺傳算法相結合,使用人的主觀情感感受全部或部分替代遺傳算法中的適應度函數(shù),彌補了傳統(tǒng)遺傳算法的不足[7]。文獻[8]設計了基于交互式遺傳算法和KTH規(guī)則系統(tǒng)創(chuàng)建的情感音樂生成器,專家系統(tǒng)提供可供調(diào)整的權重值,交互式遺傳算法通過獲取用戶的主觀情感感受不斷對權重值進行調(diào)整,最終生成出帶有快樂和悲傷情感的音樂。
由于循環(huán)神經(jīng)網(wǎng)絡存在梯度爆炸和梯度消失的問題,導致了它無法有效學習到序列長距離較遠的依賴關系。為了解決該問題,長短期記憶網(wǎng)絡被提出。它是在循環(huán)神經(jīng)網(wǎng)絡的基礎上,通過引入輸入門、輸出門和遺忘門,控制長期記憶不被遺忘,有效緩解梯度爆炸和梯度消失的問題,從而學習序列的長期特征。長短期記憶網(wǎng)絡能夠有效的學習音樂的特征,用于音樂生成取得了良好的效果。
與長短期記憶網(wǎng)絡類似的是門控循環(huán)單元(GRU),它們的工作原理十分類似,但門控循環(huán)單元的結構更簡單,只有更新門和重置門用來控制信息的遺忘。因為它使用了更少的連接和參數(shù),所以更容易計算。
WaveNet提出了一種深度神經(jīng)網(wǎng)絡模型,可以用來生成原始的聲音信號。因為沒用使用類似循環(huán)神經(jīng)網(wǎng)絡中的遞歸連接,所以可以獲得更快的速度。WaveNet中,通過使用擴大卷積來增大感受野。擴大卷積通過不斷跳過部分輸入來成倍擴大感受野,這使得模型層數(shù)不用很多就可以獲得非常大的感受野。
WaveNet的獨特之處是其使用的是原始的聲音波形而不是音符序列,這對于情感音樂生成是十分有好處的。一方面,音符序列不具備的聲音原始特征如音色,對于表達情感是有幫助的。另一方面,使用原始聲音波形擴大了應用范圍,因為不是所有音樂都有符號表示,但一般都有原始波形表示。
自編碼器是一種輸入層與輸出層具有相同維度的神經(jīng)網(wǎng)絡。自編碼器的訓練目標是使輸出的數(shù)據(jù)與輸入的數(shù)據(jù)盡量相似。棧式自編碼器是一個具有多個隱層的自編碼器網(wǎng)絡。該網(wǎng)絡從輸入層到輸出層的過程中,每層的神經(jīng)元數(shù)目先是逐漸減少,然后再逐漸增多。該結構在神經(jīng)元減少的過程中不斷壓縮原始特征,然后在神經(jīng)元增多的過程中重構原始特征,最終達到提取重要特征的目的。文獻[9]{苗北辰, 2019 124}使用棧式自編碼器對每一時間步的音符狀態(tài)進行處理,以提取旋律與和弦的高維度特征,有效改良了生成的效果。
綜上所述,本文將目前用于情感音樂生成的方法進行了梳理。從簡單的樸素貝葉斯分類法到復雜的深度學習網(wǎng)絡,可以看到,隨著人工智能技術的不斷發(fā)展,越來越多的研究焦點投入到了其中,人們的關注點也從簡單的、效果一般的方法逐漸轉(zhuǎn)移到復雜的、效果更好的算法上。
從總體上看,情感音樂生成有兩條不同的發(fā)展途徑,一條是以處理音符符號序列為核心思想的生成路線,這條路線上的方法以循環(huán)神經(jīng)網(wǎng)絡為代表。這種處理方式是將音樂視為一種語言,將音符視為字符,通過自然語言處理中使用的算法,來生成情感音樂。另一條是以處理原始聲音信號為核心思想的生成路線,這條路線以WaveNet為代表。這種處理方式是將音樂視為一種波形信息,通過學習波形的特征,來生成情感音樂。由于這種處理方式的計算量較大,故其出現(xiàn)的較晚,應用也受到一定限制。但其能夠?qū)W習音色等符號難以表示的特征,故也具有較大研究價值。
音樂情感分類算法主要應用的還是機器學習的方法,對深度學習技術的應用相對較少。由于其處理的數(shù)據(jù)形式與情感音樂生成算法完全相同,可以將情感音樂生成中使用的深度學習方法遷移到音樂情感分類中,以改良其實際效果,以改良其實際效果。