fcs=[48 54 55 10];
load('w.mat');
load('wn.mat');
nst=-24; % start note
nen=35; % end note
Fs=44100;
dr=dir('*.wav');
if length(dr)>0
nm=[];
for fc=1:length(dr)
fln=dr(fc).name;
lfln=length(fln);
ns=fln(1:lfln-4);
nm=[nm str2num(ns)];
end
[nms ind]=sort(nm);
L=length(dr);
ca=cell(L,1);
lca=zeros(L,1);
for fc=1:length(dr)
[s1 Fs1]=wavread(dr(ind(fc)).name);
s=resample(s1,2,1);
ca{fc}=s;
lca(fc)=length(s);
end
%soundsc(ca,44100);
end
Fs=Fs1*2;
L=nen-nst+1;
%fab=cell(L,1);
fab=cell(L,3);
fcs1=(nst:nen)+49;
n0=100;
n01=4096;
n02=n01/2;
L=nen-nst+1;
fcs1=(nst:nen)+49;
% for spectrum cut (not need all):
fmx=440*2^((nen+1)/12); % maximal frequency
fmxi=round(n02*fmx/(Fs/2)); % maximal index
fmn=440*2^((nst-1)/12); % maximal frequency
fmni=round(n02*fmn/(Fs/2)); % minimal index
nfi=fmxi-fmni+1; % number of elements in cuted spectrum
% sum:
st=zeros(n01,1);
for fcsc=1:length(fcs)
%nst+49 -start note
st=st+ca{fcs(fcsc)+nst+49-1}(n0:n0+n01-1);
end
%sound(st,44100)
fca=fft(st);
fabt=abs(fca(fmni:fmxi));
fabt=fabt/sum(fabt);
% see covariations:
cmv=zeros(L,1);
for fc=1:L
cmv(fc)=sum(w(:,fc).*fabt);
end
% plot(cmv,'xg');
[tmp ind]=sort(cmv, 'descend');
ind(1:length(fcs))