Skip to content

Releases: nsaintot/stemd

stemd 0.1.1

Choose a tag to compare

@nsaintot nsaintot released this 03 Sep 12:28
6b24cfb

macOS fix release. The 0.1.0 macOS build crashed on launch; this fixes it.

Only the macOS build changed. Windows and Linux are unaffected, so keep using the 0.1.0 downloads.

macOS

stemd-0.1.1-macos-arm64.dmg, Apple silicon, macOS 14 or later. Drag stemd to Applications.

sha256  59d7f9583b4e026392b21ad472810bc06975b32e07c15500ebeb41b7fd58b472

stemd 0.1.0

Choose a tag to compare

@nsaintot nsaintot released this 20 Aug 19:57
2687bbf

Three platforms. No weights in any of them: the first run downloads what the
chosen preset needs, 168 MB to 942 MB, from the
models-v2 release.

macOS

stemd-0.1.0-macos-arm64.dmg — Apple silicon, 13 MB. Drag stemd to Applications.

Signed with a Developer ID, notarized, and stapled twice over: the ticket is on
the app as well as on the image, so it opens without argument and a first launch
with no network does not have to ask Apple.

sha256  cf5298814f4c73cde2602b7577ac791dae2e6f8562e412870bfa630e4f842cdf

Windows

stemd-0.1.0-setup.exe — x64, 200 MB. Installs for you alone by default and
asks for no administrator; the first page offers all users instead.
stemd-0.1.0-windows-x64.zip, 236 MB, is the same files for anyone who would
rather not run an installer.

No CUDA is in the package, and none is needed to start: the binary delay-loads
it and settles for the CPU when it is absent. On a machine with an NVIDIA card,
tick the box at the end of the installer or run install-cuda.cmd once. That is
about 1.2 GB of NVIDIA's own redistributables, pinned by digest, and no toolkit
or repository is involved.

sha256  aa5cbb945d4512574d24243ac573095272f5a6e1813cc88f5966d0371748b174  setup.exe
sha256  6aa58921dc5461d7d6abfd1a1653ad0d36e7eb8f2ad912980fcff472596a711c  windows-x64.zip

Linux

stemd_0.1.0_amd64.deb — x86-64, 199 MB, built on Debian 13 against CUDA 13.3.

GPU code sm_80, 86, 89, 90, 120: Ampere through Blackwell
driver 580 or later
needs CUDA 13 runtime and cuDNN 9.5 or later, from NVIDIA's repositories
floor glibc 2.39 and libstdc++ 14, which Debian 13 and Ubuntu 24.04 have and Debian 12 and Ubuntu 22.04 do not
sha256  58e53c89a10dff5b1f0b129552b1d1fa0963216380a194a13bc2a5ea2575fb46

On Debian 13 the cuDNN dependency cannot resolve from any repository, because
NVIDIA publish no package for it yet. The
README has the two extra lines that
fix it.

Model artefacts v2 — MLX

Choose a tag to compare

@nsaintot nsaintot released this 15 Aug 16:52
bf6738d

Every model artefact stemd loads, converted to safetensors for MLX, and one it
has retired.

file sha256 bytes
htdemucs.safetensors 339d267a7a6983a11eedbdc00413c602a65e9b9103f695fb5c2b2a481cd9d297 168,005,865
htdemucs_ft.safetensors 53f03b1ad4b4d211025a35da65460ba61a17547adf9c0544cad0ebcc8d7bbabb 672,024,519
bs_polarformer.safetensors 9e08a5e075204e893a4eb393ae64d47177c76f11a306686db1343d7cc7c468f6 102,201,832
bs_roformer_viperx.safetensors fa296577206144929917601636b65ccdc407b6e6c2f209e4312d9d2b7b975a8a 639,109,056

stemd pins those digests and re-checks them on every load, so a mismatch fails
the install rather than loading whatever the network returned.

Presets. Fast is htdemucs. Balanced is htdemucs_ft. Quality is
bs_polarformer for the vocals and htdemucs_ft's drums specialist for the
rest — so having Balanced installed leaves it 102 MB to fetch rather than 774.

bs_roformer_viperx was Quality's vocals half until BS PolarFormer replaced it.
It is retired rather than withdrawn: nothing in stemd loads it any more, and the
file stays so that a build pinning the digest above still installs, and so the
comparison in docs/evaluation.md stays reproducible. The two score the same on
MUSDB and run at the same speed; PolarFormer leaves 13.5 dB less voice in the
harmonics on electronic material, which no benchmark caught and a listening test
did. It is also a third the parameters, and a sixth the bytes.

Provenance

The two demucs artefacts are mlx-community/demucs-mlx,
byte-identical, mirrored here so the app depends on one release rather than on
an upstream that could move or disappear.

Neither RoFormer has an upstream: nobody publishes an MLX BS-RoFormer. Both are
converted by tools/export/convert_roformer.py with the architecture and config
from ZFTurbo/Music-Source-Separation-Training
bs_polarformer from ZFTurbo's model_bs_polarformer_float16.ckpt,
bs_roformer_viperx from viperx's model_bs_roformer_ep_317_sdr_12.9755.ckpt.
Tensor names and values are unchanged and nothing is transposed — only the
container differs.

The float16 is the checkpoint's and not the converter's: it is the only form
PolarFormer's weights are published in, which is why its 51.1M parameters land
in 102 MB where viperx's 159.8M float32 take 639. The float32 ONNX doing the
rounds is these same values widened.

None of these weights are covered by this repository's licence. demucs is
MIT; the two RoFormer checkpoints are ZFTurbo's and viperx's respectively, and
their terms are theirs to state.

models-v1 holds the retired TorchScript traces, which nothing loads any more.

Model artefacts v1

Choose a tag to compare

@nsaintot nsaintot released this 11 Aug 07:05
bf6738d

TorchScript traces for Apple MPS, fetched by stemd on first run.

file preset sha256
htdemucs_mps.pt Quality 9a5d56dac50cc58258df8576d8fa76f61d8943fbb117c43f55f06ce96c609d65
htdemucs_mps.json f26265bc876887eac6934cc347a9a90c8da0b6b89d96199410180fed8c0564cc
hdemucs_mmi_mps.pt Speed dfed3230fb735772502bb4f9453810b84bf574a7d03ed6dc823b28b4f6327975
hdemucs_mmi_mps.json 00b131cc07b352f977c005485b991502d13f8c05a44813c3b3fe6169e2a18688

Digests are pinned in the client and verified before a download is used. Do not
replace these assets in place — publish a new tag instead, or existing installs
will fail their checksum.

Traced from facebookresearch/demucs pretrained models; see the README on
provenance.