ASPiK SDK
|
Functions | |
bool | checkFloatUnderflow (double &value) |
Perform underflow check; returns true if we did underflow (user may not care) More... | |
double | doLinearInterpolation (double x1, double x2, double y1, double y2, double x) |
performs linear interpolation of x distance between two (x,y) points; returns interpolated value More... | |
double | doLinearInterpolation (double y1, double y2, double fractional_X) |
performs linear interpolation of fractional x distance between two adjacent (x,y) points; returns interpolated value More... | |
double | doLagrangeInterpolation (double *x, double *y, int n, double xbar) |
implements n-order Lagrange Interpolation More... | |
void | boundValue (double &value, double minValue, double maxValue) |
Bound a value to min and max limits. More... | |
double | doUnipolarModulationFromMin (double unipolarModulatorValue, double minValue, double maxValue) |
Perform unipolar modulation from a min value up to a max value using a unipolar modulator value. More... | |
double | doUnipolarModulationFromMax (double unipolarModulatorValue, double minValue, double maxValue) |
Perform unipolar modulation from a max value down to a min value using a unipolar modulator value. More... | |
double | doBipolarModulation (double bipolarModulatorValue, double minValue, double maxValue) |
Perform bipolar modulation about a center that his halfway between the min and max values. More... | |
double | unipolarToBipolar (double value) |
calculates the bipolar [-1.0, +1.0] value FROM a unipolar [0.0, +1.0] value More... | |
double | bipolarToUnipolar (double value) |
calculates the unipolar [0.0, +1.0] value FROM a bipolar [-1.0, +1.0] value More... | |
double | raw2dB (double raw) |
calculates dB for given input More... | |
double | dB2Raw (double dB) |
converts dB to raw value More... | |
double | peakGainFor_Q (double Q) |
calculates the peak magnitude for a given Q More... | |
double | dBPeakGainFor_Q (double Q) |
calculates the peak magnitude in dB for a given Q More... | |
double | doWhiteNoise () |
calculates a random value between -1.0 and +1.0 More... | |
double | sgn (double xn) |
calculates sgn( ) of input More... | |
double | calcWSGain (double xn, double saturation, double asymmetry) |
calculates gain of a waveshaper More... | |
double | atanWaveShaper (double xn, double saturation) |
calculates arctangent waveshaper More... | |
double | tanhWaveShaper (double xn, double saturation) |
calculates hyptan waveshaper More... | |
double | softClipWaveShaper (double xn, double saturation) |
calculates hyptan waveshaper More... | |
double | fuzzExp1WaveShaper (double xn, double saturation, double asymmetry) |
calculates fuzz exp1 waveshaper More... | |
double | getMagResponse (double theta, double a0, double a1, double a2, double b1, double b2) |
returns the magnitude resonse of a 2nd order H(z) transfer function More... | |
ComplexNumber | complexMultiply (ComplexNumber c1, ComplexNumber c2) |
returns the complex product of two complex numbers More... | |
void | calcEdgeFrequencies (double fc, double Q, double &f_Low, double &f_High) |
calculagte low and high edge frequencies of BPF or BSF More... | |
int | findEdgeTargetBin (double testFreq, double bin1Freq) |
find bin for target frequency More... | |
bool | getTransitionBandData (double testFreq, double bin1Freq, unsigned int relax_Bins, TransitionBandData &transitionData) |
get bin data for a filter's transitino band (see FX book for details) More... | |
bool | calculateBrickwallMagArray (BrickwallMagData &magData) |
calculate an arra of magnitude points from brickwall specifications More... | |
bool | calculateAnalogMagArray (AnalogMagData &magData) |
calculate an arra of magnitude points from analog filter specifications More... | |
void | freqSample (int N, double A[], double h[], int symm) |
calcuate the IR for an array of magnitude points using the frequency sampling method. NOTE: very old function that is all over the internet. More... | |
double | getMagnitude (double re, double im) |
calculates magnitude of a complex numb er More... | |
double | getPhase (double re, double im) |
calculates phase of a complex numb er More... | |
double | principalArg (double phaseIn) |
calculates proncipal argument of a phase value; this is the wrapped value on the range of [-pi, +pi] More... | |
bool | resample (double *input, double *output, uint32_t inLength, uint32_t outLength, interpolation interpType=interpolation::kLinear, double scalar=1.0, double *outWindow=nullptr) |
function that resamples an input array of length N into an output array of length M. You can set the interpolation type (linear or lagrange) and you can supply an optional window array that the resampled array will be processed through. More... | |
std::unique_ptr< double[]> | makeWindow (unsigned int windowLength, unsigned int hopSize, windowType window, double &gainCorrectionValue) |
creates a new std::unique_ptr<double[]> array for a given window lenght and type. More... | |
unsigned int | countForRatio (rateConversionRatio ratio) |
returns the up or downsample ratio as a numeric value More... | |
double * | getFilterIRTable (unsigned int FIRLength, rateConversionRatio ratio, unsigned int sampleRate) |
returns the up or downsample ratio as a numeric value More... | |
double ** | decomposeFilter (double *filterIR, unsigned int FIRLength, unsigned int ratio) |
performs a polyphase decomposition on a big FIR into a set of sub-band FIRs More... | |
SpeakerArrangement | Steinberg::Vst::ASPiK::getSupportedSpeakerArrangement (uint32_t index) |
implements n-order Lagrange Interpolation More... | |
uint32_t | Steinberg::Vst::ASPiK::getChannelFormatForSpkrArrangement (SpeakerArrangement arr) |
implements n-order Lagrange Interpolation More... | |
The FXFunctions folder contains files that implement 54 audio plugin classes.
|
inline |
calculates arctangent waveshaper
xn | - the input value |
saturation | - the saturation control |
|
inline |
calculates the unipolar [0.0, +1.0] value FROM a bipolar [-1.0, +1.0] value
value | - value to convert |
|
inline |
Bound a value to min and max limits.
value | - value to bound |
minValue | - lower bound limit |
maxValue | - upper bound limit |
|
inline |
calculagte low and high edge frequencies of BPF or BSF
fc | - the center frequency of the BPF or BSF |
Q | - the Q (fc/BW) of the filter |
f_Low | - the returned low edge frequency |
f_High | - the returned high edge frequency |
|
inline |
calculate an arra of magnitude points from analog filter specifications
magData | - the the target magnitude data |
|
inline |
calculate an arra of magnitude points from brickwall specifications
magData | - the the target magnitude data |
|
inline |
calculates gain of a waveshaper
xn | - the input value |
saturation | - the saturation control |
asymmetry | - the degree of asymmetry |
|
inline |
Perform underflow check; returns true if we did underflow (user may not care)
value | - the value to check for underflow |
|
inline |
returns the complex product of two complex numbers
c1,c2 | - complex numbers to multiply |
|
inline |
returns the up or downsample ratio as a numeric value
ratio | - enum class ratio value |
|
inline |
converts dB to raw value
dB | - value to convert to raw |
|
inline |
calculates the peak magnitude in dB for a given Q
Q | - the Q value |
|
inline |
performs a polyphase decomposition on a big FIR into a set of sub-band FIRs
filterIR | - pointer to filter IR array |
FIRLength | - lenght of IR array |
ratio | - up or down sampling ratio |
|
inline |
Perform bipolar modulation about a center that his halfway between the min and max values.
bipolarModulatorValue | - modulation value on range [-1.0, +1.0] |
minValue | - lower modulation limit |
maxValue | - upper modulation limit |
|
inline |
implements n-order Lagrange Interpolation
x | - Pointer to an array containing the x-coordinates of the input values |
y | - Pointer to an array containing the y-coordinates of the input values |
n | - the order of the interpolator, this is also the length of the x,y input arrays |
xbar | - The x-coorinates whose y-value we want to interpolate |
|
inline |
performs linear interpolation of x distance between two (x,y) points; returns interpolated value
x1 | - the x coordinate of the first point |
x2 | - the x coordinate of the second point |
y1 | - the y coordinate of the first point |
y2 | - the 2 coordinate of the second point |
x | - the interpolation location |
|
inline |
performs linear interpolation of fractional x distance between two adjacent (x,y) points; returns interpolated value
y1 | - the y coordinate of the first point |
y2 | - the 2 coordinate of the second point |
x | - the interpolation location as a fractional distance between x1 and x2 (which are not needed) |
|
inline |
Perform unipolar modulation from a max value down to a min value using a unipolar modulator value.
unipolarModulatorValue | - modulation value on range [0.0, +1.0] |
minValue | - lower modulation limit |
maxValue | - upper modulation limit |
|
inline |
Perform unipolar modulation from a min value up to a max value using a unipolar modulator value.
unipolarModulatorValue | - modulation value on range [0.0, +1.0] |
minValue | - lower modulation limit |
maxValue | - upper modulation limit |
|
inline |
calculates a random value between -1.0 and +1.0
|
inline |
find bin for target frequency
testFreq | - the target frequency |
bin1Freq | - the frequency of bin 1 |
|
inline |
calcuate the IR for an array of magnitude points using the frequency sampling method. NOTE: very old function that is all over the internet.
N | - Number of filter coefficients |
A[] | - Sample points of desired response [N/2] |
symmetry | - Symmetry of desired filter |
h[] | - the output array of impulse response |
|
inline |
calculates fuzz exp1 waveshaper
xn | - the input value |
saturation | - the saturation control |
uint32_t Steinberg::Vst::ASPiK::getChannelFormatForSpkrArrangement | ( | SpeakerArrangement | arr | ) |
implements n-order Lagrange Interpolation
SpeakerArrangement | the VST speaker arrangement |
|
inline |
returns the up or downsample ratio as a numeric value
FIRLength | - lenght of FIR |
ratio | - the conversinon ratio |
sampleRate | - the sample rate |
|
inline |
calculates magnitude of a complex numb er
re | - complex number real part |
im | - complex number imaginary part |
|
inline |
returns the magnitude resonse of a 2nd order H(z) transfer function
theta | - the angular frequency to apply |
a0,a1,a2,b1,b2 | - the transfer function coefficients |
|
inline |
calculates phase of a complex numb er
re | - complex number real part |
im | - complex number imaginary part |
SpeakerArrangement Steinberg::Vst::ASPiK::getSupportedSpeakerArrangement | ( | uint32_t | index | ) |
implements n-order Lagrange Interpolation
index | index of channel I/O struct |
|
inline |
get bin data for a filter's transitino band (see FX book for details)
testFreq | - the target frequency |
bin1Freq | - the frequency of bin 1 |
relax_Bins | - numebr of bins to relax the filter specification |
transitionData | - the output parameter containing the data |
|
inline |
creates a new std::unique_ptr<double[]> array for a given window lenght and type.
windowLength | - length of window array (does NOT need to be power of 2) |
hopSize | - hopSize for vococerf applications, may set to 0 for non vocoder use |
gainCorrectionValue | - return variable that contains the window gain correction value |
|
inline |
calculates the peak magnitude for a given Q
Q | - the Q value |
|
inline |
calculates proncipal argument of a phase value; this is the wrapped value on the range of [-pi, +pi]
phaseIn | - value to convert |
|
inline |
calculates dB for given input
raw | - value to convert to dB |
|
inline |
function that resamples an input array of length N into an output array of length M. You can set the interpolation type (linear or lagrange) and you can supply an optional window array that the resampled array will be processed through.
input | - input array |
output | - output array |
inLength | - length N of input buffer |
outLength | - length M of output buffer |
interpType | - linear or lagrange interpolation |
scalar | - output scaling value (optional) |
outWindow | - output windowing buffer (optional) |
|
inline |
calculates sgn( ) of input
xn | - the input value |
|
inline |
calculates hyptan waveshaper
xn | - the input value |
saturation | - the saturation control |
|
inline |
calculates hyptan waveshaper
xn | - the input value |
saturation | - the saturation control |
|
inline |
calculates the bipolar [-1.0, +1.0] value FROM a unipolar [0.0, +1.0] value
value | - value to convert |