Skip to main content

Detect audio glitches and discontinuities in sinusoidal audio signals

Project description

Audio Glitch Detector

PyPI version Python 3.12+ License: MIT

Detect audio glitches and discontinuities in sinusoidal audio signals by analyzing the signal derivative.

Important: This tool is will only work with sinusoidal audio signals.

Limitations

The algorithm detects discontinuities, so glitches that does not directly produce discontinuities might not be picked up. It can detect single sample errors in a sine wave. The test files in test_files/ show cases where the algorithm works well.

Installation

From PyPI

pip install audio-glitch-detector

From source with uv (development)

git clone https://github.com/kaspernyhus/audio-glitch-detector
cd audio-glitch-detector
uv sync --dev

Quick Start

Command Line Usage

Analyze a WAV file with automatic threshold:

audio-glitch-detector -f path/to/audio.wav

Monitor live audio stream:

audio-glitch-detector

Save glitch blocks for analysis:

audio-glitch-detector -f audio.wav --save-blocks

Library Usage

see examples/ for usage examples.

Visual Analysis

When using --save-blocks, glitch blocks (max 50) are saved as .wav files and with waveform visualizations showing the derivative analysis:

Glitch Block Visualization

Test Files

Validate the detector with test files with a known number of discontinuities:

audio-glitch-detector -f test_files/sine_discont_2_mono.wav

Expected output:

Number of discontinuities detected: 2
0:00:01.892857
0:00:03.288367

How It Works

  1. Derivative Analysis: Calculates the first derivative of audio samples
  2. Threshold Detection: Uses 99.5th percentile of derivative distribution
  3. Peak Identification: Finds samples exceeding the threshold

Development

Setup

uv sync --dev

Run the application

uv run audio-glitch-detector --help

Run tests

uv run pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

audio_glitch_detector-0.1.0.tar.gz (12.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

audio_glitch_detector-0.1.0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file audio_glitch_detector-0.1.0.tar.gz.

File metadata

File hashes

Hashes for audio_glitch_detector-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9567abfb2732b815cbaa1333ea5b7e4c506b243db9a44fa64db23c5bd4c33617
MD5 ab7dde10624df7c0da93d01ed4273bf5
BLAKE2b-256 f11cd83ecab7cdd982e39111ab2ac9611e7a4be4417f590654475659cfe248ba

See more details on using hashes here.

File details

Details for the file audio_glitch_detector-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for audio_glitch_detector-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a132c36c8253c8f391b737f885751bff918f4f13447a87620613c6eaa69c195
MD5 7ad815309cf10ef49935e95f42193488
BLAKE2b-256 d1c865ab63d82059a867ef5f30e2c5174f5eb8ea68ceadea1c289611b9382242

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page