国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種新型音樂速度譜圖的生成算法

2018-07-26 09:01:38桂文明劉睿凡陶玉婷李燕萍
關(guān)鍵詞:音符分辨率原子

桂文明,劉睿凡,陶玉婷,李燕萍

(1.金陵科技學(xué)院 軟件工程學(xué)院,南京 211169; 2.南京理工大學(xué) 計算機科學(xué)與工程學(xué)院,南京 210094;3.南京郵電大學(xué) 通信與信息工程學(xué)院,南京 210003)

音樂進(jìn)行的快慢叫音樂速度(Tempo)[1],現(xiàn)代音樂中通常以“拍每分鐘”(Beats Per Minute, bpm)來作為速度的度量,比如音樂速度標(biāo)記“=120”表示該音樂的速度是每分鐘120個四分音符,也就是每個四分音符的時值占0.5s.bmp值越大,速度越快.音樂速度和音樂的節(jié)拍、節(jié)奏等密切相關(guān),是音樂的重要特征之一;音樂速度估計是音樂信息檢索領(lǐng)域的一個重要課題,同時又是音樂節(jié)拍感知[2]、音樂結(jié)構(gòu)分析[3]等研究方向的基礎(chǔ)工作.

音樂速度估計是指基于音樂的內(nèi)容,從mp3、wav等形式的,含音樂信號波形的文件出發(fā),估計音樂的行進(jìn)速度.音樂速度在音樂行進(jìn)過程中是不斷變化的,變化的一種原因是由于音樂作曲者根據(jù)需要,在音樂行進(jìn)過程中,設(shè)定的速度本身是變化的,這種形式的變化次數(shù)在一首樂曲中一般不多,很多音樂從始至終甚至不發(fā)生變化;另一種原因是演奏或演唱的誤差產(chǎn)生的,這種形式的變化難以避免,一般存在于音樂的所有部分.因此,估計音樂速度實際上是需要估計各時點的速度值.由于存在連音和休止符等現(xiàn)象,音樂速度模糊難辨,音樂速度估計是個困難的課題.我們可以把各時點的速度看成是多個速度分量組成的向量,即速度譜向量.一首音樂各時點的速度譜向量,可以組成音樂速度譜圖(Tempogram),因此,一首音樂的速度,我們可以用音樂速度譜圖來描述.音樂的速度可以從音樂速度譜圖出發(fā)[4],通過動態(tài)規(guī)劃、Viterbi等算法導(dǎo)出[5].音樂的節(jié)拍跟蹤、節(jié)奏識別、類型識別等應(yīng)用均可借助音樂速度譜圖,提取有用信息,完成自身的識別工作.

1 現(xiàn)有音樂速度譜圖的主要計算方式

音樂速度譜圖的生成過程一般分成兩個階段: 第一階段是音符起始點檢測函數(shù)(Note Onset Detection Function)生成階段,音符起始點是指音樂中每個音符開始演奏或演唱的那一刻,文獻(xiàn)[6]稱之為新穎曲線(Novelty Curve);第二階段是譜圖生成過程.

第一階段主要包括信號變換、特征提取、起始點檢測函數(shù)生成等幾個部分.信號變換的目的是用信號變換的方法把音樂波形信號從一維的高頻數(shù)據(jù)轉(zhuǎn)換為低頻表示,一般是先對信號分幀,然后對每幀信號進(jìn)行信號變換,信號變換方法包括短時傅里葉變換(Short Time Fourier Transform, STFT)、小波變換(Wavelet Transform, WT)等.特征提取是從前一階段的信號低頻表示中,提取時域、頻域以及時頻表示等特征.時域特征典型的如幅度包絡(luò)特征,頻域特征典型的如譜波動特征(Spectral Flux)和頻域能量特征等,時頻表示特征主要是基于小波變換或Cohen類時頻分布的特征表示.起始點檢測函數(shù)生成是根據(jù)每幀信號提取的特征計算前后幀的變化情況,音符起始點一般存在于前后幀正向變化突然增大的情況中.典型的音符起始點檢測函數(shù)生成過程可參考文獻(xiàn)[6].

