public static Signal FromArray(Array signal, int size, int channels, int sampleRate,
SampleFormat format = SampleFormat.Format32BitIeeeFloat)
{
int sampleSize = GetSampleSize(format) / 8;
byte[] buffer = new byte[size * sampleSize];
Buffer.BlockCopy(signal, 0, buffer, 0, buffer.Length);
int samples = size / channels;
return new Signal(buffer, channels, samples, sampleRate, format);
}