AudioVal 🎵
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 (
0for success,1for 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
👤 Author
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)
| File | Size | Uploaded | |
|---|---|---|---|
| audioval-1.0.4.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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