From c76e8afc052296a08f57c2e74501b2a2088ac2aa Mon Sep 17 00:00:00 2001 From: TurtleEmperorx Date: Fri, 10 Dec 2021 15:29:04 -0800 Subject: [PATCH] fixed --- src/AnuragDampenTarget.m | 36 ++++++++---------------------------- src/AnuragEnhanceTarget.m | 35 +++++++---------------------------- 2 files changed, 15 insertions(+), 56 deletions(-) diff --git a/src/AnuragDampenTarget.m b/src/AnuragDampenTarget.m index 41b529b..e15f1f3 100644 --- a/src/AnuragDampenTarget.m +++ b/src/AnuragDampenTarget.m @@ -10,43 +10,23 @@ function output_x = AnuragDampenTarget(x, Fs,LOW, MID, HIGH) % Detailed explanation goes here TARGET = MID; AreaPercentage = 0.15; - [dim,len] = size(x); %get length of the input + len = length(x); %get length of the input F = Fs * ((-len/2) : ((len/2) - 1)) / len; lenf = length(F); - Mod_Freq = ifft(fft(x)); %Fourier Transform of the input signal + Mod_Freq = fftshift(fft(x)); %Fourier Transform of the input signal output = zeros([1,lenf]); % zero array of size Mod_freq - if(dim == 2) %check for dual channel audio - F = [F;F]; - output = [output;output]; - end %set the bounds lowerBound = (1-AreaPercentage) * TARGET; upperBound = (1+AreaPercentage) * TARGET; %% Dampen the target frequencies and maintain the others - if(dim == 2) %iterate through both channels if track is dual channel - for n = 1:lenf - if ((lowerBound < abs(F(1,n))) && abs(F(1,n)) < upperBound) - output(1,n) = 1; - else - output(1,n) = 0.5; - end - end - for n = 1:lenf - if ((lowerBound < abs(F(2,n))) && abs(F(2,n)) < upperBound) - output(2,n) = 1; - else - output(2,n) = .5; - end - end - else %iterate onnly once for monochannel - for n = 1:lenf - if ((lowerBound < abs(F(n))) && abs(F(n)) < upperBound) - output(n) = 1; - else - output(n) = .5; - end + for n = 1:lenf + if ((lowerBound < abs(F(n))) && abs(F(n)) < upperBound) + output(n) = 0.5; + else + output(n) = 1; end end + %%Filter the original signal and transform filtered_Mod_Freq = fftshift(Mod_Freq .* output); output_x = real(ifft(filtered_Mod_Freq)); diff --git a/src/AnuragEnhanceTarget.m b/src/AnuragEnhanceTarget.m index 9a348b0..ad2b187 100644 --- a/src/AnuragEnhanceTarget.m +++ b/src/AnuragEnhanceTarget.m @@ -10,41 +10,20 @@ function output_x = AnuragEnchanceTarget(x, Fs,LOW, MID, HIGH) % Detailed explanation goes here TARGET = MID; AreaPercentage = 0.15; - [dim,len] = size(x); %get length of the input + len = length(x); %get length of the input F = Fs * ((-len/2) : ((len/2) - 1)) / len; lenf = length(F); - Mod_Freq = ifft(fft(x)); %Fourier Transform of the input signal + Mod_Freq = fftshift(fft(x)); %Fourier Transform of the input signal output = zeros([1,lenf]); % zero array of size Mod_freq - if(dim == 2) %check for dual channel audio - F = [F;F]; - output = [output;output]; - end %set the bounds lowerBound = (1-AreaPercentage) * TARGET; upperBound = (1+AreaPercentage) * TARGET; %% Amplify the target frequencies and dampen the others - if(dim == 2) %iterate through both channels if track is dual channel - for n = 1:lenf - if ((lowerBound < abs(F(1,n))) && abs(F(1,n)) < upperBound) - output(1,n) = 2; - else - output(1,n) = 0.75; - end - end - for n = 1:lenf - if ((lowerBound < abs(F(2,n))) && abs(F(2,n)) < upperBound) - output(2,n) = 2; - else - output(2,n) = 0.75; - end - end - else %iterate onnly once for monochannel - for n = 1:lenf - if ((lowerBound < abs(F(n))) && abs(F(n)) < upperBound) - output(n) = 2; - else - output(n) = 0.75; - end + for n = 1:lenf + if ((lowerBound < abs(F(n))) && abs(F(n)) < upperBound) + output(n) = 2; + else + output(n) = 0.75; end end %%Filter the original signal and transform