function [output] = ksfilter(freq, fs, input) %Filters an input signal through the Karplus-Strong string synthesis %filter at a given frequency freq and sample rate fs. L = fs/freq-0.5; delta = L-floor(L); L = floor(L); a = (1-delta)/(1+delta); L_delay = zeros(1, L-2); R = 0.99999; B = [(a/2), (a/2+1/2), 1/2, L_delay]; A = [1, a, L_delay, (-a/2*R^L), -(a/2*R^L+1/2*R^L), (-0.5*R^L)]; output = filter(B,A,input); end