Adds a DC offset (voltage bias) to the audio samples. More...
#include <juce_Bias.h>
Public Member Functions | |
Bias () noexcept | |
FloatType | getBias () const noexcept |
Returns the DC bias. More... | |
double | getRampDurationSeconds () const noexcept |
void | prepare (const ProcessSpec &spec) noexcept |
Called before processing starts. More... | |
template<typename ProcessContext > | |
void | process (const ProcessContext &context) noexcept |
Processes the input and output buffers supplied in the processing context. More... | |
template<typename SampleType > | |
SampleType | processSample (SampleType inputSample) const noexcept |
Returns the result of processing a single sample. More... | |
void | reset () noexcept |
void | setBias (FloatType newBias) noexcept |
Sets the DC bias. More... | |
void | setRampDurationSeconds (double newDurationSeconds) noexcept |
Sets the length of the ramp used for smoothing gain changes. More... | |
Private Member Functions | |
void | updateRamp () noexcept |
Private Attributes | |
LinearSmoothedValue< FloatType > | bias |
double | rampDurationSeconds = 0 |
double | sampleRate = 0 |
Adds a DC offset (voltage bias) to the audio samples.
This is a useful preprocessor for asymmetric waveshaping when a waveshaper is bookended by a bias on input and a DC-offset removing high pass filter on output.
This is an extremely simple bias implementation that simply adds a value to a signal. More complicated bias behaviours exist in real circuits - for your homework ;).
|
inlinenoexcept |
Returns the DC bias.
References Bias< FloatType >::bias.
|
inlinenoexcept |
References Bias< FloatType >::rampDurationSeconds.
|
inlinenoexcept |
Called before processing starts.
References Bias< FloatType >::sampleRate, and Bias< FloatType >::updateRamp().
|
inlinenoexcept |
Processes the input and output buffers supplied in the processing context.
References FloatVectorOperations::add(), Bias< FloatType >::bias, and jassert.
|
inlinenoexcept |
Returns the result of processing a single sample.
References Bias< FloatType >::bias.
|
inlinenoexcept |
|
inlinenoexcept |
Sets the DC bias.
newBias | DC offset in range [-1, 1] |
References Bias< FloatType >::bias, and jassert.
|
inlinenoexcept |
Sets the length of the ramp used for smoothing gain changes.
References Bias< FloatType >::rampDurationSeconds, and Bias< FloatType >::updateRamp().
|
inlineprivatenoexcept |
References Bias< FloatType >::rampDurationSeconds, and LinearSmoothedValue< FloatType >::reset().
Referenced by Bias< FloatType >::prepare(), and Bias< FloatType >::setRampDurationSeconds().
|
private |
|
private |
|
private |
Referenced by Bias< FloatType >::prepare(), and Bias< FloatType >::reset().