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.2.1.tar.gz (10.6 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.2.1-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for audio_glitch_detector-0.2.1.tar.gz
Algorithm Hash digest
SHA256 5e0cf581543392401bf9e4d6ec79b8c51907d12a14766a69e1f3a253c30601d1
MD5 5b4aaf8a0d8f938673808513e05465a1
BLAKE2b-256 14eaa5ecb60596daa57617f1bc4a48d0cbe0023ee66bfccefbf46c15ffd8c730

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for audio_glitch_detector-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d1675f1c49e72233e9b645e45307e5eeb2b5dc7e7396af71ee3d4405b92399f5
MD5 0641719f3dbde187da43e5a239e66440
BLAKE2b-256 54a9137690d07057a5e5adb1628e18a46101cde239ce20acf8a0f6d5423766c9

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