LMMS
Loading...
Searching...
No Matches
juce::dsp::NoiseGate< SampleType > Class Template Reference

#include <juce_NoiseGate.h>

Public Member Functions

 NoiseGate ()
void setThreshold (SampleType newThreshold)
void setRatio (SampleType newRatio)
void setAttack (SampleType newAttack)
void setRelease (SampleType newRelease)
void prepare (const ProcessSpec &spec)
void reset ()
template<typename ProcessContext>
void process (const ProcessContext &context) noexcept
SampleType processSample (int channel, SampleType inputValue)

Private Member Functions

void update ()

Private Attributes

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

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.

◆ 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.

◆ 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 files: