audio_processing_io library

File-backed audio processing utilities for Dart IO platforms.

Import package:audio_processing/audio_processing.dart when only portable processing APIs are needed. This library additionally exports the dart:io-backed WAV sink.

Classes

AudioDownmixer
Stateful-per-track interleaved PCM to mono downmixer.
AudioFrameProcessor
Synchronous stateful transform that may emit zero or more frames per input.
AudioMeter
Per-track RMS/peak meter with time-based attack and release smoothing.
AudioMeterReading
Immutable level measurement for one audio frame.
AudioMixer
Explicit mixer for one SynchronizedAudioBlock.
AudioRechunker
Repackages arbitrary frame sizes into deterministic fixed-size chunks.
AudioResampler
Streaming linear-interpolation resampler with isolated state per track.
AudioStreamKey
Stable key used to isolate transform state for simultaneous tracks.
AudioTimelineSynchronizer
Aligns independent tracks onto explicit fixed-size timeline blocks.
MultiTrackWavEncoder
Independent per-track collection of WavEncoder instances.
SynchronizedAudioBlock
One fixed-duration timeline block containing every configured track.
WavEncoder
In-memory streaming WAV encoder for one fixed-format audio track.
WavFileAudioSink
A single-use, bounded-memory WAV AudioSink backed by a local file.
WavFileAudioSinkSession
Prepared file-backed WAV recording session.
WavFileInfo
Parsed metadata from a canonical PCM WAV header.

Enums

AudioDownmixStrategy
Mono downmix weighting strategy.
AudioMixMode
Output normalization used by AudioMixer.
WavFileAbortPolicy
What a file-backed WAV sink does with accepted audio after an abort.
WavGapPolicy
How an encoder handles explicit or inferred timeline gaps.
WavSampleEncoding
PCM representation stored in a WAV data chunk.

Functions

inspectWav(Uint8List bytes) WavFileInfo
Parses metadata from a canonical 44-byte PCM WAV header.

Exceptions / Errors

AudioSynchronizationFailure
Raised when bounded timeline alignment cannot continue safely.