interleave

Function interleave 

Source
pub fn interleave<T: Float>(channels: &[Vec<T>]) -> Vec<T>
Expand description

Interleave multiple channels into a single buffer.

Converts separate channels (vec![vec![L,L,L,...], vec![R,R,R,...]]) into interleaved format (e.g., [L,R,L,R,L,R,...] for stereo).

§Arguments

  • channels - Vector of audio channels

§Panics

Panics if channels is empty or if channels have different lengths.

§Example

use stft_rs::interleave;

let left = vec![1.0, 3.0, 5.0];
let right = vec![2.0, 4.0, 6.0];
let interleaved = interleave(&[left, right]);

assert_eq!(interleaved, vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0]);