第二階段是根據(jù)前一階段音符起始點檢測函數(shù)曲線,提取周期特性,形成音樂速度譜圖.這一階段目前主要的方法包括自相關(guān)函數(shù)(Auto Correlation Function, ACF)法、傅里葉變換(Fourier Transform, FT)法兩種[6].

ACF法是通過對音符起始點檢測函數(shù)加窗并進(jìn)行自相關(guān)計算,根據(jù)延遲提取音符起始點的周期性,并將延遲轉(zhuǎn)換成音樂速度度量,從而形成音樂速度譜圖.其計算公式為:

(1)

式中:t,n為離散時間;取l=1,2,…,N為延遲;o(n)為音符起始點檢測函數(shù);W(n)為中心點是t=0,支撐為[-N,N]的矩形窗.設(shè)fs為o(n)的抽樣頻率,則延遲l對應(yīng)的周期為l/fs,頻率為fs/l,對應(yīng)的音樂速度τ=60×fs/l.

FT法是對音符起始點檢測函數(shù)進(jìn)行加窗傅里葉變換,求得頻域特性,并將頻域度量轉(zhuǎn)換成音樂速度度量,從而形成音樂速度譜圖.其計算公式為:

(2)

式中:t,n為離散時間;ω為頻率;o(n)為音符起始點檢測函數(shù);W(n)為中心點是t=0,支撐為[-N,N]的漢寧窗.ω轉(zhuǎn)換成音樂速度的公式為τ=60×ω.對于ω,目前有兩種方法確定: 一種是根據(jù)文獻(xiàn)[5]的離散傅里葉變換(Discrete Fourier Transform, DFT)法,將ω>0離散化為N個頻點,間隔為fs/NHz;另一種是類似文獻(xiàn)[6]的方法,取常用音樂速度范圍τ∈[30,480] bpm,使ω=τ/60Hz,然后利用上述公式計算各時點ω對應(yīng)的系數(shù).

2 基于匹配追蹤的音樂速度譜圖生成算法

音樂速度譜圖第二階段的主要目的是從第一階段生成的音符起始點檢測函數(shù)曲線,提取周期特性.自相關(guān)函數(shù)法是通過計算檢測函數(shù)曲線與自身的延遲曲線的相似程度來表示這種周期特性.傅里葉變換法是通過計算頻率來導(dǎo)出周期,對DFT法來說,其系數(shù)也可看作是檢測函數(shù)曲線和一定頻率的正交基的相似程度.從用來和檢測函數(shù)曲線進(jìn)行相似性比較的曲線(或基)來看,ACF法把相似曲線限定為一系列一定延遲的自身曲線,DFT法則把相似曲線限定為一系列正交的具備一定頻率的曲線.而和檢測函數(shù)進(jìn)行相似性比較的曲線,其要求是和正常的音樂速度相匹配,如果限制它的數(shù)量和形式,會使得匹配程度存在局限性,從而音樂速度譜圖的準(zhǔn)確性也會受到影響.另一方面,對音樂速度譜圖來說,某一時刻的音樂速度系數(shù)大值分量越少,也就是說稀疏性越好,則該時刻的速度確定性越高,圖的應(yīng)用性質(zhì)就越好,而自相關(guān)函數(shù)法和DFT法生成的音樂速度譜圖在這一點上均有所欠缺.

