深度學(xué)習(xí)工具audioFlux---一個(gè)系統(tǒng)的音頻特征提取庫(kù)

目錄

  • 時(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ù)的通用表示形式為 \psi_{a,b}(t)=\frac{1}{\sqrt{a}}\psi(\frac{t-b}{a}) 其中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ì)比圖。

bi2.png

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

bi5.png

以下可用作獨(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ì)比圖。

bi3.png

很明顯,NSGT-Octave比CQT要清晰、聚焦一些。

chroma是基于頻譜的更高級(jí)特征,屬于樂(lè)音刻度體系范疇,針對(duì)非樂(lè)音的刻度要差于樂(lè)音刻度,目前支持chroma特征的頻譜類型:

  • CQT
  • BFT-linear
  • BFT-octave

下面是一個(gè)Chroma簡(jiǎn)單對(duì)比圖。

bi4.png

很明顯,CQT-Chroma優(yōu)于其它頻譜類型下的chroma。

注:

  1. 不同頻率刻度的頻譜都有各自的應(yīng)用價(jià)值,針對(duì)某些業(yè)務(wù)情況,這些不同刻度頻譜圖可以圖組合起一個(gè)大的特征集合參與網(wǎng)絡(luò)的訓(xùn)練。
  2. 頻譜圖按值的類型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)重排后的效果圖。

bi6.png

很明顯,重排后的效果要優(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ì)比圖。

xxcc.png

很明顯,在吉他樂(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頻譜圖的解卷積效果圖。

bi7.png

可以看到吉他共振峰部分(音色)和音高部分明顯的分離效果。

譜特征

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ì)比圖。

bi8.png

音樂(lè)信息檢索

audioFlux提供mir相關(guān)領(lǐng)域pitch估算、onset偵測(cè)、hpss(諧波打擊樂(lè)分離)等相關(guān)業(yè)務(wù)算法。

pitch估算包含基于YIN,STFT等相關(guān)算法,下面是針對(duì)一段人聲練習(xí)音高的偵測(cè)效果圖。

pitch.png

紅色為實(shí)際參照音高,藍(lán)色為估算音高。

onset偵測(cè)包含基于Spectrum flux, novelty等等相關(guān)算法,下面是一段吉他掃弦伴奏的端點(diǎn)偵測(cè)效果圖。

onset.png

中間時(shí)域圖像紅色虛線為端點(diǎn)偵測(cè)位置疊加而成。

hpss包含中值濾波,非負(fù)矩陣分解等(NMF)等算法,下面是一段包含吉他彈奏和節(jié)拍器音頻的分離效果,上半部分時(shí)域效果,下半部分對(duì)應(yīng)頻域效果。

hpss.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容