JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::dsp::NoiseGate< SampleType > Class Template Reference

A simple noise gate with standard threshold, ratio, attack time and release time controls. More...

#include <juce_NoiseGate.h>

Collaboration diagram for juce::dsp::NoiseGate< SampleType >:

Public Member Functions

 NoiseGate ()
 Constructor. More...
 
void prepare (const ProcessSpec &spec)
 Initialises the processor. More...
 
template<typename ProcessContext >
void process (const ProcessContext &context) noexcept
 Processes the input and output samples supplied in the processing context. More...
 
SampleType processSample (int channel, SampleType inputValue)
 Performs the processing operation on a single sample at a time. More...
 
void reset ()
 Resets the internal state variables of the processor. More...
 
void setAttack (SampleType newAttack)
 Sets the attack time in milliseconds of the noise-gate. More...
 
void setRatio (SampleType newRatio)
 Sets the ratio of the noise-gate (must be higher or equal to 1). More...
 
void setRelease (SampleType newRelease)
 Sets the release time in milliseconds of the noise-gate. More...
 
void setThreshold (SampleType newThreshold)
 Sets the threshold in dB of the noise-gate. More...
 

Private Member Functions

void update ()
 

Private Attributes

SampleType attackTime = 1.0
 
SampleType currentRatio
 
BallisticsFilter< SampleType > envelopeFilter
 
SampleType ratio = 10.0
 
SampleType releaseTime = 100.0
 
BallisticsFilter< SampleType > RMSFilter
 
double sampleRate = 44100.0
 
SampleType threshold
 
SampleType thresholddB = -100
 
SampleType thresholdInverse
 

Detailed Description

template<typename SampleType>
class juce::dsp::NoiseGate< SampleType >

A simple noise gate with standard threshold, ratio, attack time and release time controls.

Can be used as an expander if the ratio is low.

@tags{DSP}

Constructor & Destructor Documentation

◆ NoiseGate()

template<typename SampleType >
juce::dsp::NoiseGate< SampleType >::NoiseGate ( )

Constructor.

Member Function Documentation

◆ prepare()

template<typename SampleType >
void juce::dsp::NoiseGate< SampleType >::prepare ( const ProcessSpec spec)

Initialises the processor.

◆ process()

template<typename SampleType >
template<typename ProcessContext >
void juce::dsp::NoiseGate< SampleType >::process ( const ProcessContext context)
inlinenoexcept

Processes the input and output samples supplied in the processing context.

References jassert, and juce::dsp::NoiseGate< SampleType >::processSample().

◆ processSample()

template<typename SampleType >
SampleType juce::dsp::NoiseGate< SampleType >::processSample ( int  channel,
SampleType  inputValue 
)

Performs the processing operation on a single sample at a time.

Referenced by juce::dsp::NoiseGate< SampleType >::process().

◆ reset()

template<typename SampleType >
void juce::dsp::NoiseGate< SampleType >::reset ( )

Resets the internal state variables of the processor.

◆ setAttack()

template<typename SampleType >
void juce::dsp::NoiseGate< SampleType >::setAttack ( SampleType  newAttack)

Sets the attack time in milliseconds of the noise-gate.

◆ setRatio()

template<typename SampleType >
void juce::dsp::NoiseGate< SampleType >::setRatio ( SampleType  newRatio)

Sets the ratio of the noise-gate (must be higher or equal to 1).

◆ setRelease()

template<typename SampleType >
void juce::dsp::NoiseGate< SampleType >::setRelease ( SampleType  newRelease)

Sets the release time in milliseconds of the noise-gate.

◆ setThreshold()

template<typename SampleType >
void juce::dsp::NoiseGate< SampleType >::setThreshold ( SampleType  newThreshold)

Sets the threshold in dB of the noise-gate.

◆ update()

template<typename SampleType >
void juce::dsp::NoiseGate< SampleType >::update ( )
private

Member Data Documentation

◆ attackTime

template<typename SampleType >
SampleType juce::dsp::NoiseGate< SampleType >::attackTime = 1.0
private

◆ currentRatio

template<typename SampleType >
SampleType juce::dsp::NoiseGate< SampleType >::currentRatio
private

◆ envelopeFilter

template<typename SampleType >
BallisticsFilter<SampleType> juce::dsp::NoiseGate< SampleType >::envelopeFilter
private

◆ ratio

template<typename SampleType >
SampleType juce::dsp::NoiseGate< SampleType >::ratio = 10.0
private

◆ releaseTime

template<typename SampleType >
SampleType juce::dsp::NoiseGate< SampleType >::releaseTime = 100.0
private

◆ RMSFilter

template<typename SampleType >
BallisticsFilter<SampleType> juce::dsp::NoiseGate< SampleType >::RMSFilter
private

◆ sampleRate

template<typename SampleType >
double juce::dsp::NoiseGate< SampleType >::sampleRate = 44100.0
private

◆ threshold

template<typename SampleType >
SampleType juce::dsp::NoiseGate< SampleType >::threshold
private

◆ thresholddB

template<typename SampleType >
SampleType juce::dsp::NoiseGate< SampleType >::thresholddB = -100
private

◆ thresholdInverse

template<typename SampleType >
SampleType juce::dsp::NoiseGate< SampleType >::thresholdInverse
private

The documentation for this class was generated from the following file: