Merge pull request #35 from ltcptgeneral/jason-branch

Create distortion_filter.m
This commit is contained in:
Jason Liang 2021-12-09 19:10:39 -08:00 committed by GitHub
commit b82de0b047
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

26
src/distortion_filter.m Normal file
View File

@ -0,0 +1,26 @@
% An audio is distorted based on the value of HIGH. Nothing of a certain
% threshold should be played above this constant, or they are simply clipped to this
% value. Inspired from Meghaj_Echo.m and epic_effect_schluep.m.
% Author: Jason Liang
function y = distortion_filter(x, HIGH)
len = length(X);
X = fft(x);
X = fftshift(X);
Y = zeros(1, len);
for ind = 1:len
if (X(ind) > HIGH)
Y(ind) = HIGH;
elseif (X(ind) < -HIGH)
Y(ind) = -HIGH;
else
Y(ind) = X(ind);
end
end
Y = fftshift(Y);
y = ifft(Y);
y = real(y);
end