from Guitar Effects Pedal - Pedale d'effet pour guitare by F.BONNEL S.CRASE A.DESMAZURES J.MARCQ
Guitar Effects Pedal - Pedale d'effet pour guitare

[Y]=echoes(X,FS,att,d)
function [Y]=echoes(X,FS,att,d)

%del=d*FS;                                                 
%b=zeros(1,4*round(del));
%b(1)=1;
%b(round(del*4))=att*exp(-4);
%b(round(del*3))=att*exp(-2);
%b(round(del*2))=att*exp(-1);
%b(round(del))=att*exp(-0.5);
%a=[1];
%Y=filter(b,a,X);

del=round(d*FS/1000);
att2 = 0,8 * att;
att3 = 0,6 * att;
att4 = 0,5 * att;

n = 1 : length(X) + 4 * del;
R = zeros(del,1);

X  = [ X ; R       ; R        ; R        ; R        ];
Z1 = [ R ; att * X ; R        ; R        ; R        ];
Z2 = [ R ; R       ; att2 * X ; R        ; R        ];
Z3 = [ R ; R       ; R        ; att3 * X ; R        ];
Z4 = [ R ; R       ; R        ; R        ; att4 * X ];

Y(n) = X(n) + Z1(n)+ Z2(n)+ Z3(n)+ Z4(n);

Y = Y * max(abs(X))/max(abs(Y));

Contact us at files@mathworks.com