• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種變鄰域搜索與人耳掩蔽音樂生成方法

      2020-02-24 09:11:30肖兆雄沙學(xué)軍
      關(guān)鍵詞:樂音搜索算法樂譜

      梅 林,肖兆雄,沙學(xué)軍

      (哈爾濱工業(yè)大學(xué) 電子與信息工程學(xué)院,哈爾濱 150080)

      音樂在日常生活中扮演著獨特角色,人們利用音樂或釋放壓力、表達情感、尋求共鳴,或盡情享受音樂帶來的美的體驗.隨著生活水平的不斷提高,只要稍加練習(xí),普通人也能演唱或彈奏出優(yōu)美的旋律,但相比之下作曲的門檻顯然更高.編寫一首樂曲往往分為旋律、風(fēng)格、速度、調(diào)性與結(jié)構(gòu)、和聲與樂器等部分[1],而且樂曲的各個部分不是完全正交,而是相互關(guān)聯(lián)的,例如一首歌的旋律往往決定了它的風(fēng)格,而風(fēng)格又在一定程度上影響了速度;樂句往往是小節(jié)的重復(fù)或變體等.因此在過去作曲屬于少數(shù)有天賦的人的工作,同時編寫一首好的樂曲也得益于作曲家的豐富經(jīng)驗.

      隨著計算機技術(shù)的發(fā)展,研究人員試圖從兩個角度利用計算機幫助作曲:一方面,協(xié)助有經(jīng)驗的作曲家,完成一部分繁瑣的可重復(fù)性工作,使其專注于創(chuàng)造性的藝術(shù);另一方面,使普通人也能夠從輕松譜寫簡單的樂曲開始,一步步培養(yǎng)人們作曲的能力與對音樂的興趣,使人們更加了解譜曲背后的原理,從而為作曲領(lǐng)域提供更多可能.本文著重研究的是無需或僅需少量專業(yè)知識的基于計算智能的音樂生成方法.伴隨著音樂市場的迅猛發(fā)展,作曲的專業(yè)方法與水平也在迅速攀升,基于變鄰域搜索與掩蔽效應(yīng)的音樂生成方法能深度挖掘樂譜的潛能,通過人機交互充分調(diào)動音樂愛好者,尤其是青少年對音樂創(chuàng)作的積極性.

      1 音樂生成領(lǐng)域研究概況

      1.1 研究概況

      從1959年Hiller與Isaacson首次在電子計算機上編寫音樂生成算法[2]開始,人們一直嘗試利用計算機代替或協(xié)助操作者完成作曲工作.音樂生成算法大致包含兩大類別:傳統(tǒng)算法與機器學(xué)習(xí)算法.傳統(tǒng)算法往往通過對音樂數(shù)據(jù)的特征提取建立數(shù)學(xué)模型將音樂參數(shù)化[3],或使用音樂編曲規(guī)則建立網(wǎng)絡(luò)結(jié)構(gòu)并填充先驗知識庫進行建模[4];機器學(xué)習(xí)算法往往使用MIDI格式文件,通過構(gòu)建神經(jīng)網(wǎng)絡(luò),如遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)、長短時記憶(long Short Term Memory, LSTM)網(wǎng)絡(luò)等對音樂進行訓(xùn)練[5-10],隨后通過隨機初始化參數(shù)的方法生成音樂.

      盡管基于機器學(xué)習(xí)方法的音樂生成算法種類豐富,并且充分利用的模型或網(wǎng)絡(luò)的計算性能,但仍存在以下問題:

      1)訓(xùn)練樣本基本采用MIDI格式的音樂文件,該格式的音樂文件數(shù)據(jù)量小,易操作,但其音樂形式往往較為陳舊,無法體現(xiàn)音樂的流行性;

      2)現(xiàn)有的基于機器學(xué)習(xí)的音樂生成系統(tǒng)網(wǎng)絡(luò)往往移植于在自然語言處理或圖像處理取得成效的網(wǎng)絡(luò),幾乎不存在為音樂信號專門設(shè)計的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).因此無論是系統(tǒng)的輸入輸出還是參數(shù)調(diào)節(jié)都存在著一定的局限性;

      3)絕大多數(shù)的音樂生成模型在生成階段采用的是白噪聲信號作為輸入,不符合一般的作曲規(guī)律;

      4)生成出的音樂樣本往往在長時間范圍內(nèi)不具備和諧性,且一般只有一種樂器,音樂形式較為單調(diào).

      1.2 本文所采用的方法流程

      本文設(shè)計以下結(jié)構(gòu)用作音樂生成,如圖1所示.輸入階段為時域音樂波形,經(jīng)過基于音高顯著度的旋律提取與基于人耳掩蔽效應(yīng)的時域音符分塊后映射到音符域以便人為調(diào)整,隨后輸入訓(xùn)練模型中獲得動態(tài)范圍、二次折疊基音等訓(xùn)練數(shù)據(jù).在生成階段使用基于變鄰域搜索的音樂生成算法迭代生成樂譜,最后從樂器庫中選擇樂器完成音樂片段的制作.整個過程從輸入到輸出都可以生成樂譜與時域波形文件以便人工增刪與標注,人機交互的思想貫穿其中,有助于充分調(diào)動操作者的積極性.下面分為訓(xùn)練階段、生成階段與樂音模擬三個部分對整個系統(tǒng)做介紹.

      圖1 本文音樂生成系統(tǒng)結(jié)構(gòu)

      2 訓(xùn)練階段

      2.1 訓(xùn)練輸入與預(yù)處理

      輸入音樂訓(xùn)練階段的輸入x(t),它以4個小節(jié)為單位,可以是一段樂器的獨奏,也可以是一段人聲哼唱.在后續(xù)的處理中將對x(t)重新定位,音符起始位置位于t=0處.

      為調(diào)動操作者的積極性與創(chuàng)造力,本文所述方法有意對頻譜進行模糊處理.降低部分基頻提取算法的復(fù)雜度,并采用余弦加權(quán)算法,幀內(nèi)加權(quán)算法為

      (1)

      圖2 基于音高顯著度的旋律檢測示意

      由圖可知該算法基本可準確檢測旋律線,但會偶爾出現(xiàn)旋律過低的情況,可用簡單的算法解決.但使用本文的預(yù)先加權(quán)算法將會有意使其中兩個音符的高度降低,通過譜表可視化與試聽即可手動在譜表中調(diào)整音高,達到培養(yǎng)操作者的樂感的目的.

      2.2 訓(xùn)練參數(shù)

      基于現(xiàn)有的樂理知識,本文將訓(xùn)練參數(shù)設(shè)置為式(2)所示,式中第1項為記數(shù)符,用于標示已訓(xùn)練樣本的數(shù)量,前3列為專業(yè)樂譜參數(shù),后4列為將樂譜進行兩次折疊后獲得的基本樂譜參數(shù),用于描述樂譜在較長時間內(nèi)的連貫性與變化.將頻譜折疊后處理屬于本文的試驗性操作,初步選取4個基本樂譜參數(shù)進行分析,不至于使系統(tǒng)過于復(fù)雜.具體參數(shù)名如表1所示.

      (2)

      表1 訓(xùn)練用樂譜參數(shù)

      以數(shù)個表中基本參數(shù)為例,基音為樂譜的第一個音,動態(tài)為音符的整體變化程度,豐富度為音符出現(xiàn)的數(shù)量,速度為音符間平均間隔.

      以其中一個二次折疊參數(shù)為例,二次折疊動態(tài)1如式(3)所示:

      Ndyna4N,1=∑(|diff(E4(1,i))|).

      (3)

      式中E4(1,i)為將樂譜E(i)二次折疊后的樂譜第一行,求導(dǎo)操作將跳過E(i)=0的非音符點.在獲取上述參數(shù)后,可繼續(xù)添加訓(xùn)練樣本.理論上添加風(fēng)格不同的音樂會使訓(xùn)練用樂譜參數(shù)趨于二者平均值,因此可對訓(xùn)練結(jié)果進行加權(quán),使整體的訓(xùn)練結(jié)果偏向一特定風(fēng)格.此外上述參數(shù)也可作為評價標準對后續(xù)生成的音樂片段進行打分.

      3 生成階段

      3.1 變鄰域搜索算法

      變鄰域搜索算法屬于具有通用算法構(gòu)架的元啟發(fā)式算法,這類算法一般用于求解NP-難問題.變鄰域搜索算法在尋找局部最優(yōu)解的迭代過程中不斷改變鄰域,算法的核心在于鄰域結(jié)構(gòu)的定義.變鄰域搜索算法在音樂生成領(lǐng)域的相關(guān)研究極少,但由于變鄰域搜索算法的步驟與作曲工作中旋律的確定十分相似,且迭代終止條件可以與人工判別相結(jié)合,因此本文選擇變鄰域搜索算法作為音樂生成迭代算法.

      在介紹變鄰域搜索算法前,首先對優(yōu)化問題及其相關(guān)定理進行說明.優(yōu)化問題如下式定義:

      min{fi(x)}
      s.t.hj(x)≤bj

      (4)

      式中:x∈F,F?S;i=1,2,…,m;j=1,2,…,n;S為解空間;F為解集;x為可行解;fi為目標函數(shù);hj為約束條件函數(shù).在音樂生成問題中,x為音符位置,S為有限空間,則音樂生成問題為組合優(yōu)化問題.

      將變鄰域搜索算法移植到音樂生成系統(tǒng)中,需要改進的有以下部分:1)鄰域結(jié)構(gòu)D(x)需要根據(jù)樂理知識事先進行規(guī)定,效果近似于常規(guī)作曲時對樂譜的修改;2)在迭代過程中,鄰域結(jié)構(gòu)D(x)可人為進行改變,保證數(shù)個音符不發(fā)生變化;3)目標函數(shù)的值取最小并不意味著旋律最動聽,因此需要根據(jù)人耳試聽輔助判斷任意解x是否為局部最優(yōu)解,或人工調(diào)整解的形式.

      基于以上問題,本文提出的基于樂理知識的變鄰域搜索算法做出了以下改進:1)根據(jù)基本作曲知識將鄰域結(jié)構(gòu)轉(zhuǎn)化為變鄰域搜索操作,包含變調(diào)、刪減音符與增加新音符三種;2)在迭代過程中可人為鎖定部分音符,改變鄰域結(jié)構(gòu);3)迭代停止條件由目標函數(shù)的計算與人工試聽進行聯(lián)合判決.

      變鄰域搜索算法流程如下:

      1)規(guī)定目標函數(shù)fi,根據(jù)樂理知識設(shè)計x的鄰域D(x),規(guī)定最大迭代次數(shù)km與每次迭代搜索操作;

      2)隨機生成或人工輸入初始值x;

      3) 隨機選取D(x)內(nèi)的s個點x1,x2,xs,令滿足fi(x)最小點為中心,并可以人為固定部分音符值,從而生成新的D(x);

      4)重復(fù)上述操作直至達到最大迭代次數(shù)或人工停止.

      本文提出的基于樂理知識的變鄰域搜索操作包含變調(diào)、刪減音符與增加新音符三種,算法流程見圖3.每次迭代首先隨機生成搜索長度RrandL=2n,n=0,1,2、搜索起始位置RrandP∈[1,64-randL+1],與搜索操作RrandO=1,2,3,其中RrandL,RrandP共同表示鄰域區(qū)間,RrandO=1,2,3分別對應(yīng)變調(diào)、刪減音符與增加新音符3種操作.當任意待處理位置有Ccell(1,i)=′1′,即被鎖定時,重新生成以上參數(shù),隨后依照訓(xùn)練參數(shù)表與RrandO對音樂片段進行處理,并計算參數(shù)矩陣KdataG4×7通過預(yù)先設(shè)定好的代價函數(shù)矩陣KdataC4×7計算得分:

      SScore=∑(|KdataG-KdataN|·KdataC).

      計算樂譜的變化程度后,對樂譜進行綜合打分.例如動態(tài)越高說明音符更富于變化,代價函數(shù)得分越低說明與訓(xùn)練數(shù)據(jù)越接近.若此次搜索的結(jié)果在門限外,則再次重新生成RrandL,RrandP,RrandO并重復(fù)以上操作直到滿足條件為止.

      樂譜的得分并不能完全反映音樂片段是否動聽,只能從一定程度上約束樂譜的生成規(guī)律.例如一個樂譜動態(tài)范圍很大,可能是旋律緊湊動人,也可能是音符雜亂無章的排列.若要保證每次迭代的代價函數(shù)得分變低,結(jié)果往往是一個或一段音符持續(xù)時間的刪減.經(jīng)過多次測試后,本文設(shè)計了一個得分門限(20%),雖然迭代后的樂譜可能代價函數(shù)得分變高,但如果在門限內(nèi)則保留樂譜,即保證了樂譜不至于出現(xiàn)過多刪減,同時也不會出現(xiàn)過于不和諧的音符.

      圖3 變鄰域搜索算法流程圖

      迭代后的樂譜通過GUI界面進行可視化顯示,操作者可通過試聽判斷樂譜中動聽的部分并進行音符的增刪與標記Ccell(n,i)=′1′,若Ccell(n,i)=′1′則在接下來的迭代中將跳過被標記的音符,隨后重復(fù)上述步驟對樂譜進行迭代,計算機迭代與人工評價與處理交互進行,直至生成令人滿意的樂譜G(i).

      3.2 后期處理

      生成音樂片段可保存為wav格式文件或表格文件,可用于后續(xù)的音樂生成或添加伴奏、修飾與調(diào)節(jié)速度等后期處理操作.本文提供一種根據(jù)所生成樂譜的二次折疊信息G4(j,i),i=1,…,16,j=1,…,4添加伴奏與鼓點的方法.首先根據(jù)G4(1,i),i=1,3,5,…,15確定伴奏的音符起始位置與音高,再根據(jù)G4(j,i)的二次折疊動態(tài)參數(shù)對音高進行變調(diào),最后根據(jù)Bbpm與G4(j,i)中音符出現(xiàn)的位置添加鼓點.文中的主旋律、伴奏與鼓點均通過樂音模擬方法生成和選取.

      4 樂音模擬

      4.1 常見樂器的分析與分類

      一種樂器的樂音一般由聲源經(jīng)過共振腔,再經(jīng)過外部環(huán)境到達人耳.本文對幾種常見樂音模擬算法(基于物理模型的弦振動仿真、基于電聲類比的共振腔模擬[11]與基于二維數(shù)字波導(dǎo)的樂音合成[12]等)進行分析與總結(jié),以基于物理模型的弦振動仿真為例,可以用一個偏微分方程及其邊界條件來描述音樂信號的時間序列:

      (4)

      式中:t與x為時空坐標,y(x,t)為振動偏移量,E為彈性模量,T0為弦兩端的標稱張力,ρ為材料密度,A為弦的橫截面積,I為慣性矩,d1為與時間相關(guān)的阻尼,d3為與頻率相關(guān)的阻尼.式(3)的邊界條件為

      y(0,t)=0,y(L,t)=0,

      (5)

      (6)

      忽略變換求解過程,其結(jié)果為基頻與諧波的疊加.以吉他尼龍弦為例,對模型進行仿真,仿真結(jié)果的時域信號幅值較小且呈指數(shù)衰減,與實際情況類似;其頻域結(jié)果在基頻與諧波出現(xiàn)了較為明顯的峰值.基于電聲類比的共振腔模擬與基于二維數(shù)字波導(dǎo)的樂音合成等研究結(jié)果與上述結(jié)果類似,輸出結(jié)果為頻域共振峰圖.通過對常見樂器的頻域幅值與時域包絡(luò)的試聽與分析,并結(jié)合上文的研究結(jié)果,將樂器分類為弦樂器、體樂器和混合樂器3種.

      4.2 樂音參數(shù)化與模擬生成

      本文將樂器的發(fā)聲模式簡化為圖4所示結(jié)構(gòu).

      圖4 模擬樂器發(fā)聲結(jié)構(gòu)

      將樂音模擬分為激勵源S、頻譜F(a,f)與時域包絡(luò)A(b,t)三部分.其中若激勵源為白噪聲(對應(yīng)體樂器),頻譜F(a,f)可用多個帶通濾波器組表示,若激勵源為弦振動(對應(yīng)弦樂器),頻譜F(a,f)可與激勵源加權(quán)混合表示.通過根據(jù)需求確定相關(guān)參數(shù)(音高、持續(xù)時間等),并生成與現(xiàn)有樂器類似,或全新音色的樂音.

      樂器音色模擬一個簡單的方法是通過手繪幅頻曲線對弦各次諧波振動進行加權(quán),再通過一個表示演奏方式(如彈弦、拉弦等,或通過手繪)的時域包絡(luò)即可模擬部分弦樂器(鋼琴、雙簧管等)的音色.本文設(shè)計了一種通過跟蹤鼠標拖動路線初步確定頻率曲線,并根據(jù)不同頻率的聲波在自由聲場中的衰減(基于將聲波分解為球諧函數(shù)疊加的思想)對曲線進行加權(quán)的弦樂音生成方法,例如見圖5所示的模擬樂音鋼琴.添加的時域包絡(luò)為指數(shù)衰減的形式,對應(yīng)琴弦的彈撥.也可通過高斯白噪聲加一階低通濾波器或二階帶通濾波器可模擬部分體樂器(如沙錘、軍鼓等).該過程的模型可用于接下來的樂音試聽、旋律添加樂器、伴奏和鼓點等操作,例如圖6所示的模擬樂音沙錘,帶通頻率為1 500~2 000 Hz,衰減頻率為16 Hz,18 000 Hz,阻帶衰減為10 dB,時域包絡(luò)為指數(shù)上升與指數(shù)衰減生成的模擬樂音既可表示大部分傳統(tǒng)樂器,用少量參數(shù)即可模擬昂貴的專業(yè)樂器,也可生成全新的時域波形,營造截然不同的聽音體驗.本小節(jié)生成的模擬樂音將用于整個音樂訓(xùn)練與生成系統(tǒng),隨時聽取音樂片段并進行后期處理.

      圖5 模擬樂音鋼琴特征分析

      圖6 模擬樂音沙錘特征分析

      Fig.6 Characteristics analysis of the simulated sand hammer sound

      5 音樂生成系統(tǒng)測試

      本次通過哼唱《致愛麗絲》的部分小節(jié)作為訓(xùn)練數(shù)據(jù),以《小星星》的前7個音符作為輸入,經(jīng)過迭代與人工刪改后生成的譜表如圖7所示.圖8是上述樂譜添加模擬樂音后的時域波形圖,動態(tài)上升了18,速度不變,音符豐富度上升1,雖然代價函數(shù)得分上升了12.63%,但仍在設(shè)置的門限范圍內(nèi).該音頻已具備一定藝術(shù)性,與《小星星》的聽感完全不同.圖9是上述樂譜基于樂譜二次折疊參數(shù)添加伴奏與鼓點后的時域波形圖,相較于上述音頻更加悅耳動聽.

      圖7 一次生成測試的樂譜可視化結(jié)果

      圖8 樂譜添加模擬樂音后的時域波形

      Fig.8 Time-domain waveform after adding simulated instrument to the music score

      圖9 樂譜添加伴奏與鼓點后的時域波形

      Fig.9 Time-domain waveform after adding accompaniment and drums to the music score

      與傳統(tǒng)組合優(yōu)化問題不同,由于生成的音樂片段具有一定藝術(shù)性,客觀評價指標只能作為音樂生成的指導(dǎo),客觀評價指標得分高并不代表音樂片段悅耳動聽,因此不能完全使用客觀評價指標對生成結(jié)果進行評價,主觀聽感應(yīng)作為音樂片段好壞的主要評價標準.通過對近年來提出音樂生成方法所提供的部分片段進行試聽比較[13-21],得益于生成階段的人機交互,本文提供的方法所生成片段更為動聽,此外訓(xùn)練與生成過程也更為直觀新穎,便于操作.

      本系統(tǒng)可以從易獲得的時域音頻文件出發(fā),通過較少的操作和較短的時間獲得具有藝術(shù)感的音樂片段,能夠直觀地體驗音樂的創(chuàng)作過程,利于充分調(diào)動音樂愛好者,特別是青少年的對音樂的熱情,并能夠通過預(yù)先設(shè)定的參數(shù)與樂器選擇,進一步豐富音樂片段.但每次生成的持續(xù)時間較短,一般為4~10 s.

      6 結(jié) 論

      傳統(tǒng)的作曲由于需要大量樂理知識與聽音經(jīng)驗,普通的音樂愛好者很難參與其中.本文所述方法克服了傳統(tǒng)作曲門檻過高、可重復(fù)工作量大等缺點,以及難以獲得大量專業(yè)樂器音色的缺陷,提供了一種基于變鄰域搜索與掩蔽效應(yīng)的音樂生成方法,即讓普通的音樂愛好者也能參與到作曲中,同時也能通過人機交互的方式充分調(diào)動音樂愛好者,尤其是青少年對音樂的積極性,并使其投入其中.此外,基于頻域幅值與時域包絡(luò)的樂音模擬算法也克服了大量樂器難以獲得的缺陷,反之也可為樂器設(shè)計與校準提供參考.

      猜你喜歡
      樂音搜索算法樂譜
      是你一直想著我
      如何區(qū)分樂音和噪聲
      改進的和聲搜索算法求解凸二次規(guī)劃及線性規(guī)劃
      作文成功之路·作文交響樂——學(xué)生展現(xiàn)心靈樂音的舞臺
      樂譜:放飛夢想
      北方音樂(2019年20期)2019-12-04 04:07:14
      樂譜
      一毛學(xué)琴記——樂譜失蹤
      琴童(2018年11期)2018-01-23 11:34:08
      用心聆聽學(xué)會區(qū)分
      基于小波包變換的樂音時—頻綜合分析程序的開發(fā)
      音樂探索(2015年1期)2015-04-27 01:01:52
      基于汽車接力的潮流轉(zhuǎn)移快速搜索算法
      界首市| 安岳县| 邮箱| 沙洋县| 嘉黎县| 博爱县| 门源| 玛纳斯县| 贵定县| 如皋市| 白玉县| 施秉县| 密山市| 衡南县| 九龙城区| 昌图县| 木兰县| 大冶市| 来凤县| 景东| 含山县| 沐川县| 华亭县| 泗水县| 时尚| 乃东县| 墨脱县| 永寿县| 武安市| 彭泽县| 中牟县| 邢台县| 秦安县| 昆明市| 宜城市| 福鼎市| 高唐县| 绿春县| 东兰县| 稻城县| 方正县|