NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Pure Dart library to detect pops and clicks in WAV, AIFF and FLAC audio files using adaptive threshold analysis.
Last release 2 months ago
14 Jul 2026
Ships on a steady schedule
a new release about every 2 months
Nearly every release is documented
notes for 7 of 7 stable releases
Nothing withdrawn
no release was ever pulled
5 months old
7 releases · first in 2026
One column per month.
WAVE_FORMAT_EXTENSIBLE (0xFFFE) WAV support — PCM and IEEE float resolved via the SubFormat GUID; oversized fmt extensions (cbSize > 22) are now skipp
decodeWav() and WavData are now exported from the public library entry point, matching decodeAiff() and decodeFlac()analyseSamples() with an empty channel list returns a clean result instead of throwing RangeErrordecodePcmBytes() rejects a PcmFormat with zero channels or a bit depth below 8 with a descriptive ArgumentError instead of a bare division-by-zero erroralaw filesminConfidence and maxDefects now apply to clipping and dropout defects, not just clicks and pops[) no longer crash the CLI; a literal file with that name is still found--format override is now honoured instead of always auto-detecting--raw mode exit cleanly with code 3 instead of an unhandled exception\ separators now match (converted for package:glob)DetectorConfig.perChannel — each channel is scanned independently and defects carry their channel index, catching dropouts masked by the mono sum--per-channel, --max-defects, --no-clipping, --no-dropouts, --no-dc-offset; verbose text output now includes per-channel DC offsetanalyseFile() checks the file size before loading, so over-limit files fail fast without exhausting memorydart_flac ^0.0.6, lints ^6.1.0Adds FLAC support: native FLAC streams can now be analysed alongside WAV and AIFF.
Adds FLAC support: native FLAC streams can now be analysed alongside WAV and AIFF.
analyseFile() / analyseBytes(), and decoded directly with the new decodeFlac() function returning FlacDataflac_decoder.dart module wraps the pure-Dart dart_flac package; FLAC remains a no-native-dependency formatfLaC magic bytes and the .flac extensionUnsupportedFormatExceptionanalyse command and --format option accept flacPrebuilt audiodefect CLI binaries for linux-x64, macOS-arm64 and windows-x64 are attached below once the build completes.
- AIFF-C fl32, ulaw and alaw codec support - Full glob syntax in CLI analyse - Single-source packageVersion constant
Release v0.2.0
- AIFF-C fl32, ulaw and alaw codec support
- Full glob syntax in CLI analyse
- Single-source packageVersion constant
fl32 (32-bit big-endian float), ulaw (ITU-T G.711 μ-law) and alaw (ITU-T G.711 A-law)analyse command now accepts full glob syntax (*, **, ?, [abc], {a,b}) via the glob packagepackageVersion constant exported from the library; CLI --version now derives from a single sourcev0.1.0 — Additional defect types
Three new quality signals beyond pop/click:
DefectType.clipping) — flags runs of consecutive samples saturated at ±1.0DefectType.dropout) — flags unexpected digital silence mid-audio (surrounded by signal)AnalysisResult.dcOffsetPerChannelNew DetectorConfig options with sensible defaults:
clippingThreshold (0.99), clippingMinRun (3)dropoutSilenceThreshold (1e-4), dropoutMinMs (1.0), dropoutMaxMs (50.0)dcOffsetThreshold (0.01)detectClipping, detectDropouts, detectDcOffset toggles (all default true)DefectType.clipping) — flags runs of consecutive samples at ±1.0DefectType.dropout) — flags unexpected digital silence mid-audioAnalysisResult.dcOffsetPerChannelDetectorConfig thresholds: clippingThreshold, clippingMinRun, dropoutSilenceThreshold, dropoutMinMs, dropoutMaxMs, dcOffsetThreshold, and detectClipping/detectDropouts/detectDcOffset togglesRelicensed from GPL-3.0 to Apache-2.0
analyseBytes() , analysePcm() , and analyseSamples() are now synchronous — they return AnalysisResult directly instead of Future<AnalysisResult> . Onl
analyseBytes(), analysePcm(), and analyseSamples() are now synchronous — they return AnalysisResult directly instead of Future<AnalysisResult>. Only analyseFile() remains async (file I/O).sowt little-endian variant).aiff/.aif/.aifc extensionsanalyseBytes(), analysePcm(), and analyseSamples() are now synchronous — they return AnalysisResult directly instead of Future<AnalysisResult>. Only analyseFile() remains async (file I/O).sowt little-endian variant).aiff/.aif/.aifc extensionsPure Dart library to detect pops and clicks in WAV audio files using adaptive threshold analysis.
Pure Dart library to detect pops and clicks in WAV audio files using adaptive threshold analysis.
analysePcm() with PcmFormat descriptoranalyseSamples() for integration with other decodersmedian() and mad() statistical utilitiesdart pub global activate audio_defect_detector
audiodefect analyse recording.wav --sensitivity=high --output=json
audiodefect analyse decoded.raw --raw --sample-rate=44100 --bit-depth=16 --channels=2import 'package:audio_defect_detector/audio_defect_detector.dart';
final result = await analyseFile('recording.wav');
print('Found ${result.defects.length} defects');audiodefect with text and JSON outputanalysePcm() with PcmFormat descriptoranalyseSamples()median() and mad() statistical utilitiesdecodePcmBytes() for manual PCM-to-float conversion--raw mode with --sample-rate, --bit-depth, --channels, --float optionssowt little-endian variant).aiff/.aif/.aifc extensionsYour coding agent can read these notes before it upgrades. Set up the MCP server →