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
AudioSinkbacked 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.