function koder(inname, outname); % inname je jmeno souboru se vstupem - napr. test.wav % outname je jmeno souboru s vystupem - napr. out.kod s = wavread (inname)'; s = s- mean(s); lseg = 200; rseg = 120; % shift je tedy 80 => 100 vektoru za sekundu P = 10; % ramce SFR = frame (s, lseg, rseg); Nfr = size (SFR,2); % alokace pro vystup A = zeros (P+1,Nfr); E = zeros (1, Nfr); LAGS = zeros (1, Nfr); % jedeme po ramcich ... for ii = 1:Nfr, x = SFR(:,ii); % LPC analyza a = lpc(x,P); A(:,ii) = a'; % zakladni ton l = pitchcor (x,20,160,0.3); LAGS(ii) = l; % energie na vzorek e = sum (x.^2) / lseg; E(ii) = e; end % vybliti do formatu, ktery chceme ... o koeficient a0, ktery je vzdy % 1 nemame zajem. out = [A(2:P+1,:); E; LAGS]; ff = fopen (outname,'w'); cnt = fwrite (ff,out,'float') fclose (ff); plot (s); title('orig'); soundsc(s);