Skip to content

fix: pin librosa <1 and add audioread explicitly (#407) - #408

Merged
thcp merged 1 commit into
mainfrom
fix/407-librosa-audioread-pin
Aug 21, 2026
Merged

fix: pin librosa <1 and add audioread explicitly (#407)#408
thcp merged 1 commit into
mainfrom
fix/407-librosa-audioread-pin

Conversation

@thcp

@thcp thcp commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Fixes Vocal split fails at runtime: librosa 1.0.0 drops audioread, which audio-separator still needs #407: librosa 1.0.0 dropped its audioread dependency, but audio-separator (vocal split, Phase 4 — Separation SOTA: RoFormer + lead/backing vocal split #275) still imports audioread directly. uv.lock already resolved librosa 0.11.0 so dev/CI never hit this, but the packaging scripts install from pyproject.toml rather than the lockfile, so the unbounded upper bound let shipped macOS/Windows/Linux runtime packs silently pick up librosa 1.0.0 and lose audioread, breaking the vocal-split subprocess only in the packaged artifact.
  • Pin librosa>=0.10,<1 and add audioread>=3.0 as an explicit dependency (same platform marker as audio-separator).
  • Add audio_separator/onnxruntime to all three packaging scripts' import verification (platform-guarded on Intel macOS, where the feature is deliberately excluded), so a broken vocal-split dependency chain fails the build instead of shipping.

Test plan

  • uv lock resolves cleanly (librosa 0.11.0, audioread 3.1.0)
  • ruff check / ruff format --check pass
  • pytest tests/ - no regressions vs. main (pre-existing Windows-only failures unrelated to this change: beatgrid numeric edge cases, watchdog signal semantics, Linux installer test)
  • CI green

librosa 1.0.0 dropped its audioread dependency, but audio-separator
(vocal split, #275) still imports audioread directly. uv.lock already
resolved librosa 0.11.0, so dev/CI never hit this, but the packaging
scripts install from pyproject.toml rather than the lockfile, so an
unbounded upper bound let the shipped macOS/Windows/Linux runtime
packs silently pick up librosa 1.0.0 and lose audioread, breaking only
the vocal-split subprocess in the packaged artifact.

Also add audio_separator/onnxruntime to all three packaging scripts'
import verification, platform-guarded on Intel macOS, so a broken
vocal-split dependency chain fails the build instead of shipping.
@thcp
thcp merged commit b50e221 into main Aug 21, 2026
10 checks passed
@thcp
thcp deleted the fix/407-librosa-audioread-pin branch August 21, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vocal split fails at runtime: librosa 1.0.0 drops audioread, which audio-separator still needs

1 participant