Skip to main content

AudioVal 🎵

CI Python License: MIT

AudioVal is an advanced, high-performance CLI tool built for audiophiles, DJs, and archivists. It deeply scans massive music libraries to detect corrupted audio headers, broken files, and metadata tags that are completely empty or filled with blank spaces.

Powered by mutagen for robust audio parsing and rich for a beautiful, responsive terminal UI.


🚀 Features

  • Corrupt Header Detection: Natively catches sync errors, broken frames, and corrupted files using Mutagen.
  • Deep Tag Validation: Iterates through metadata dictionaries to ensure tags actually contain text, catching fields padded with empty spaces.
  • Blazing Fast Concurrency: Uses thread-pooling to process thousands of files simultaneously.
  • Beautiful Terminal UI: Live progress bars, color-coded summaries, and emoji-tagged alerts.
  • CI/CD Ready: Standardized exit codes (0 for success, 1 for errors) allow for easy pipeline integration.

📦 Installation

with pip

pip install audioval

from source (dev mode)

To install this package for global use on your system:

git clone [https://github.com/cumulus13/audioval.git](https://github.com/cumulus13/audioval.git)
cd audioval
pip install -e .

💻 Usage

Once installed, the audioval command is available globally in your terminal.

Basic Scan (Defaults to 4 workers, common audio formats):

audioval -d /path/to/your/music

Custom Extensions and High Concurrency: If you are scanning a massive NAS drive over a network and strictly want to check .flac and .ogg files using 8 parallel threads:

audioval --dir /Volumes/NAS/Music --ext flac ogg --workers 8

Available Options:

  • -d, --dir: Target directory to scan (Required)
  • -e, --ext: Space-separated list of extensions to scan (Default: .mp3 .flac .m4a .ogg .wav .wma)
  • -w, --workers: Number of concurrent threads (Default: 4)

🛠️ Development & Testing

This project uses pytest for unit testing and flake8 for linting.

# Install development dependencies including test coverage
pip install flake8 pytest pytest-cov build

# Run unit tests with a coverage report
pytest tests/ -v --cov=audioval --cov-report=term-missing

# Run linter
flake8 audioval

📄 License

MIT


👤 Author

Hadi Cahyadi

Buy Me a Coffee

Donate via Ko-fi

Support me on Patreon

Metadata

Release files for audioval 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for audioval 1.0.4
File Size Uploaded
audioval-1.0.4.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for audioval 1.0.4
File Interpreter ABI Platform
audioval-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 14.4 kB

Release files / audioval-1.0.4.tar.gz

Download URL audioval-1.0.4.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
543e3f81cafd65a1e870769baab5813ba8ade99dd381b92e8781e3c1abce81d5
BLAKE2b-256 checksum
How to use checksums
bbc9ec4e7262396f0a89464af533423e2fc76f8b2683b875e480d5d6d520f699
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / audioval-1.0.4-py3-none-any.whl

Download URL audioval-1.0.4-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ddbb1fa63a7caf4e43c3bc11d5403add6068024b349b3c8b6016f0d23374d12b
BLAKE2b-256 checksum
How to use checksums
36185f1a92159161d4433fa44c7e1ed5485e0087fd8d7bba8d70f0a80f4b9264
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page