Releases: openmirlab/all-in-one-infer
Releases · openmirlab/all-in-one-infer
Release list
3.1.0 — pure pip install: madmom replaced by madmom-infer
- madmom replaced by madmom-infer: installation is now plain
pip install all-in-one-infer— no git installs, no post-install hooks. Verified: correctly-rounded STFT magnitude (1 ULP fix over madmom's np.abs bug) closure-proven, and end-to-end on 3 real songs all discrete outputs (bpm/beats/downbeats/segments) were exactly identical - Fixed a fresh-install crash on torchaudio ≥2.11 (missing torchcodec decoders): wav/flac input loading now goes through soundfile (proven bit-identical), mp3 stays on torchaudio
- demucs-infer bumped to >=4.2.2 (brings its own torchaudio-2.11 fix)
- Revived 3 E2E tests (test_analyze/test_sonify/test_visualize) that were silently dead since the 3.0.0 rename (stale imports)
- Removed setup.py — its post-install madmom hook never actually fired under pip/uv
v3.0.1 — activation_fps field, README rename announcement
Added
AnalysisResult.activation_fps— the frame rate (Hz) of theactivationsarray, populated whenever activations are requested, so downstream consumers can map activation frame indices to timestamps (#2). Backward compatible: older saved JSONs load withNone.
Documentation
- Official rename announcement (all-in-one-fix → all-in-one-infer) now front and center in the README; stale
allin1imports in current-usage examples fixed; obsolete NATTEN-required claims replaced with the pure-PyTorch reality; opt-in performance flags documented in CLI and Python API sections.
v3.0.0 — all-in-one-infer: NATTEN-free, 25% faster, one-click install
First release under the new name all-in-one-infer (formerly all-in-one-fix; Python package renamed allin1fix → allin1_infer — breaking import change, hence the major version).
Highlights
- NATTEN dependency removed: neighborhood attention reimplemented in pure PyTorch, verified bit-identical to NATTEN 0.17.5 (golden fixtures, layer-level A/B, and end-to-end analyze() comparison on real music — beats/downbeats/segments all exactly equal). Installs with a single
pip installon any torch ≥ 2.0 (upper bound lifted), CPU-only machines, macOS/Apple Silicon, and Windows. No C++ toolchain. NATTEN stays available as an optional[natten]extra for fused GPU kernels. - ~25% faster inference, bit-identical output: TF32 matmul, parallel ensemble checkpoint downloads, in-memory stem pipeline.
- Inference-only: training code removed (see upstream mir-aidj/all-in-one for training).
- Opt-in performance knobs (
compile_model,demucs_overlap,demucs_fp16) — default off, accuracy-affecting ones clearly documented. - Deep-module refactor + navigation headers throughout; publish workflow gates on tests.
Install
pip install all-in-one-infer
pip install git+https://github.com/CPJKU/madmom # last remaining extra step (madmom-infer, its pure-Python replacement, is in development)
v2.0.4 - PyTorch Compatibility Fix
Fix: PyTorch Compatibility Constraint
This release fixes compatibility issues with PyTorch 2.8+ by constraining the PyTorch version requirement.
Changes
- Fixed: Constrained PyTorch to
>=2.0.0,<2.8.0to prevent compatibility issues with natten 0.17.5 - Reason: PyTorch 2.8+ removed internal
_device_tAPI that natten 0.17.5 depends on - Updated: README with compatibility warnings and version constraints
Compatibility
- ✅ PyTorch 2.0-2.7: Fully supported
- ❌ PyTorch 2.8+: Not compatible (requires natten 0.21+ support - coming in future release)
Installation
pip install torch>=2.0.0,<2.8.0
pip install all-in-one-fix --no-build-isolationv2.0.3 - Fix Missing Subpackages
Bug Fixes
- Fixed missing subpackages: Changed package discovery to include all subpackages (models/, postprocessing/, training/) in PyPI distribution
- This fixes the
ModuleNotFoundError: No module named 'allin1fix.models'error when installing from PyPI
Changes
- Updated
pyproject.tomlto use automatic package discovery with{find = {}} - Ensures all subpackages are properly included in the wheel distribution
Installation
pip install torch>=2.0.0
pip install all-in-one-fix --no-build-isolation
pip install git+https://github.com/CPJKU/madmom # If auto-install failsv2.0.2 - PyPI Project Name Consistency
What's New
- ✨ Consistent Naming: PyPI project name now matches repository name ()
- 🔧 Python Package: Still uses for imports (no code changes needed)
- 📚 Documentation: Updated all references to reflect new PyPI project name
Installation
pip install torch>=2.0.0
pip install all-in-one-fix --no-build-isolationNote:
- Install with:
pip install all-in-one-fix(PyPI project name) - Import with:
import allin1fix(Python package name) - CLI:
allin1fix --help(based on Python package name)
Changes
- Changed PyPI project name from
allin1fixtoall-in-one-fix(matches repository) - Updated all documentation and installation instructions
- Python package name remains
allin1fix(backward compatible for imports) - Updated PyPI URLs and trusted publishing configuration
Consistency
Now matches the pattern used by other projects:
- ✅ PyPI project name:
all-in-one-fix(matches repository) - ✅ Repository name:
all-in-one-fix - ✅ Python package:
allin1fix(for imports)
v2.0.1 - Auto-install madmom
What's New
- ✨ Auto-install madmom: madmom is now automatically installed from git during package installation
- 🔧 Build system: Switched to setuptools backend to support post-install hooks
- 📚 Documentation: Updated installation instructions to reflect automatic madmom installation
- 🐛 Fix: Version now correctly reads from about.py
Installation
pip install torch>=2.0.0
pip install allin1fix --no-build-isolationmadmom will be automatically installed during the allin1fix installation process.
Changes
- Added post-install hook in setup.py to auto-install madmom from git
- Updated README.md with simplified installation instructions
- Fixed version reading for setuptools build backend
- Improved error messages if madmom installation fails
v2.0.0 - PyPI Ready Release
🎉 First PyPI Release
This release makes allin1fix available on PyPI with comprehensive installation documentation.
✨ Key Features
- 📦 Available on PyPI:
pip install torch>=2.0.0 && pip install allin1fix --no-build-isolation - 🔧 All dependencies install from PyPI (demucs-infer)
- 📚 Comprehensive installation documentation
- 🚀 Ready for production use
📝 Installation
pip install torch>=2.0.0 && pip install allin1fix --no-build-isolation🔧 Changes
- Updated README with PyPI installation instructions
- Removed worzpro references from documentation
- Updated pyproject.toml with proper maintainer information
- Added PyPI publishing documentation
- Updated GitHub workflow for automated PyPI publishing
- Consolidated all documentation into single README.md
- Fixed build configuration (removed torch from build-system.requires)
📦 Package Information
- Version: 2.0.0
- Python: 3.9+
- PyTorch: 2.0.0+
- License: MIT