Accord.Audio.ComplexSignal.Combine C# (CSharp) Method

Combine() public static method

Combines a set of windows into one full signal.
public static Combine ( ) : ComplexSignal
return ComplexSignal
        public static ComplexSignal Combine(params ComplexSignal[] signals)
        {
            // Compute common data
            int length = 0;
            int nchannels = signals[0].Channels;
            int sampleRate = signals[0].SampleRate;

            // Compute final length
            for (int i = 0; i < signals.Length; i++)
            {
                length += signals[i].Length;
            }

            // create channels
            ComplexSignal result = new ComplexSignal(nchannels, length, sampleRate);

            int pos = 0;
            foreach (ComplexSignal signal in signals)
            {
                Buffer.BlockCopy(signal.RawData, 0, result.RawData, pos, result.RawData.Length);
                pos += signal.RawData.Length;
            }

            return result;
        }