Accord.Audio.Filters.EnvelopeFilter.ProcessFilter C# (CSharp) Метод

ProcessFilter() защищенный Метод

Processes the filter.
protected ProcessFilter ( Signal sourceData, Signal destinationData ) : void
sourceData Accord.Audio.Signal
destinationData Accord.Audio.Signal
Результат void
        protected unsafe override void ProcessFilter(Signal sourceData, Signal destinationData)
        {
            SampleFormat format = sourceData.SampleFormat;
            int channels = sourceData.Channels;
            int length = sourceData.Length;

            if (format == SampleFormat.Format32BitIeeeFloat)
            {
                float* src = (float*)sourceData.Data.ToPointer();
                float* dst = (float*)destinationData.Data.ToPointer();

                for (int i = 0; i < channels; i++, src++, dst++)
                    *dst = System.Math.Abs(*src);

                for (int i = channels; i < length; i++, src++, dst++)
                {
                    float abs = System.Math.Abs(*src);
                    *dst = dst[-channels] + Alpha * (abs - dst[-channels]);
                }
            }
        }