2017-02-18 127 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