Clear Filters
Clear Filters

how to automatically run a few audio signal one by one?

1 view (last 30 days)
i would like to ask a simple question. i am currently working on a speech recognition system using mfcc and dtw. i want to run a few speech signal one by one automatically, there are six signal so i should get 12 coefficient for each signal..but now i'm just getting only 12 coefficient.12x1 double..i should be getting 12x6 double. i dont how where exactly to put my 'for' and 'end' lenght so that the mfcc works for every speech signal respectively one by one..
C = {'0','1','2','3','4','5'};
for k = 1:length(C);
X = audioread(strcat(C{k},'_1.wav'));
Fs = 8000; Q = 12; wlen = 240;
N = 2*2^nextpow2(wlen); %no of DFT points
w = hamming(wlen); %plot(w)%generate hamming window with wlen data point.
X = buffer(X,wlen,wlen*2/3);
L = size(X,2);
%plot (w)
H = melfb(Q,N,Fs); %Q=12, N=512, Fs=8000, H=[12x257] MEL scale generate
x0 = w.*X(:,k);
y = fft(x0,N);
s = H*abs(y(1:N/2+1)).^2;
c = dct(log(s));
Y(:,k) = c;
end

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!