Exemple #1
0
            /* apply filter to an array of values, adding result to output array */
            public void Apply(
                float[] XinVector,
                int XInVectorOffset,
                float[] YoutVector,
                int YoutVectorOffset,
                int VectorLength,
                float OutputScaling,
                SynthParamRec SynthParams)
            {
                LowShelfEqualizerRec Filter = this;

                IIR2DirectIMAcc(
                    ref Filter.iir,
                    XinVector,
                    XInVectorOffset,
                    YoutVector,
                    YoutVectorOffset,
                    VectorLength,
                    OutputScaling);
            }
Exemple #2
0
            public static void SetLowShelfEqualizerCoefficients(
                LowShelfEqualizerRec Filter,
                double Cutoff,
                double Slope,
                double Gain,
                double SamplingRate)
            {
                if ((Cutoff == Filter.OldCutoff) && (Slope == Filter.OldSlope) && (Gain == Filter.OldGain))
                {
                    return;
                }
                Filter.OldCutoff = Cutoff;
                Filter.OldSlope  = Slope;
                Filter.OldGain   = Gain;

                ComputeLowShelfEqualizerCoefficients(
                    ref Filter.iir,
                    Cutoff,
                    Slope,
                    Gain,
                    SamplingRate);
            }