6 ms·
Overly concise Matlab version. If you get Dan Ellis' ispecgram [1] you can do something like: [x, sr] = wavread('rick.wav'); x_mono = mean(x,2); X
by samplenoise 11y ago
Overly concise Matlab version. If you get Dan Ellis' ispecgram [1] you can do something like:
[x, sr] = wavread('rick.wav');
x_mono = mean(x,2);
X = specgram(x_mono, nfft, sr);
Y = X >= imdilate(X, ones(mask_size), 'same');
y = ispecgram(Y, nfft, sr);
% wavwrite(y, sr, 'roll.wav');
params: nfft, masksize (tuple)
[1] http://github.com/tbertinmahieux/MSongsDB/blob/master/MatlabSrc/ispecgram.m http://github.com/tbertinmahieux/MSongsDB/blob/master/Matlab...