|
LMMS
|
#include <juce_Phaser.h>
Public Member Functions | |
| Phaser () | |
| void | setRate (SampleType newRateHz) |
| void | setDepth (SampleType newDepth) |
| void | setCentreFrequency (SampleType newCentreHz) |
| void | setFeedback (SampleType newFeedback) |
| void | setMix (SampleType newMix) |
| void | prepare (const ProcessSpec &spec) |
| void | reset () |
| template<typename ProcessContext> | |
| void | process (const ProcessContext &context) noexcept |
Private Member Functions | |
| void | update () |
Private Attributes | |
| Oscillator< SampleType > | osc |
| OwnedArray< FirstOrderTPTFilter< SampleType > > | filters |
| SmoothedValue< SampleType, ValueSmoothingTypes::Linear > | oscVolume |
| std::vector< SmoothedValue< SampleType, ValueSmoothingTypes::Linear > > | feedbackVolume { 2 } |
| DryWetMixer< SampleType > | dryWet |
| std::vector< SampleType > | lastOutput { 2 } |
| AudioBuffer< SampleType > | bufferFrequency |
| SampleType | normCentreFrequency = 0.5 |
| double | sampleRate = 44100.0 |
| int | updateCounter = 0 |
| SampleType | rate = 1.0 |
| SampleType | depth = 0.5 |
| SampleType | feedback = 0.0 |
| SampleType | mix = 0.5 |
| SampleType | centreFrequency = 1300.0 |
Static Private Attributes | |
| static constexpr int | maxUpdateCounter = 4 |
| static constexpr int | numStages = 6 |
A 6 stage phaser that modulates first order all-pass filters to create sweeping notches in the magnitude frequency response.
This audio effect can be controlled with standard phaser parameters: the speed and depth of the LFO controlling the frequency response, a mix control, a feedback control, and the centre frequency of the modulation.
@tags{DSP}
| Phaser::Phaser | ( | ) |
Constructor.
| void Phaser::prepare | ( | const ProcessSpec & | spec | ) |
Initialises the processor.
|
inlinenoexcept |
Processes the input and output samples supplied in the processing context.
| void Phaser::reset | ( | ) |
Resets the internal state variables of the processor.
| void Phaser::setCentreFrequency | ( | SampleType | newCentreHz | ) |
Sets the centre frequency (in Hz) of the phaser all-pass filters modulation.
| void Phaser::setDepth | ( | SampleType | newDepth | ) |
Sets the volume (between 0 and 1) of the LFO modulating the phaser all-pass filters.
| void Phaser::setFeedback | ( | SampleType | newFeedback | ) |
Sets the feedback volume (between -1 and 1) of the phaser. Negative can be used to get specific phaser sounds.
| void Phaser::setMix | ( | SampleType | newMix | ) |
Sets the amount of dry and wet signal in the output of the phaser (between 0 for full dry and 1 for full wet).
| void Phaser::setRate | ( | SampleType | newRateHz | ) |
Sets the rate (in Hz) of the LFO modulating the phaser all-pass filters. This rate must be lower than 100 Hz.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticconstexprprivate |
|
private |
|
private |
|
staticconstexprprivate |
|
private |
|
private |
|
private |
|
private |
|
private |