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)