From c3ff505b73187e5d9c8fa548ad7a3abb244c3fe3 Mon Sep 17 00:00:00 2001 From: Ken Cooke Date: Thu, 24 Aug 2017 10:06:41 -0700 Subject: [PATCH 1/3] More aggressive noise gate threshold --- libraries/audio/src/AudioGate.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/audio/src/AudioGate.cpp b/libraries/audio/src/AudioGate.cpp index 0afeee19be..cb339d5e32 100644 --- a/libraries/audio/src/AudioGate.cpp +++ b/libraries/audio/src/AudioGate.cpp @@ -147,7 +147,7 @@ GateImpl::GateImpl(int sampleRate) { _sampleRate = sampleRate; // defaults - setThreshold(-36.0); + setThreshold(-30.0); setHold(20.0); setHysteresis(6.0); setRelease(1000.0); From 4a253023eec88246755fd5611ec414b65cc0079f Mon Sep 17 00:00:00 2001 From: Ken Cooke Date: Thu, 24 Aug 2017 10:15:54 -0700 Subject: [PATCH 2/3] float constants --- libraries/audio/src/AudioGate.cpp | 8 ++++---- libraries/audio/src/AudioLimiter.cpp | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/audio/src/AudioGate.cpp b/libraries/audio/src/AudioGate.cpp index cb339d5e32..0c4fe8b64c 100644 --- a/libraries/audio/src/AudioGate.cpp +++ b/libraries/audio/src/AudioGate.cpp @@ -147,10 +147,10 @@ GateImpl::GateImpl(int sampleRate) { _sampleRate = sampleRate; // defaults - setThreshold(-30.0); - setHold(20.0); - setHysteresis(6.0); - setRelease(1000.0); + setThreshold(-30.0f); + setHold(20.0f); + setHysteresis(6.0f); + setRelease(1000.0f); } // diff --git a/libraries/audio/src/AudioLimiter.cpp b/libraries/audio/src/AudioLimiter.cpp index 4ddff1f5a5..e20a070bd6 100644 --- a/libraries/audio/src/AudioLimiter.cpp +++ b/libraries/audio/src/AudioLimiter.cpp @@ -52,8 +52,8 @@ LimiterImpl::LimiterImpl(int sampleRate) { _sampleRate = sampleRate; // defaults - setThreshold(0.0); - setRelease(250.0); + setThreshold(0.0f); + setRelease(250.0f); } // From 684b7fee5a73fffc5d8b0dc880233285fc863044 Mon Sep 17 00:00:00 2001 From: Ken Cooke Date: Thu, 24 Aug 2017 11:20:22 -0700 Subject: [PATCH 3/3] DC filter cutoff at 0.5Hz --- libraries/audio/src/AudioGate.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/audio/src/AudioGate.cpp b/libraries/audio/src/AudioGate.cpp index 0c4fe8b64c..a4d731a447 100644 --- a/libraries/audio/src/AudioGate.cpp +++ b/libraries/audio/src/AudioGate.cpp @@ -25,10 +25,10 @@ static inline int32_t saturateQ30(int32_t x) { } // -// First-order DC-blocking filter, with zero at 1.0 and pole at 0.99994 +// First-order DC-blocking filter, with zero at 1.0 and pole at 0.9999 // -// -3dB @ 0.5 Hz (48KHz) -// -3dB @ 0.2 Hz (24KHz) +// -3dB @ 1.0 Hz (48KHz) +// -3dB @ 0.5 Hz (24KHz) // // input in Q15, output in Q30 // @@ -41,7 +41,7 @@ public: x <<= 15; // scale to Q30 x -= _dcOffset; // remove DC - _dcOffset += x >> 14; // pole = (1.0 - 2^-14) = 0.99994 + _dcOffset += x >> 13; // pole = (1.0 - 2^-13) = 0.9999 } };