function cmp_rap(name1,name2) %function cmp_rap(name1,name2) % compare 2 RAP files from ICSI NN's % should have excatly the same nb. of sentences and frames per sentence, % otherwise it'll terribly screw up ... disp ('-------------------'); END_OF_SENTENCE =-1; ff1=fopen(name1,'r','b'); % big endian files ff2=fopen(name2,'r','b'); % big endian files perframe = fread(ff1,1,'int'); dummy = fread(ff2,1,'int'); sent=0; frame=0; % init empty matrices w/ probas X1=[]; X2=[]; while (~feof(ff1)) sentid = fread(ff1,1,'int'); dummy = fread(ff2,1,'int'); % if end of sentence, plot and wait ! if (sentid == END_OF_SENTENCE) size(X1) size(X2) frame figure(1);subplot (211); plot (0:frame-1,X1'); subplot (212); plot (0:frame-1,X2'); figure(2); % cmp a couple of trajectories n=29; subplot (511); plot (0:frame-1,X1(:,n), 0:frame-1,X2(:,n)); n=28; subplot (512); plot (0:frame-1,X1(:,n), 0:frame-1,X2(:,n)); n=27; subplot (513); plot (0:frame-1,X1(:,n), 0:frame-1,X2(:,n)); n=26; subplot (514); plot (0:frame-1,X1(:,n), 0:frame-1,X2(:,n)); n=25; subplot (515); plot (0:frame-1,X1(:,n), 0:frame-1,X2(:,n)); pause % make other necessary things at the end of a sentence X1=[]; X2=[]; frame = 0; sent=sent+1; continue; end % ok, read the data x = fread(ff1,[1 perframe],'float'); X1 = [X1; x]; x = fread(ff2,[1 perframe],'float'); X2 = [X2; x]; frame = frame +1; end fclose (ff1);fclose (ff2);