def prepossessingAudio(audioPath, ppFilePath):
print 'Prepossessing ' + audioPath
featuresArray = []
for i in range(0, SOUND_SAMPLE_LENGTH, HAMMING_STRIDE):
if i + HAMMING_SIZE <= SOUND_SAMPLE_LENGTH - 1:
y, sr = librosa.load(audioPath, offset=i / 1000.0, duration=HAMMING_SIZE / 1000.0)
# Let's make and display a mel-scaled power (energy-squared) spectrogram
S = librosa.feature.melspectrogram(y, sr=sr, n_mels=128)
# Convert to log scale (dB). We'll use the peak power as reference.
log_S = librosa.logamplitude(S, ref_power=np.max)
mfcc = librosa.feature.mfcc(S=log_S, sr=sr, n_mfcc=13)
featuresArray.append(mfcc)
# featuresArray.append(S)
if len(featuresArray) == 599:
break
print 'storing pp file: ' + ppFilePath
f = open(ppFilePath, 'w')
f.write(pickle.dumps(featuresArray))
f.close()
评论列表
文章目录