The Mathematical Listening Comprehension Test (MLCT)
(matlab codes)
White noise (4a)
%noise.m
v =0.5*(rand(10*44100,1)-1/2);
wavwrite([v,v], 44100, 16, 'noise.wav');
S1 (2c)
% S1.m
t=[1:1:7*44100]/44100;
n=1;
v=zeros(1,length(t));
w=zeros(1,length(t));
for k=1:14,
w = 1/2^k* sin (2*pi* t * 220 * k );
v = v+ w;
end
w2=v.*exp(-1*t);
w2=w2/max(abs(w2))*0.999;
wavwrite([w2;w2]', 44100, 16, 'S1.wav');
S1000000 (1d)
% S1E6.m
clear all
t=[1:1:7*44100]/44100;
n=1000000;
v=zeros(1,length(t));
w=zeros(1,length(t));
for k=1:14,
mult = sqrt( k*(k+n-1)/n );
w = 1/2^k* sin (2*pi* t * 220 * mult );
v = v+ w;
end
v=v.*exp(-1*t);
v=v/max(abs(v))*0.999;
w2=[v;v]';
wavwrite(w2, 44100, 16, 'S1E6.wav');
Amplitude modulation (6e)
% AM.m
t=[1:1:26*44100]/44100;
v=sin(40*sin(2*pi*10*t))./ (1+ sin(sin(t)));
w2=[v;v]'/6.31;
wavwrite(w2, 44100, 16, 'AM.wav');
Topologist's sinusoid (7b)
% toposin.m
t=[1:1:10*44100]/44100;
v=0.999*sin(2*pi*50./t);
wavwrite([v;v]', 44100, 16, 'toposin.wav');
Karplus-Strong (5i)
% drum.m
% generate drum signal using Karplus-Strong algorithm.
L = 441; % buffer length
alpha=0.5;
t=(1:1:10*44100);
x = [sin(9/2*pi*t(1:L)/L), zeros(1,length(t)-L)];
for i = L+1:length(t),
x(i)=alpha*x(i-L)+alpha*sign(sin(sinh(100*x(i-L))))*x(i-L+1);
end
w2 = x(1:length(t))*0.999;
wavwrite([w2;w2]', 44100, 16, 'drum.wav');
Recurring pulse with increasing frequency (3f)
% effect 1
% fx1.m
t=[1:1:16*44100]/44100;
v=sin(sin(2*sinh(0.25*t)).^(50) * 100*2*pi);
wavwrite([v;v]'*0.999, 44100, 16, 'fx1.wav');
Frequency modulation (8g)
% effect 2
% fx2.m
t=[1:1:22*44100]/44100;
v=sin(150*t.^2+70*sin(2*pi*40*sqrt(t)));
w2=[v;v]'*0.999;
wavwrite(w2, 44100, 16, 'fx2.wav');
Strange signal (9h)
% highfreq.m
t=[1:1:48*44100];
v=zeros(length(t),1);
for i=4:length(t),
v(i)=sin(v(i-3)-(1/20*i/44100)*v(i-2)+v(i-1)+ 2*pi*2*i/44100);
end
w2=[v,v]*0.999;
wavwrite(w2, 44100, 16, 'highfreq.wav');
Back