/** * Pleco-Xa io/wav — the ONE WAV codec. * Replaces three divergent encoders (xa-wav-encoder, audio-utils.exportBufferAsWav, * xa-file._encodeWAV), two of which wrote channel-block PCM under an interleaved * header (garbled stereo). Pure JS, runs in Node, browsers, and workers. */ /** * Encode planar channel data as an interleaved 16-bit PCM WAV file. * @param {Float32Array[]} channels - One Float32Array per channel (equal lengths) * @param {number} sampleRate * @returns {ArrayBuffer} Complete RIFF/WAVE file contents */ export function encodeWav(channels: Float32Array[], sampleRate: number): ArrayBuffer; /** * Decode a WAV file into planar Float32Array channels. * Supports PCM 16/24/32-bit int and 32-bit float, standard RIFF chunk walking. * @param {ArrayBuffer} buffer * @returns {{channels: Float32Array[], sampleRate: number}} */ export function decodeWav(buffer: ArrayBuffer): { channels: Float32Array[]; sampleRate: number; };