本文提出的基于匹配追蹤的音樂速度譜圖生成算法能克服現(xiàn)有計算方法的缺陷.匹配追蹤算法中的冗余字典使得我們可以靈活配置和檢測函數(shù)曲線進(jìn)行相似性比較的“原子”.本文配置的“原子”,其曲線形式和正常音樂速度匹配程度高,而且這些“原子”的靈活配置可以使得音樂速度譜圖具有比現(xiàn)有算法更高的分辨率.同時,匹配追蹤算法的特性決定了生成的音樂速度譜圖具有更強的稀疏性.本節(jié)以下部分就具體描述該算法的實現(xiàn),描述分成冗余字典的創(chuàng)建和算法實現(xiàn)兩部分.

2.1 冗余字典的創(chuàng)建

冗余字典中的原子配置需和常用音樂速度相匹配,并且配置將決定音樂速度譜圖的分辨程度.本算法取常用音樂速度區(qū)間,對該區(qū)間的每一音樂速度,創(chuàng)建對應(yīng)的母原子,隨后對該母原子進(jìn)行移位操作,母原子和移位生成的原子共同構(gòu)成該音樂速度對應(yīng)的原子集合.最后,所有音樂速度對應(yīng)的原子集合組裝成該算法的冗余字典.具體步驟如下:

(1) 取常用音樂速度區(qū)間τ∈[30,600],τ∈,按一定的音樂速度分辨率要求把速度集合轉(zhuǎn)換成頻率集合.

本文中音樂速度分辨率用音樂速度譜圖中速度分量的兩個相鄰有效點的間隔大小來表示.音樂速度分辨率取值可以是1,2,…等正整型值,也可取一定規(guī)律的有理數(shù)值,比如分辨率等比遞增或遞減等;分辨率可以在所有子區(qū)間相同,也可以劃分子區(qū)間,并在各子區(qū)間進(jìn)行不同的取值,比如在區(qū)間[80,150]取音樂速度分辨率為0.25,而其他子區(qū)間取0.5.為方便和自相關(guān)函數(shù)法以及傅里葉變換法比較,本文在實驗中整個區(qū)間取音樂速度分辨率為1,即取τ∈[30,600],τ∈,轉(zhuǎn)換成頻率集合可進(jìn)行如下操作:fb=τ/60,τ∈[30,31,…,600],其中b∈{1,2,…,B}為速度區(qū)間中的音樂速度序號,也是對應(yīng)的頻率集合中的頻率序號.

(2) 對頻率集合中的每一頻率,創(chuàng)建一個對應(yīng)的母原子.

針對頻率集合每一頻率fb,創(chuàng)建該頻率的余弦函數(shù)為對應(yīng)的母原子αb,其長度為o(n)的分幀長度M,形式為:αb=cos(2πfbt),t∈(0,1,…,M-1)/fo,fo為o(n)的抽樣率.該母原子也就是對應(yīng)音樂速度的母原子.因為音符起始點檢測函數(shù)一般只取正數(shù)部分,所以,同樣母原子αb也只取余弦函數(shù)的正數(shù)部分.

(3) 按一定粒度對所有母原子進(jìn)行右移位操作,每移動一步生成一個原子,把這些移動生成的原子連同母原子一起組成該母原子對應(yīng)的頻率的原子集合.

母原子αb的支撐域為[0,M-1],移位粒度d=1,2,…是一個正整數(shù),將母原子αb向右移動d×j位,j=1,2,…,母原子αb右移后,其左邊[0,M-d×j-1]支撐域的值用cos(-2πfbt),t=(M-d×j,…,2,1)/fo補充,這樣每移動一次,可以得到一個原子.因為母原子是周期函數(shù),因此,最大移動位數(shù)設(shè)置為不超過一個周期.所有母原子αb和這些位移得到的原子一起組成了該母原子對應(yīng)音樂速度的原子集合db.

(4) 把頻率集合中所有頻率fb對應(yīng)的原子集合db,組裝成一個冗余字典D.

2.2 算法的實現(xiàn)

從音樂文件生成音樂速度譜圖,首先需要生成音符起始點檢測函數(shù),然后對檢測函數(shù)分幀后,對每一幀進(jìn)行匹配追蹤分解,最后根據(jù)每幀的分解系數(shù)生成音樂速度譜圖.具體步驟如下:

