Skip to main content

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

echovault-flac-enhancer --check output

# Enhance a single file
echovault-flac-enhancer --file-name path/to/track.mp3

echovault-flac-enhancer --file-name output

Spectrogram before (MP3) and after (enhanced FLAC) — note the recovered high-frequency content above the MP3's cutoff:

Before (MP3) After (enhanced FLAC)
MP3 spectrogram Enhanced FLAC spectrogram
# Enhance every lossy track in a folder
echovault-flac-enhancer --folder path/to/music [--recursive] [--skip-existing] [--output-dir DIR]

echovault-flac-enhancer --folder output

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 (--workers must be 1).
  • No mid-batch resume — re-run with --skip-existing to pick up where a killed batch left off.
  • .m4a files are not auto-globbed by --folder (ambiguous AAC vs. ALAC codec-in-container — pass an .m4a explicitly via --file-name if 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.toml and CHANGELOG.md, commit, then publish a GitHub Release for that tag. The release: published event 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).

Release files for echovault-flac-enhancer 0.2.0

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

Source distribution (sdist)

Source distribution for echovault-flac-enhancer 0.2.0
File Size Uploaded
echovault_flac_enhancer-0.2.0.tar.gz 1.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for echovault-flac-enhancer 0.2.0
File Interpreter ABI Platform
echovault_flac_enhancer-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / echovault_flac_enhancer-0.2.0.tar.gz

Download URL echovault_flac_enhancer-0.2.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
af2bc7037cdda24719de4a84b17a7ec18006e1faa45e685615797ad9a0ec3a5d
BLAKE2b-256 checksum
How to use checksums
6473dae2eaa104a9028dad6ef7f9e270df0f8679a32537bcb8daacb107fda495
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 15, 2026.

Transparency log

Release files / echovault_flac_enhancer-0.2.0-py3-none-any.whl

Download URL echovault_flac_enhancer-0.2.0-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ef14009b5e570e333adc5e0be0b36cf9eb2847a506816bc0de488a165c784d0
BLAKE2b-256 checksum
How to use checksums
1e422f140279440101024ca22e9c574f6d3e8a8434d42c3fd791e1407264f98a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

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