You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
986 B
55 lines
986 B
6 years ago
|
% 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
|