(1) 輸入音樂信號,生成音符起始點檢測函數(shù)o(n).

輸入的音樂信號一般是wav、mp3等形式、含有波形的文件.音樂速度譜圖生成的第一階段包括信號變換、特征提取、起始點檢測函數(shù)生成等過程,輸出為音符起始點檢測函數(shù)o(n),即一個向量.這一階段本文參照文獻(xiàn)[6]進(jìn)行.

(2) 對o(n)分幀,形成若干幀信號.

對o(n)進(jìn)行分幀,分幀的幀長為6s(設(shè)幀內(nèi)有M個點),每跳(Hopsize)約0.2s,形成行數(shù)為M、列數(shù)為N的檢測函數(shù)矩陣X=X(m,n)m∈[1,M],n∈[1,N].

(3) 對o(n)的每一幀信號,運用冗余字典D,進(jìn)行匹配追蹤,循環(huán)一定次數(shù),生成一系列分解系數(shù)和對應(yīng)的原子.

對o(n)的每一幀信號,即對Xi,i∈[1,2,…,N],運用冗余字典D,實施匹配追蹤算法:

a) 置剩余信號yn=Xi,n=0,開始執(zhí)行循環(huán);

b) 計算冗余字典的所有原子gj∈D和剩余信號yn的內(nèi)積〈yn,gj〉,選擇所有內(nèi)積中絕對值最大者對應(yīng)的原子gk為本次循環(huán)匹配的原子,保存第n次循環(huán)的分解系數(shù)Sn=|〈yn,gk〉|和對應(yīng)原子gn=gk;

c) 重新計算剩余信號yn+1=yn-|〈yn,gk〉|gk;

d) 若循環(huán)次數(shù)或剩余信號與原信號能量比達(dá)到精度要求,則退出循環(huán),否則置n=n+1,從步驟(2)開始繼續(xù)執(zhí)行.

本文按循環(huán)次數(shù)終止循環(huán),可根據(jù)音樂速度譜圖的要求設(shè)置循環(huán)次數(shù),比如K=10次,20次,….循環(huán)終止后得到Sn,gn,n∈[1,K].

(4) 根據(jù)冗余字典中原子和音樂速度的關(guān)系,把o(n)的每一幀信號的分解系數(shù)歸屬于某一音樂速度的系數(shù).

對每一幀信號的分解系數(shù)Sn,先根據(jù)對應(yīng)的原子gn找到其母原子,然后找到對應(yīng)的音樂速度序號b,把分解系數(shù)Sn當(dāng)作該音樂速度的分解系數(shù),如果存在多個原子對應(yīng)相同的音樂速度序號,則將多個分解系數(shù)累加求和.最后,所有音樂速度的分解系數(shù)構(gòu)成一個音樂速度譜向量S.

(5) 合并每幀信號的音樂速度譜向量,組成音樂速度譜圖.

所有幀的音樂速度譜向量Sn,n∈[1,N],按列方式組裝合并成音樂速度譜圖S=S(b,n),b∈[1,B],n∈[1,N].

3 特性分析

本算法生成的音樂速度譜圖,可達(dá)到更高的音樂速度分辨率,并且在稀疏性方面要優(yōu)于現(xiàn)有算法.

3.1 音樂速度分辨率分析

本文中音樂速度分辨率是指音樂速度譜圖中速度分量的兩個相鄰有效點的間隔大小,間隔越大說明分辨率越差,反之,間隔越小則越好.分辨率反映在音樂速度譜圖中表現(xiàn)為音樂速度的辨識度或圖的清晰程度.音樂速度分辨率在概念上類似頻率分辨率,但不完全一致.這里的“有效點”是指可以計算的,而不是估算的.在音樂速度分辨可計算的情況下,可以通過計算相同分辨率下音樂速度譜圖的圖像清晰程度來進(jìn)一步加以比較算法的優(yōu)劣.

考察文獻(xiàn)[5]中的DFT法,計算DFT時漢寧窗的長度為6s,因此,速度間隔為60×fs/N=60/6=10bpm.這樣的分辨率顯然不能滿足音樂速度的精度要求.考察文獻(xiàn)[6]的FT法,這種方法實際上是對信號加窗后,通過計算離散時間傅里葉變換(Discrete Time Fourier Transform, DTFT)的方法計算常用音樂速度對應(yīng)的頻率ω的系數(shù),雖然其音樂速度分辨率達(dá)到1,但這種方法實際上只是對ω在離散點上進(jìn)行近似抽樣,其實際頻率分辨率并沒有得到提升,下文通過音樂速度譜圖的比較說明了這一點.

而本文算法的音樂速度譜圖的分辨率決定于創(chuàng)建冗余字典的過程中音樂速度集合轉(zhuǎn)換成頻率集合時的音樂速度分辨率,可以調(diào)整為全局是1,甚至更小.圖1是針對MIREX(Music Information Retrieval Evaluation eXchange)的訓(xùn)練數(shù)據(jù)集[7]中的一首音樂(train1.wav),分別采用自相關(guān)函數(shù)法(a)、傅里葉變換法(b)和本算法(c)生成的音樂速度譜圖.為方便比較,所有算法的音樂速度分辨率均要求為1,即要求計算音樂速度區(qū)間τ∈[30,600],τ∈上各點的系數(shù).本算法的循環(huán)次數(shù)為571,分辨率設(shè)為1,移位粒度為2.從圖中看出,在圖1(a)和圖1(b)中均出現(xiàn)了或?qū)捇蛘臋M狀條紋,而本算法圖1(c)呈現(xiàn)的是清晰的線條或點.顯然本文算法的圖像的清晰程度要高.

圖1 音樂速度譜圖對比Fig.1 The comparison of tempograms

3.2 譜圖稀疏性分析

音樂速度譜圖的稀疏性是指譜圖系數(shù)的非零元素的個數(shù),非零元素個數(shù)少,其稀疏性強.譜圖越稀疏,其辨析度就越好,這也說明譜圖的能量集中,性質(zhì)好,應(yīng)用效果好.

對ACF法,在音樂速度超過51bpm時,分量的系數(shù)在正常精度(比如1bpm)下,需通過插值方法計算系數(shù),必然造成稀疏性下降.而對FT法來說,DFT和DTFT也需要通過插值或抽樣的方法計算系數(shù),造成能量分散,稀疏性下降.而在本文提出的匹配追蹤算法中,經(jīng)過冗余字典的配置,可以保證更強的稀疏性.從圖1中也可看出本算法的音樂速度譜圖相對自相關(guān)函數(shù)法和傅里葉變換法更稀疏,大值系數(shù)更少.

4 應(yīng)用示例

為了說明本算法生成的音樂速度譜圖的應(yīng)用,這里提供一個計算恒定音樂速度的簡單示例,實驗采用的仍然是MIREX的訓(xùn)練數(shù)據(jù)集[7]中的音樂train1.wav,采樣率為22050Hz,音符起始點檢測函數(shù)精度為23ms,MP循環(huán)次數(shù)為571,音樂速度分辨率為1,移位粒度為2.

設(shè)本算法生成的音樂速度譜圖為S=S(b,n),b∈[1,B],n∈[1,N],b為音樂速度序號,n為時間.我們可以通過如下步驟計算音樂速度.

(1) 計算音樂速度曲線.將音樂速度譜圖的各音樂速度系數(shù)按時間求和,得到音樂速度曲線:

(3)

為計算方便,我們把音樂速度域從τ∈[30,600],τ∈,擴充為τ∈[1,600],τ∈,因此,b∈[1,600],其中T(1∶29)=0.顯然音樂速度曲線中系數(shù)大者是主導(dǎo)分量,如圖2(a)所示.

(2) 音樂速度曲線光滑處理.上一步得到的音樂速度曲線是不光滑的,如圖2(a)中最大的系數(shù)旁邊出現(xiàn)了分叉現(xiàn)象,需要進(jìn)行光滑處理.我們采用文獻(xiàn)[8]的高斯核光滑技術(shù)對音樂速度曲線進(jìn)行光滑處理,得到如圖2(b)的音樂速度曲線,記為M(b).

(3) 梳狀模板調(diào)整音樂速度分布.由于音樂的節(jié)拍結(jié)構(gòu)是帶有層次的,在音樂速度的倍數(shù)上存在著“諧速”.音樂速度曲線中系數(shù)最大者往往是最小節(jié)拍的音樂速度,而真正的音樂速度往往是相對最大系數(shù)的較小“諧速”.因此,本示例中采用類似文獻(xiàn)[9]的梳狀模板對原始音樂速度曲線進(jìn)行調(diào)整,我們這里的加權(quán)梳狀模板為:

(4)

式中: 取τ∈[30,300],τ∈;l∈[1,600],l∈,P=4.調(diào)整后的音樂速度曲線為:

(5)

式中:τ∈[30,300],τ∈,如圖2(c).

(4) 取占主導(dǎo)地位的兩個音樂速度為計算結(jié)果.按照MIREX的音樂速度評估標(biāo)準(zhǔn),先取系數(shù)最大的音樂速度T1為第一個計算結(jié)果.因為事實音樂速度存在于“諧速”上,所以先去掉T1前后0.8×T1內(nèi)的系數(shù),再取系數(shù)最大者T2為第二個占主導(dǎo)地位的音樂速度.本算法實驗結(jié)果為T1=65,T2=129,標(biāo)注的結(jié)果為[64.5,129.5,0.12],因此算法的結(jié)果pscore=1.

圖2 計算音樂速度簡單示例Fig.2 The example of tempo estimation

5 結(jié) 語

本文提出一種基于匹配追蹤的音樂速度譜圖生成算法,該算法比自相關(guān)函數(shù)法和傅里葉變換法具有更高的音樂速度分辨率,更強的稀疏性.更高的音樂速度分辨率有利于在應(yīng)用時提供更準(zhǔn)確的音樂速度信息,更強的稀疏性說明能量更集中,應(yīng)用性質(zhì)更好.為了說明該算法的應(yīng)用,本文給出了一個簡單的示例.下一步的工作是運用本算法生成的音樂速度譜圖的優(yōu)良特性,在音樂速度檢測、節(jié)拍跟蹤等領(lǐng)域進(jìn)行更深層次的應(yīng)用,提升這些領(lǐng)域的研究效果.

猜你喜歡
音符分辨率原子
原子可以結(jié)合嗎?
原子究竟有多???
帶你認(rèn)識原子
一串快樂的音符
EM算法的參數(shù)分辨率
春天的音符
原生VS最大那些混淆視聽的“分辨率”概念
基于深度特征學(xué)習(xí)的圖像超分辨率重建
一種改進(jìn)的基于邊緣加強超分辨率算法
音符(兩首)
讀寫算(上)(2016年9期)2016-02-27 08:44:58
宜昌市| 新龙县| 达拉特旗| 邵东县| 上犹县| 曲沃县| 会理县| 松阳县| 永靖县| 苍梧县| 宜川县| 谷城县| 钦州市| 福泉市| 哈密市| 兰溪市| 潜山县| 江安县| 金塔县| 香港 | 云阳县| 宜春市| 沁水县| 哈巴河县| 万全县| 合水县| 凤阳县| 德钦县| 安达市| 城口县| 富川| 普兰店市| 永福县| 博客| 博兴县| 会东县| 东乡族自治县| 阳江市| 乐业县| 南雄市| 涡阳县|