diff --git a/src/effects/NoiseRemoval.cpp b/src/effects/NoiseRemoval.cpp index f9e56bae9..852f39f8c 100644 --- a/src/effects/NoiseRemoval.cpp +++ b/src/effects/NoiseRemoval.cpp @@ -255,8 +255,11 @@ void EffectNoiseRemoval::Initialize() mFreqSmoothingBins = (int)(mFreqSmoothingHz * mWindowSize / mSampleRate); mAttackDecayBlocks = 1 + (int)(mAttackDecayTime * mSampleRate / (mWindowSize / 2)); + // Applies to amplitudes, divide by 20: mNoiseAttenFactor = pow(10.0, mNoiseGain/20.0); - mOneBlockAttackDecay = pow(10.0, (mNoiseGain / (10.0 * mAttackDecayBlocks))); + // Applies to gain factors which apply to amplitudes, divide by 20: + mOneBlockAttackDecay = pow(10.0, (mNoiseGain / (20.0 * mAttackDecayBlocks))); + // Applies to power, divide by 10: mSensitivityFactor = pow(10.0, mSensitivity/10.0); mMinSignalBlocks = (int)(mMinSignalTime * mSampleRate / (mWindowSize / 2)); @@ -284,7 +287,6 @@ void EffectNoiseRemoval::Initialize() mFFTBuffer = new float[mWindowSize]; mInWaveBuffer = new float[mWindowSize]; mWindow = new float[mWindowSize]; - mOutImagBuffer = new float[mWindowSize]; mOutOverlapBuffer = new float[mWindowSize]; // Create a Hanning window function @@ -321,7 +323,6 @@ void EffectNoiseRemoval::Cleanup() delete[] mFFTBuffer; delete[] mInWaveBuffer; delete[] mWindow; - delete[] mOutImagBuffer; delete[] mOutOverlapBuffer; } diff --git a/src/effects/NoiseRemoval.h b/src/effects/NoiseRemoval.h index 4a363026b..6b16ead87 100644 --- a/src/effects/NoiseRemoval.h +++ b/src/effects/NoiseRemoval.h @@ -117,7 +117,6 @@ private: int mMinSignalBlocks; int mHistoryLen; float *mInWaveBuffer; // mWindowSize - float *mOutImagBuffer; // mWindowSize float *mOutOverlapBuffer; // mWindowSize float **mSpectrums; // mHistoryLen x mSpectrumSize float **mGains; // mHistoryLen x mSpectrumSize