Important
macOS first launch (no code signing yet). After dragging StemDeck to Applications, clear the Gatekeeper quarantine flag or macOS will say the app is damaged:
xattr -dr com.apple.quarantine /Applications/StemDeck.app
Which file do I download?
| Your setup | Download |
|---|---|
| Windows, NVIDIA GPU | StemDeck-Windows-x64.NVIDIA.zip
|
| Windows, no NVIDIA GPU | StemDeck-Windows-x64.zip
|
| Linux, NVIDIA GPU | StemDeck-Linux-x64.NVIDIA.tar.gz
|
| Linux, no NVIDIA GPU | StemDeck-Linux-x64.tar.gz
|
| macOS, Apple Silicon (M1-M4) | StemDeck-macOS-arm64.dmg
|
| macOS, Intel | StemDeck-macOS-x64.dmg
|
| Docker / Unraid | Nothing here, pull ghcr.io/stemdeckapp/stemdeck:0.17.3
|
Pick one. Each Windows and Linux download is complete on its own: unzip and run, no installer, no toolchain. Everything else in the asset list is used by StemDeck itself, in particular the small -app files are the updater's payload and will not run on their own.
What's new in 0.17.3
This one is mostly about getting StemDeck running on machines where it would not. Two setup failures that left people stuck before they could separate anything, and one that stopped an imported file being split a second time.
Apple Silicon Macs that could not run FFmpeg
StemDeck fetches FFmpeg on first launch. There are two sources for it: the main one publishes a build per chip, and the backup publishes Intel builds only. When the main source cannot be reached, an Apple Silicon Mac was handed an Intel build, and without Rosetta installed it will not run at all.
Setup did not notice, because it only checked the files were there. So the failure turned up much later, in the middle of a job, as Could not read file duration: [Errno 86] Bad CPU type in executable.
Setup now runs both binaries instead of checking they exist, so a mismatch is caught during setup rather than during a job. It says the architecture is wrong and offers Rosetta or a custom download URL, rather than pointing at your firewall. A bad download is also no longer permanent: it used to fail identically on every launch afterwards with nothing to do but delete the folder by hand, and setup now falls through to a working system FFmpeg or fetches a fresh copy over it.
What this does not fix: on Apple Silicon the backup source still has no arm64 build, so if the main source is unreachable StemDeck still cannot fetch a working FFmpeg on its own. It now stops at that step and says so, with two ways forward, instead of failing partway through a job.
NVIDIA builds that quietly ran on CPU
The NVIDIA build installs a CUDA version of torch at first run and picks which one from what your driver reports. A driver reporting CUDA 12.0 to 12.3 was sent to an index that has never published the torch version StemDeck installs, so the install failed with No matching distribution found, the CPU version went back in, and separation ran on the processor with a working GPU sitting idle.
Every CUDA 12 driver now gets a build that exists and runs on it. If that build installs but cannot launch a kernel, setup now tries a second one instead of dropping straight to CPU.
If you have an NVIDIA card and StemDeck has been running on the processor, this one is worth a look.
Splitting a file you imported yourself
Pressing Split stems on a track imported from a file threw an error and left the button reading "Process" for the rest of the session. The same press on a YouTube track worked.
Three things were wrong at once. The composer was holding the bare filename of an upload, so the button posted it as though it were a link. The button renamed itself permanently on the first submit of a session, successful or not. And underneath both, the button acted on whatever was in the composer rather than on the track you were looking at.
The song structure button says what it does
It is called "Detect structure" now, and hovering it explains that it applies to the next import rather than to a track you already have open.
Nothing about it has changed, only the name. It was read as the switch that shows and hides the sections bar, so clicking it on an open track looked broken: the button changed colour and nothing else moved. The sections bar has its own control, "Sections" in the Collapse row along the top, and the tooltip now points at it.
Three smaller things in the interface
The bullets in the Extract chips are gone. Each was a dot in the button's own text colour, repeating what the chip already said by changing its border, background and text.
The green dot on library rows now appears only when it means something. A finished import is the resting state of every row, so a dot on all of them marked nothing out. Importing, queued and unavailable keep theirs, and are easier to pick out for it.
The notification bell has moved into the library rail, under We Recommend. The top bar is the import and split controls, and a bell at the end of it read as part of that job.
Closes #634, #635, #636, #637 and #644.
Full changelog: v0.17.2...v0.17.3