目錄
- 時(shí)頻變換
- 頻譜重排
- 倒譜系數(shù)
- 解卷積
- 譜特征
- 音樂(lè)信息檢索
audioFlux是一個(gè)Python和C實(shí)現(xiàn)的庫(kù),提供音頻領(lǐng)域系統(tǒng)、全面、多維度的特征提取與組合,結(jié)合各種深度學(xué)習(xí)網(wǎng)絡(luò)模型,進(jìn)行音頻領(lǐng)域的業(yè)務(wù)研發(fā),下面從時(shí)頻變換、頻譜重排、倒譜系數(shù)、解卷積、譜特征、音樂(lè)信息檢索六個(gè)方面簡(jiǎn)單闡述其相關(guān)功能。
時(shí)頻變換
audioFlux在時(shí)頻分析領(lǐng)域中,包含以下通用變換(支持后續(xù)所有頻率刻度類型)算法:
-
BFT - 基于傅里葉變換。
等效短時(shí)傅里葉變換(STFT),一般基于此實(shí)現(xiàn)大家熟知的mel頻譜,時(shí)域上重疊平移加窗的傅里葉變換,一般重疊變換長(zhǎng)度1/4,加高斯窗又稱做Gabor變換,可以調(diào)整窗函數(shù)長(zhǎng)度來(lái)方便的模擬時(shí)頻分析特點(diǎn),BFT算法除提供標(biāo)準(zhǔn)的mel/bark/erb等頻譜外,還支持mel這些刻度類型的復(fù)數(shù)譜,同時(shí)支持mel等刻度頻譜的重排。
-
NSGT - 非平穩(wěn) Gabor 變換。
類似加高斯窗的STFT(短時(shí)傅里葉變換),不同之處在于窗函數(shù)長(zhǎng)度和t建立非平穩(wěn)關(guān)系,相對(duì)STFT可以實(shí)現(xiàn)穩(wěn)態(tài)信號(hào)中非平穩(wěn)狀態(tài)較好的分析,較好的onset端點(diǎn)偵測(cè)效果常基于此類頻譜計(jì)算,同時(shí)可以做為實(shí)現(xiàn)CQT的一種高效方式,本算法中NSGT變換的octave頻率刻度類型即CQT的高效實(shí)現(xiàn)。
-
CWT - 連續(xù)小波變換。
多分辨率時(shí)頻分析,從數(shù)學(xué)上看,傅里葉變換的基底是無(wú)限的sin/cos函數(shù),而小波變換基底是有限的很小的波函數(shù),波函數(shù)的通用表示形式為
其中a決定頻域縮放尺度,b時(shí)間平移尺度,建立時(shí)頻的自適應(yīng)分析,相對(duì)STFT的固定時(shí)頻分辨率,具有低頻段頻率分辨高、高頻段時(shí)間分辨高特點(diǎn),非常適合非穩(wěn)態(tài)信號(hào)分析,支持常用的Morse、Morlet、Bump、Pual、Meyer等波函數(shù)類型。
-
PWT - 偽小波變換。
基于傅里葉變換實(shí)現(xiàn)的類似小波變換效果,CWT的高效算法為頻域小波函數(shù)計(jì)算filterBank和頻域數(shù)據(jù)做dot運(yùn)算,如果把小波函數(shù)當(dāng)做一種特殊的窗函數(shù),可以產(chǎn)生類CWT效果,即偽小波變換,如果窗函數(shù)建立可調(diào)頻帶的參數(shù)(庫(kù)中尚未實(shí)現(xiàn)),可以等效小波變換。
以上變換功能支持下面所有頻率刻度類型:
- linear - 標(biāo)準(zhǔn)線性頻帶頻譜圖,短時(shí)傅里葉變換結(jié)果取一半即linear刻度頻譜圖,刻度為采樣率/采樣樣本,即最小頻域分辨率。
- linsapce - 自定義頻帶范圍的頻譜圖,頻帶可以大于linear頻帶,相當(dāng)于時(shí)域降采樣。
- mel - 梅爾標(biāo)度頻譜圖,音頻中最常用的頻譜圖類型之一,基于人耳聽(tīng)覺(jué)低頻敏感、高頻不敏感特性,類log壓縮linear刻度。
- bark - 巴克刻度頻譜圖,比梅爾刻度更符合人耳聽(tīng)覺(jué)。
- erb - 等效矩形帶寬頻譜圖,比巴克刻度更符合人耳聽(tīng)覺(jué)。
- octave - 八度刻度頻譜圖,符合樂(lè)音對(duì)數(shù)刻度的頻譜圖。
- log - 對(duì)數(shù)刻度頻譜圖。
下面是一個(gè)BFT變換下不同頻率刻度的簡(jiǎn)單對(duì)比圖。

下面是一個(gè)CWT不同波函數(shù)的簡(jiǎn)單對(duì)比圖。

以下可用作獨(dú)立變換的算法有(不支持多種頻率刻度類型):
- CQT - 常量Q變換,頻帶比為常數(shù)的變換,音樂(lè)中常用的此變換,?;诖擞?jì)算chroma特征用于分析和聲。
- VQT - 可變Q變換。
- ST - S變換/Stockwell變換,類似小波變換,是小波變換思想的一種極端特例,可用于偵測(cè)分析一些極端的突變信號(hào)如地震、海嘯等,相比NSGT同樣也是加高斯窗,但建立起f和t的縮放關(guān)系。
- FST - 快速S變換,S變換的離散基2實(shí)現(xiàn)。
- DWT - 離散小波變換,相對(duì)CWT而言,頻率基于2的變換。
- WPT - 小波包變換,又稱小波包分解,可以對(duì)信號(hào)做細(xì)節(jié)和近似分解,是信號(hào)分離和合成的一個(gè)方式,可用于降噪、模態(tài)結(jié)構(gòu)分析等業(yè)務(wù)。
- SWT - 穩(wěn)態(tài)小波變換,類似小波包變換,分解出的信號(hào)和原信號(hào)長(zhǎng)度一致。
下面是一個(gè)CQT和NSGT變換下不同刻度的簡(jiǎn)單對(duì)比圖。

很明顯,NSGT-Octave比CQT要清晰、聚焦一些。
chroma是基于頻譜的更高級(jí)特征,屬于樂(lè)音刻度體系范疇,針對(duì)非樂(lè)音的刻度要差于樂(lè)音刻度,目前支持chroma特征的頻譜類型:
- CQT
- BFT-linear
- BFT-octave
下面是一個(gè)Chroma簡(jiǎn)單對(duì)比圖。

很明顯,CQT-Chroma優(yōu)于其它頻譜類型下的chroma。
注:
- 不同頻率刻度的頻譜都有各自的應(yīng)用價(jià)值,針對(duì)某些業(yè)務(wù)情況,這些不同刻度頻譜圖可以圖組合起一個(gè)大的特征集合參與網(wǎng)絡(luò)的訓(xùn)練。
- 頻譜圖按值的類型abs、平方、log等非線性運(yùn)算稱為幅值譜、功率譜、對(duì)數(shù)譜/dB譜,深度學(xué)習(xí)中一般使用對(duì)數(shù)譜多一些。
頻譜重排
同步壓縮或重新分配方法是一種用于銳化、高清頻譜圖的技術(shù),可以提升頻譜的清晰度和精度,audioFlux包含以下算法:
- reassign - 針對(duì)STFT變換重排,基于BFT的mel/bark/erb等頻譜數(shù)據(jù)同樣實(shí)現(xiàn)重排。
- synsq - CWT頻譜數(shù)據(jù)重排。
- wsst - CWT變換重排。
下面是一個(gè)頻譜圖和對(duì)應(yīng)重排后的效果圖。

