def recognise_mfcc(filePath,outputDir,outputName,debug):
print("start decompose harmonic/percussive and extract mfcc {0}".format(filePath))
y,sr = librosa.load(filePath)
mfcc = librosa.feature.mfcc(y=y,sr=sr)
mfcc = np.transpose(mfcc)
basePath = outputDir+outputName;
np.savetxt(basePath+"_normal_mfcc.csv",mfcc,delimiter=",")
harmonic_sep = 3.0
percussive_sep = 3.0
h,p = librosa.effects.hpss(y,margin=(harmonic_sep,percussive_sep))
hmfcc = librosa.feature.mfcc(y=h,sr=sr)
hmfcc = np.transpose(hmfcc)
np.savetxt(basePath+"_harmonic_mfcc.csv",hmfcc,delimiter=",")
pmfcc = librosa.feature.mfcc(y=p,sr=sr)
pmfcc = np.transpose(pmfcc)
np.savetxt(basePath+"_percussive_mfcc.csv",pmfcc,delimiter=",")
# extract rhythm patter with rp_extract
评论列表
文章目录