On 7/4/12 10:03 AM, Ivan Cohen wrote:
Hello dear subscribers of Music DSP !
I need your lights about a problem I have in a noise gate development
for guitar amplifiers. To prevent the noise gate close and open
successively on sustained notes, creating distorsion artefacts or
"chattering", developers include a hold functionnality or a hysteresis
control. They allow the noise gate to open and to close for different
threshold values.
I have a very simple noise gate working as a VST plug-in, including
variable threshold, ratio, attack and release controls
(expander-like). I won't talk about knees to simplify the problem. The
VCA attenuates the signal if my RMS attack/release envelop follower is
under the threshold. However, I have difficulties to implement the
"anti-chattering" controls, mainly with the hysteresis effect.
Example :
- I have a null signal. That means my gate is closed, and the noise
gate output is null too.
- Then, the amplitude of the input signal increases. The gate is still
closed, until the envelop is higher than the "opening threshold". That
means I have to apply a gain to my signal which is G1 = (envelope
value / opening threshold) power (ratio - 1) after a few simplifications.
- Next, the envelop amplitude is higher than the threshold. The output
signal is equal to the input signal.
Things become more complicated now :
- The amplitude of the signal decreases, but the envelop stays higher
than the "closing threshold", which is lower than the "opening
threshold" of course. The VCA still applies a gain of one and the gate
is still opened.
- Next, the envelop amplitude is below the "closing threshold". The
gate becomes closed, and a gain of G2 = (envelope value / closing
threshold) power (ratio - 1) is applied to the input signal.
- Then, the amplitude of the signal increases, but the envelop
amplitude stays lower than the "opening threshold". What is the
attenuation I must apply to my signal ? I can't apply G2, because it
is depending on the "closing threshold", and I can't apply G1, because
the gain must not change too fast.
So my question is : what is the best way to handle the move between
the gain G1 and the gain G2, while preventing chattering, and clicks ?
do you slew the gain signal?
--
r b-j r...@audioimagination.com
"Imagination is more important than knowledge."
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp