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.0
|
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.0
Two things this release is about: getting audio out of StemDeck without a dialog, and being able to use it from a device that is not the one it runs on.
Drag a stem or a loop straight into your DAW
Mark a loop and every lane grows a small handle inside the right edge of the selection, in that lane's own colour. Drag one and you get that track's slice of the loop. A wider handle on the top edge carries the mix, with the fader balance, click track and count-in you set.
Drop it on a DAW timeline or into a folder. It is one action instead of three.
A lane handle gives you that stem on its own, at full level, the way the lane's download button already does. Mute and solo shape the mix, so those apply to the handle on the top edge rather than to a single track.
Files land in an exports folder next to your stems folder, and nothing is ever cleaned out of it automatically. That is deliberate: DAWs like Reaper point at a dropped file where it lies rather than copying it into the project, so a file that got tidied away later would take the project's audio with it. You can move the folder in Settings.
Desktop only. A browser cannot hand a file to another application, whatever it is running on.
StemDeck works from your phone now
Opening StemDeck from a phone used to give you playback and a key control that silently did nothing. Transpose is an AudioWorklet, and browsers only grant those on a secure origin, which http://192.168.x.x is not.
So the desktop app now serves the LAN over https on port 8443, with a certificate it generates on your own machine. Nothing is shipped: a certificate in the download would publish its private key to everyone who downloaded it.
Your phone will show a "connection is not private" warning the first time. That is expected, it is your own machine's certificate, and you tap through it once per device. Settings says so before you ever see it.
The phone also gained the key control itself, and when the origin cannot support it the stepper is visibly disabled and says why instead of sitting there dead.
The phone opens roughly four times faster
Opening the phone UI pulled about 456 KB of uncompressed JavaScript, CSS and HTML every time, most of it the language tables. Text responses are compressed now. Measured on a real network, the largest file went from 334 KB to 88 KB.
Audio is deliberately left alone, so seeking within a track behaves exactly as before.
One library, every device
There were two answers to "what is in my library": the desktop built its list from storage on that machine, the phone asked the server. Deleting a track on the desktop left the job on the server, so the phone kept listing songs you thought you had thrown away.
The Trash lives on the server now and both agree. Trashing is still not deleting: the stems stay on disk and restoring costs nothing, so a mistaken tap on a phone never destroys audio. Only emptying the Trash removes anything.
Zoom goes to 10x
Twice as far into the waveform as before. This needed the underlying data to change as well as the limit: the peak files carried enough detail for about 5x, and past that the bars start repeating their neighbours rather than showing you anything new.
Songs you separated before this release keep their old peak files. They will zoom all the way, but past 5x the picture stops gaining detail until you separate them again.
A tidier yt-dlp
Every install shipped 939 yt-dlp site extractors. StemDeck downloads from YouTube and SoundCloud and refuses every other host before yt-dlp is ever called, so none of the rest were reachable. 930 are gone and 9 remain.
The set that stays is worked out from what StemDeck actually needs rather than written by hand, and every packaging path fails the build if YouTube or SoundCloud stop matching.
Smaller things
- Settings tabs scroll. The Network tab had outgrown the dialog, which drew the Done button on top of the Port setting with no way to reach what was underneath.
- Transpose explains itself. When the key control is unavailable it now names the actual reason rather than guessing at one.
- The licenses the downloads only named are included. Every package carries the third-party license texts it refers to.
- We Recommend has three new names, a Writers and Storytellers category, and the full statement that I take no money, sponsorship or funding from anyone on that list. That last part is the point of the list and it was only ever said in the README.
Upgrading
Windows and Linux can update in place from Settings. This release does not change the Python runtime, so the in-app updater can offer it.
macOS is unaffected by the runtime issue that made 0.16.1 a full download.
Thanks
The drag-out and the loop work came from discussion #474. Keep them coming, the requests in there are consistently better than my own list.