2017-02-18 129 views
1

我正在嘗試執行music genre分類。我想使用MFCC作爲功能。我正在使用scikit library。這裏是我的代碼只是:Python培訓數據集

> import numpy as np 
> import scipy.io.wavfile 
> from scikits.talkbox.features import mfcc 
> sr1,x1=scipy.io.wavfile.read("filename.wav") 
> ceps1,mspec1,spec1=mfcc(x1) 

我可以得到MFCC值如上。現在,我有兩首不同音樂流派的100首歌曲(electronic,jazz)。而且,我想創建一個使用這些歌曲的數據集。我想我會用numpy數組來設計這個數據集。我如何創建該數據集並將它們貼上標籤(electronicjazz)?我使用python2.7在Ubuntu

回答

0

您可以使用歌曲文件的pandas內置數據幀上傳的名字,並給列的標題爲任電子爵士樂。

這裏是高層概述。

  • 遍歷歌曲文件的目錄並獲取文件名。
  • 對於每個文件得到其相應的MFCC值(基本上確定它是否 屬於電子爵士樂類別。
  • 對於初始加載到pandas數據幀,創建電子兩個單獨的列表爵士樂
  • 對於後續負載,可以直接附加到各個列的數據幀

下面是簡單的實現它假定您已經獲得的文件名,MFCC值和分類的文件電子爵士

import pandas as pd 

columns = ['electronic','jazz'] 
df = pd.DataFrame(index=None, columns=columns) 

elec_list = [ 'song1', 'song2', 'song3' ] 
jazz_list = [ 'song5', 'song6', 'song7' ] 


df = pd.DataFrame(index=None, columns=columns) 
df['electronic'] = pd.Series(elec_list) 
df['jazz'] = pd.Series(jazz_list) 

輸出:

DF
電子爵士樂
0 song1 song5
1 song2 song6
2 song3 song7