我正在嘗試獲取用於機器學習任務(特別是使用神經網絡進行分類)中使用的音頻文件的單個矢量特徵表示。我有計算機視覺和自然語言處理方面的經驗,但我需要一些幫助加快音頻文件的速度。用於使用librosa進行音頻分類的MFCC特徵描述符
對於那裏的音頻文件有各種各樣的特徵描述符,但似乎MFCC在音頻分類任務中使用最多。我的問題是:我如何將MFCC表示法用於音頻文件,通常是一個矩陣(可能是係數),然後將其轉換爲單個特徵向量?我目前正在使用librosa。
我有一大堆的音頻文件,但他們都在它們的形狀各不相同:
for filename in os.listdir('data'):
y, sr = librosa.load('data/' + filename)
print filename, librosa.feature.mfcc(y=y, sr=sr).shape
213493.ogg (20, 2375)
120093.ogg (20, 7506)
174576.ogg (20, 2482)
194439.ogg (20, 14)
107936.ogg (20, 2259)
我會做一個簡歷的人是通過做K-均值量化這些係數,然後使用類似scipy.cluster.vq以獲得相同形狀的矢量,我可以使用它作爲我的NN的輸入。這是你會在音頻案例中做什麼,或者有什麼不同/更好的方法來解決這個問題?
我瞭解它的方式,mfcc功能是一個窗體(numFrames,numMFCCoeffiecients)的二維數組。這是每幀產生MFCC列表。 ceps變量似乎只是一系列的係數。這是爲什麼?另外X.append行的目的是什麼?我真的很好奇這件事,我很感激任何關於此事的燈光 – SasukeIsCool 2016-12-30 12:34:48