日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

【librosa】音频特征提取

發布時間:2023/12/13 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 【librosa】音频特征提取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考

【librosa】及其在音頻處理中的應用
librosa官方文檔
liborosa源碼 Overview: module code

log-spectrogram

計算log-scaled spectrogram,librosa庫中并沒有現成的函數,需要自行計算。

計算步驟:

load -> stft -> abs -> power -> log

y = librosa.load('test.wav', sr = sr)
ft = librosa.stft(y, n_fft=512, hop_length=256)
log_spec = librosa.power_to_db(np.abs(ft)**2)

melspectrogram

計算mel-scaled spectrogram。

源碼中:melspectrogram = _spectrogram + Mel filters [np.dot]
并且:_spectrogram = stft + abs + power(default 1)
melspectrogram 源碼中,default power = 2

源碼參考,使用方式如下:
librosa.feature.melspectrogram(y=None, sr=22050, S=None, n_fft=2048, hop_length=512, win_length=None, window='hann', center=True, pad_mode='reflect', power=2.0, **kwargs)
輸出:【S】【Mel spectrogram】np.ndarray [shape=(n_mels, t)]

mfcc

計算Mel-frequency cepstral coefficients (MFCCs)。

基本步驟:

預處理(預加重-分幀加窗)
逐幀:fft -> 功率譜 -> mel濾波器組-> 對數功率 -> DCT -> mfccs

源碼中:mfcc = melspectrogram + power_to_db + dct
power_to_db:Convert a power spectrogram (amplitude squared) to decibel (dB) units,10 * log10(S / ref)

源碼參考,使用方式如下:
librosa.feature.mfcc(y=None, sr=22050, S=None, n_mfcc=20, dct_type=2, norm='ortho', lifter=0, **kwargs)
輸出:【M】【MFCC sequence】np.ndarray [shape=(n_mfcc, t)]

chroma_stft

Compute a chromagram from a waveform or power spectrogram.

源碼中:chroma_stft = _spectrogram + estimate_tuning + chroma(np.dot) + normalize
bins_per_octave = n_chroma

源碼參考,使用方式如下:
librosa.feature.chroma_stft(y=None, sr=22050, S=None, norm=inf, n_fft=2048, hop_length=512, win_length=None, window='hann', center=True, pad_mode='reflect', tuning=None, n_chroma=12, **kwargs)
輸出:【chromagram】【Normalized energy for each chroma bin at each frame.】np.ndarray [shape=(n_chroma, t)]

chroma_cqt

計算Constant-Q色譜圖。

源碼中:chroma_cqt = cqt + abs + cqt_to_chroma(dot) + normalize

源碼參考,使用方式如下:
librosa.feature.chroma_cqt(y=None, sr=22050, C=None, hop_length=512, fmin=None, norm=inf, threshold=0.0, tuning=None, n_chroma=12, n_octaves=7, window=None, bins_per_octave=36, cqt_mode='full')
輸出:【chromagram】np.ndarray [shape=(n_chroma, t)]

delta

特征的動態信息。The derivatives of features provides the information of dynamics of features over the time(相當于在時間軸上的斜率).
Compute delta features: local estimate of the derivative of the input data along the selected axis. Delta features are computed Savitsky-Golay filtering.
其中,SD濾波器是一種基于卷積計算的低通平滑濾波器(在時域內基于多項式,通過移動窗口利用最小二乘法進行最佳擬合,即對一定長度窗口內的數據點進行k階多項式擬合),是移動平滑算法的改進。SD filter可以提高光譜的平滑性,并降低噪音的干擾。
python代碼使用以及源碼參考:scipy.signal.savgol_filter。
更多可參考:【Savitzky-Golay平滑去噪】和【Python 生成曲線進行快速平滑處理】。

delta在librosa中的源碼參考: librosa.feature.delta,使用方式如下:
librosa.feature.delta(data, width=9, order=1, axis=-1, mode='interp', **kwargs)
The default axis along which to compute deltas is -1 (columns).
輸出delta matrix of data at specified order:【delta_data】np.ndarray [shape=(d, t)]

總結

以上是生活随笔為你收集整理的【librosa】音频特征提取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。