function [c,vmean]=sphinx2cov(list,dir,ext,vecsize,number); % c=sphinx2cov(list,dir,ext,vecsize,number); % computes covar matrice out of a list of SPhinx files. % number is optional and can limit the no of used files. if nargin==4 number = inf; end % alloc matrices vmean=zeros(1,vecsize); sum2 = zeros (vecsize,vecsize); X = []; % go round N=0; files=0; ff=fopen(list,'r'); while (files < number) ss=fscanf(ff, '%s',[1 1]); if (isempty(ss)) break; end % name=[dir '/features/' ss '.fea']; %disp(name); name=[dir '/' ss '.' ext]; [m,veccount]=read_sphinx (name,vecsize); %X = [X m]; disp([ num2str(files) ' ' num2str(veccount) ' ' name]); % update matrices: vmean = vmean + sum(m'); sum2 = sum2 + m * m'; N=N+veccount; files=files+1; end fclose(ff); % compute the covar matrix: vmean = vmean /N; c = sum2/N - vmean' * vmean;