forked from Mirrors/freeswitch
55 lines
986 B
Matlab
55 lines
986 B
Matlab
% cspec.m
|
|
% David Rowe Aug 2012
|
|
% Used to compare spectromgrams while experimenting with phase
|
|
|
|
function cspec(s1,s2)
|
|
f1 = fopen(s1,"rb");
|
|
s1 = fread(f1,Inf,"short");
|
|
f2 = fopen(s2,"rb");
|
|
s2 = fread(f2,Inf,"short");
|
|
|
|
Fs = 8000;
|
|
spec_win = 512;
|
|
|
|
state = 's1';
|
|
do
|
|
if strcmp(state,'s1')
|
|
spec(s1,Fs,spec_win);
|
|
%title(s1);
|
|
end
|
|
if strcmp(state,'s2')
|
|
spec(s2,Fs,spec_win);
|
|
%title(s2);
|
|
end
|
|
if strcmp(state,'diff')
|
|
spec(s1-s2,Fs,spec_win);
|
|
%title("difference");
|
|
end
|
|
|
|
printf("\rstate: %s space-toggle d-diff q-quit", state);
|
|
fflush(stdout);
|
|
k = kbhit();
|
|
|
|
if k == ' '
|
|
if strcmp(state,"diff")
|
|
next_state = 's1';
|
|
end
|
|
if strcmp(state,"s1")
|
|
next_state = 's2';
|
|
end
|
|
if strcmp(state,'s2')
|
|
next_state = 's1';
|
|
end
|
|
end
|
|
|
|
if k == 'd'
|
|
next_state = 'diff';
|
|
end
|
|
|
|
state = next_state;
|
|
until (k == 'q')
|
|
|
|
printf("\n");
|
|
|
|
endfunction
|