很明顯,重排后的效果要優(yōu)于重排前的效果。
可能有人會(huì)問(wèn),既然重排效果如此好,可以基于上次結(jié)果循環(huán)多次重排嗎?這樣效果如何?audioFlux重排相關(guān)算法提供多次重排機(jī)制,具體效果可以參照文檔做下嘗試對(duì)比。
倒譜系數(shù)
類似針對(duì)mel頻譜的mfcc(梅爾頻率倒譜系數(shù)),這個(gè)特征業(yè)務(wù)上屬于去音高,屬于反映發(fā)音物理結(jié)構(gòu)的一個(gè)特征,典型的用于語(yǔ)音識(shí)別相關(guān)業(yè)務(wù),可用于不同樂(lè)器分類,結(jié)構(gòu)細(xì)化等業(yè)務(wù)模型訓(xùn)練。
整個(gè)audioFlux項(xiàng)目頻譜體系中,除mfcc以及相應(yīng)delta/deltaDelta外,支持所有類型的頻譜倒譜系數(shù)即xxcc:
- lfcc
- gtcc
- bfcc
- cqcc
- ......
不同頻譜的倒譜系數(shù),都代表著不同頻譜類型的去音高相關(guān),都有各自的應(yīng)用價(jià)值,比如gtcc有論文反映在語(yǔ)音識(shí)別業(yè)務(wù)中音素效果要比mfcc好一些,cqcc針對(duì)樂(lè)器的分類和一些結(jié)構(gòu)細(xì)化業(yè)務(wù)要遠(yuǎn)優(yōu)于mfcc等等。
下面是針對(duì)吉他樂(lè)音音頻的不同頻譜倒譜系數(shù)的對(duì)比圖。

很明顯,在吉他樂(lè)音起振階段,cqcc表現(xiàn)最好,后續(xù)持續(xù)穩(wěn)定階段,gtcc相比較好。
解卷積
在數(shù)學(xué)中,解卷積是卷積的逆運(yùn)算,可以做為信號(hào)分解的一種算法,針對(duì)頻譜而言,分解后的兩個(gè)數(shù)據(jù)可以表示為formant(共振峰)頻譜圖和pitch頻譜圖,相比mfcc而言,formant是一種更為通識(shí)的發(fā)音物理結(jié)構(gòu)特征。
在audioFlux中,支持所有類型頻譜的解卷積操作,所發(fā)揮的價(jià)值在于,針對(duì)音高相關(guān)的業(yè)務(wù),可以去除共振峰干擾后模型推斷更準(zhǔn)確;針對(duì)結(jié)構(gòu)相關(guān)特征的業(yè)務(wù),可以去除音高避免模型的訓(xùn)練受其干擾。
下面是針對(duì)吉他880hz音頻的mel頻譜圖的解卷積效果圖。

可以看到吉他共振峰部分(音色)和音高部分明顯的分離效果。
譜特征
在audioFlux中,包括數(shù)十種spectral相關(guān)的特征,包括基于音色相關(guān)特征,基于統(tǒng)計(jì)相關(guān)特征,基于光譜通量相關(guān)特征,基于奇異值相關(guān)特征,等等。
如:
- flatness
- skewness
- crest
- slop
- rolloff
- ......
- centroid
- spread
- kurtosis
- ......
- flux
- hfc
- mkl
- ......
- ......
等等一小部分,關(guān)于audioFlux所提供的所有譜特征,更具體的功能描述、例子、公式等請(qǐng)參照官方文檔。
下面是一些譜特征對(duì)比圖。

音樂(lè)信息檢索
audioFlux提供mir相關(guān)領(lǐng)域pitch估算、onset偵測(cè)、hpss(諧波打擊樂(lè)分離)等相關(guān)業(yè)務(wù)算法。
pitch估算包含基于YIN,STFT等相關(guān)算法,下面是針對(duì)一段人聲練習(xí)音高的偵測(cè)效果圖。

紅色為實(shí)際參照音高,藍(lán)色為估算音高。
onset偵測(cè)包含基于Spectrum flux, novelty等等相關(guān)算法,下面是一段吉他掃弦伴奏的端點(diǎn)偵測(cè)效果圖。

中間時(shí)域圖像紅色虛線為端點(diǎn)偵測(cè)位置疊加而成。
hpss包含中值濾波,非負(fù)矩陣分解等(NMF)等算法,下面是一段包含吉他彈奏和節(jié)拍器音頻的分離效果,上半部分時(shí)域效果,下半部分對(duì)應(yīng)頻域效果。
