Python Training数据集

时间:2017-02-18 11:57:58

标签: python pandas numpy audio scipy

我正在尝试执行music genre分类。我想使用MFCC作为功能。我正在使用scikit library来实现此目的。这是我的代码:

> 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首歌曲,有2种不同的音乐流派(electronicjazz)。而且,我想创建一个使用这些歌曲的数据集。我想我将使用numpy数组来设计该数据集。如何创建该数据集并将其标记为electronicjazz)?我在ubuntu上使用python2.7

1 个答案:

答案 0 :(得分:0)

您可以使用pandas内置数据框上传歌曲文件的名称,并将列标题指定为 electronic jazz。 < / p>

以下是高级概述。

  • 遍历歌曲文件目录并获取文件名。
  • 为每个文件获取相应的MFCC值(基本确定是否为 属于电子 jazz 类别。
  • 对于pandas数据框的初始加载,为 electronic jazz 创建两个单独的列表
  • 对于后续加载,您可以直接附加到数据框
  • 中的相应列

以下是示例实现,假设您已获取文件名,MFCC值并对 electronic jazz

的文件进行了分类
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首歌1首歌5     1首歌曲2首歌6     2首歌曲3歌曲