(原)關於音頻onset detection算法的閱讀


Orgin:Using Audio Onset Detection Algorithms

 

本文檔只記錄了部分的內容,主要以aubio相關內容為主,並非整個文檔的完整內容,記錄人:lihaiping1603@aliyun.com

 

QMUL算法: 這個基於信號的算法,它結合了能量(觀察信號的能量)和相位(觀察FFT狀態偏差)所共同構成復域。它包括一個自適應增白組件,該組件平滑了信號的時間和頻率變化,從而通過“將每個頻段的幅度引入一個類似的動態范圍,使振幅較大的峰值更加明顯該算法跟進復域內的峰值計算每個頻域內發生突發事件的可能性,並使用峰值選取算法來標記onset.

 

 

Aubio:關於onset detection的算法aubioQMUL算法類似,它改進了onset detection中的自動校正功能,通過計算節拍周期,phase相位對齊方法.主要是根據周期,相位,節拍來做預測。這個算法有兩個主要的變量參數值:threshold閥值0.01-0.99(主要用於峰值拾取)onset模式(對於detection功能,包含高頻內容,復域,能量和光譜差異)

例如分析下面的長笛音樂,采用了復域的分析方法。然后系統參數變量調優中FFT bin大小為1024,增量大小為512,峰值閥值threshold設置為0.5,寂靜閥值設置為-50dB,以及內部最小的onset間隔設置為40ms。由於相位聲編碼器的存在,窗口大小window設置為1024,跳數hope設置為512. 通過改變峰值選取算法的閥值,越低或者越高,會導致過多或者過小的onset

 

實際情況和aubioonset算法分析結果的對比展示如上圖。在上圖可以看出來,在這個音樂中11個真實的onset都被正確的發現了。

 

Pyin算法:它和上述算法的不同之處在於,他的目的是檢測音高,而不是顯式的onset detection,並且是一種基於概率的方法。它提取給定頻域范圍內的音高。由於該算法的設計在基頻估計的基礎上附加了一個時間戳,證明了他是一個有效的onset detection競爭者。同時這個信息可以用於推斷音符的onset.

使用示例,系統使用FFT bin 大小為1024個樣本,增量大小為512YIN threshold(一組相關概率的音高候選值)全部設置為11,抑制低幅度音高估計值設置為0.1(將振幅抑制在一定值以下),onset的靈敏度設置為0.7(相當於峰值拾取),分析的結果如下圖:

 

 轉載請注明出處:https://www.cnblogs.com/lihaiping/p/aubio.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM