Standalone CLI for batch-enhancing lossy audio to FLAC via EchoVault's ONNX model
Project description
echovault-flac-enhancer
Standalone CLI for bulk-enhancing lossy audio (MP3/AAC/OGG/WMA) to FLAC using the same ONNX model EchoVault's desktop app uses, independent of Electron.
Install
pip install echovault-flac-enhancer
Usage
# One-time: download the model and verify everything works
echovault-flac-enhancer --setup
# Check runtime/deps/model status
echovault-flac-enhancer --check
# Enhance a single file
echovault-flac-enhancer --file-name path/to/track.mp3
# Enhance every lossy track in a folder
echovault-flac-enhancer --folder path/to/music [--recursive] [--skip-existing] [--output-dir DIR]
Outputs are written as <original-stem>.enhanced.flac alongside the source
(or under --output-dir, mirroring the source's relative subpath).
The model (~107MB) is cached at:
- Linux/macOS:
~/.cache/echovault-flac-enhancer/model/ - Windows:
%LOCALAPPDATA%\echovault-flac-enhancer\model\
Development
git clone https://github.com/EchoVaultHQ/EchoVault-FLAC-Enhancer.git
cd EchoVault-FLAC-Enhancer
python -m venv .venv && source .venv/bin/activate
pip install -e .[dev]
ruff check .
black --check .
pytest -m "not slow" # add -m slow to also run real network/model tests
Non-goals (v1)
- No GUI — CLI only.
- No parallel/multi-worker inference (
--workersmust be1). - No mid-batch resume — re-run with
--skip-existingto pick up where a killed batch left off. .m4afiles are not auto-globbed by--folder(ambiguous AAC vs. ALAC codec-in-container — pass an.m4aexplicitly via--file-nameif you're sure it's lossy AAC).
Releasing
Model assets (once per model version)
Before --setup works for end users, a maintainer must create a GitHub
Release on this repo and upload model.onnx + config.json as release
assets, matching the URL/hashes pinned in
echovault_flac_enhancer/data/manifest.json. Verify locally before
uploading:
sha256sum model.onnx config.json # compare against manifest.json's sha256/bytes
If the release tag doesn't match manifest.json's baseUrl, update
baseUrl and commit — every installed CLI resolves the download from
that field.
Package (PyPI)
Publishing is handled by .github/workflows/publish.yml via PyPI
Trusted Publishing (OIDC — no stored token), tied to the pypi
GitHub Actions environment.
- Normal path: bump the version in
pyproject.tomlandCHANGELOG.md, commit, then publish a GitHub Release for that tag. Therelease: publishedevent triggers the workflow automatically. - One-off / manual path: Actions tab → Publish workflow →
Run workflow → branch
main. Useful when the version has no release of its own yet (e.g. it already shares a tag with a model-asset release).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file echovault_flac_enhancer-0.1.1.tar.gz.
File metadata
- Download URL: echovault_flac_enhancer-0.1.1.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c3367b33f6b3098dc5ce69eea56f4a67ba7f24ea3d9960f560590e76cb084cb
|
|
| MD5 |
0e380ac06a560ec2f1adffe10d86d2b6
|
|
| BLAKE2b-256 |
b7881f70febfdb5400197bd19d65649ce59342a110e2e7a7ebccd3a75a3dc3eb
|
Provenance
The following attestation bundles were made for echovault_flac_enhancer-0.1.1.tar.gz:
Publisher:
publish.yml on EchoVaultHQ/EchoVault-FLAC-Enhancer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
echovault_flac_enhancer-0.1.1.tar.gz -
Subject digest:
8c3367b33f6b3098dc5ce69eea56f4a67ba7f24ea3d9960f560590e76cb084cb - Sigstore transparency entry: 2167828627
- Sigstore integration time:
-
Permalink:
EchoVaultHQ/EchoVault-FLAC-Enhancer@ad0c06b37e67361ce675c82c80223f1d5bd702de -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/EchoVaultHQ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ad0c06b37e67361ce675c82c80223f1d5bd702de -
Trigger Event:
release
-
Statement type:
File details
Details for the file echovault_flac_enhancer-0.1.1-py3-none-any.whl.
File metadata
- Download URL: echovault_flac_enhancer-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5708550017286bfda645332f034ddfc9933aad350be9e0aa6959062e18e6861
|
|
| MD5 |
3f3e26261cd6b4b38e1e150ef1f6bdb2
|
|
| BLAKE2b-256 |
6e3a2d6b15c4e0130037c31431c7b903da8f05fec30d293ea27fd8187e98f7b5
|
Provenance
The following attestation bundles were made for echovault_flac_enhancer-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on EchoVaultHQ/EchoVault-FLAC-Enhancer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
echovault_flac_enhancer-0.1.1-py3-none-any.whl -
Subject digest:
d5708550017286bfda645332f034ddfc9933aad350be9e0aa6959062e18e6861 - Sigstore transparency entry: 2167828632
- Sigstore integration time:
-
Permalink:
EchoVaultHQ/EchoVault-FLAC-Enhancer@ad0c06b37e67361ce675c82c80223f1d5bd702de -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/EchoVaultHQ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ad0c06b37e67361ce675c82c80223f1d5bd702de -
Trigger Event:
release
-
Statement type: