deinterleave method

List<Float32List> deinterleave()

Returns per-channel arrays (copies).

Implementation

List<Float32List> deinterleave() {
  final frames = frameCount;
  final out = List.generate(channels, (_) => Float32List(frames));
  for (int f = 0; f < frames; f++) {
    final base = f * channels;
    for (int c = 0; c < channels; c++) {
      out[c][f] = samples[base + c];
    }
  }
  return out;
}