Skip to content

Releases: stemdeckapp/stemdeck

0.8.0 Alpha 14

Choose a tag to compare

@thcp thcp released this 25 Jul 23:24
655b0d0

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 14

A Linux fix release. The NVIDIA build for Linux could not start at all in Alpha 13 — this release makes it work.

The Linux NVIDIA build now starts

In Alpha 13, StemDeck-Linux-x64.NVIDIA failed setup with "Setup could not complete — backend did not become healthy within 90 seconds." It affected every machine, not just some GPUs.

The cause: on first launch the NVIDIA build downloads the CUDA version of PyTorch matched to your GPU, but it was fetching PyTorch without the CUDA runtime libraries it needs to load. Starting the audio engine then failed on a missing libcublas, and the app never got past setup. StemDeck now installs those libraries alongside PyTorch.

If you hit this in Alpha 13, download the Alpha 14 tarball and extract it to a fresh folder — your library and settings live outside the app folder and are not affected.

Expect a large one-time download. The first time you launch the Linux NVIDIA build on a GPU machine, it fetches the CUDA runtime (roughly 2.5 GB). This happens once per install; later launches start immediately. This is the same tradeoff the Windows NVIDIA build already makes, and it keeps the download small for everyone else.

A failed GPU setup no longer breaks the app

If CUDA can't be set up or verified on your machine — old driver, unsupported card, interrupted download — StemDeck now puts the CPU version of PyTorch back and opens normally on CPU. Previously a half-installed GPU setup could leave the app unable to start at all, on every subsequent launch.

Security updates

macOS and Windows

No functional changes in this release — only the dependency updates above. If Alpha 13 is working for you on macOS or Windows, there is no need to update.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder. For GPU acceleration, use the NVIDIA zip and make sure nvidia-smi reports your GPU; the CPU zip runs anywhere.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU. You do not need to install the CUDA toolkit — StemDeck downloads the CUDA runtime it needs on first launch (see the note about the one-time download above). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

0.8.0 Alpha 13

Choose a tag to compare

@thcp thcp released this 18 Jul 17:07
89717d2

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 13

In-app update details. When a newer release is available, StemDeck now shows you what changed and exactly how to get it.

See what's new without leaving the app

The "New release available" notification (under the bell icon) is now clickable. Opening it shows the full release notes for the new version, plus a one-click way to get it that matches how you run StemDeck:

  • Desktop (macOS, Windows, Linux): a Download button that points at the correct build for your machine automatically, including the right NVIDIA or CPU variant on Windows and Linux.
  • Docker / self-hosted: the exact docker pull command for the new version, so you can update your container and restart.

Nothing auto-updates and nothing is installed for you. StemDeck just surfaces the release and the right download, and you decide when to update.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder. For GPU acceleration, use the NVIDIA zip and make sure nvidia-smi reports your GPU; the CPU zip runs anywhere.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled, no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

0.8.0 Alpha 12

Choose a tag to compare

@thcp thcp released this 18 Jul 10:01
8574be9

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 12

A focused fix release for Windows NVIDIA GPU acceleration. No changes for macOS or Docker/self-hosted users.

Windows: NVIDIA GPUs are reliably used again

Two issues could leave a Windows machine with a perfectly good NVIDIA GPU running stem separation on the CPU — several times slower — while Settings → Compute device showed CUDA (NVIDIA) — not available:

  • Switching builds no longer strands you on CPU. If you had ever run the CPU build (or a run that fell back to CPU) and then installed the NVIDIA build over the same data folder, the app remembered the old "CPU-only" decision and never re-checked for your GPU. It now re-detects the GPU automatically on the next launch when the installed build changes — no more manually deleting %LOCALAPPDATA%\StemDeck to unstick it.
  • The NVIDIA build now always ships CUDA support. The GPU-enabled Windows package is now built to include the CUDA runtime deterministically, so it can't silently regress to a CPU-only build.

If your Windows NVIDIA setup was stuck on CPU, updating to this release fixes it on the next launch. You can confirm under Settings → General → Compute device: it should read Auto (currently: cuda).

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder. For GPU acceleration, use the NVIDIA zip and make sure nvidia-smi reports your GPU; the CPU zip runs anywhere.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled -- no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

0.8.0 Alpha 11

Choose a tag to compare

@thcp thcp released this 17 Jul 15:26
0bec808

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 11

This release is a performance pass on top of last release's resilience work, plus two diagnostics/troubleshooting additions.

Separation is faster, especially back-to-back on GPU

StemDeck no longer spawns a fresh process and reloads the model from scratch for every single track. A warm worker now stays loaded between jobs on the same device, so the second (and third, and...) track you separate skips straight to the actual work. Measured on an RTX 3080: a job that used to take ~14s now takes ~7s once the worker is warm — GPU separation was spending over a third of its time on process startup alone, since GPU compute is fast enough that the fixed overhead used to dominate. CPU separation, where the actual work already dwarfs startup cost, is unaffected.

Lower memory use computing waveforms

Loading a full stem into memory to compute its waveform peaks used to spike memory by ~420 MB per stem, right after Demucs had already stressed it — a plausible contributor to out-of-memory failures on machines with less RAM. Peaks are now computed in a single streamed pass with constant memory, and stem presence (the little loudness bars) piggybacks on that same pass instead of decoding every stem a second time.

New "Best" separation quality option

Settings → General → Separation quality now offers Best, which runs separation twice with randomized time shifts and averages the result for cleaner stems, at roughly twice the processing time. Standard (the previous, only) behavior stays the default.

Repeated exports are instant

Downloading the same mixdown twice (same stems, gains, region, and format) used to re-run the full ffmpeg render every time. Identical exports now serve from a cache instead — the first download renders as before, every repeat is immediate.

Settings → Registry: read-only view of the job registry

Useful for diagnosing sync issues between what the app's library shows and what's actually persisted on disk, without leaving the app or digging through the filesystem.

Settings → General → Reset app data

A proper way to wipe all local track/job data and start fresh, for troubleshooting. This replaces manually deleting folders, which didn't actually work on Windows — the runtime state that persists across reinstalls lives in ~/Documents/StemDeck (AppData-adjacent on Windows), not in the extracted package's own bundled data/ folder. Guarded behind a type-to-confirm dialog; on a shared server this affects everyone who uses it, which the dialog says explicitly.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled -- no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

0.8.0 Alpha 10

Choose a tag to compare

@thcp thcp released this 17 Jul 09:15
1050789

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 10

This release is a resilience and observability pass — no new user-facing features, but the backend is now far harder to crash, easier to diagnose, and self-heals from the failure modes that used to require manual cleanup.

Logging you can actually use

StemDeck now writes rotating log files instead of dropping everything to the console (and previously, sometimes leaking raw exceptions into the UI). Failed jobs are quarantined with evidence — the classified failure cause (out of memory, unsupported device, disk full, bad input, unknown) and the last lines of stderr are captured alongside per-stage timings, so a failure can be diagnosed after the fact instead of only in the moment.

GPU failures now retry on CPU automatically

If separation fails on your GPU (CUDA/MPS), StemDeck no longer just reports the failure — it automatically retries the same job on CPU. You'll see the job pause at "GPU failed — retrying on CPU (slower)..." and then finish, rather than needing to re-run it yourself. The job's history now records that it fell back, and which device it actually finished on.

Downloads retry instead of failing on the first hiccup

Fetching a track's metadata or the file itself used to fail outright on a transient network blip. Both steps now retry with backoff, and every network call has a socket timeout so a stalled connection can no longer hang a job indefinitely.

Registry can no longer corrupt itself

Multiple threads (the pipeline, the API, and the periodic sweep) all write the job registry concurrently. A shared temp file used to let two writers collide — on Windows this could throw a PermissionError outright. Registry writes are now atomic and collision-proof. Separately, jobs that finished right as the app crashed (stems written, metadata not yet saved) used to be permanently unrecoverable; they're now recovered on restart and self-heal their metadata.

Windows desktop shutdown fixed

The desktop app's watchdog — which shuts down the backend when its parent process exits — was calling a Windows API that hard-kills the process instead of asking it to shut down gracefully. Backend shutdown on Windows now goes through the same graceful signal path as everywhere else.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled -- no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

0.8.0 Alpha 9

Choose a tag to compare

@thcp thcp released this 16 Jul 16:18
3359ed0

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 9

Choose the export sample rate

Exported mixes and regions were always rendered at 44.1 kHz — fine for most software, but some hardware samplers only accept a specific rate and would reject the file. Settings → Export now has a Sample rate control (22.05 / 32 / 44.1 / 48 kHz) that applies to every WAV, FLAC, and MP3 export.

Settings reorganized into General / Network / Export

The Settings panel's tabs were cleaned up to group things by what they actually control:

  • General — max track length, compute device, out-of-sync tracks
  • Network — network availability + QR codes, and Port (moved here from Advanced)
  • Export — the new sample rate control, and MP4 video quality (moved here from General)

The dialog is now a fixed size across all three tabs, so switching tabs no longer resizes the window.

Fixes

  • The Port field in Settings now shows the port StemDeck is actually running on, instead of a stale saved value that could disagree with reality.
  • In server mode, the network-access toggle now correctly shows as on (read-only) with an inline note explaining it's controlled by server configuration, rather than looking editable and then silently rejecting changes.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled -- no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

Artifact scan

  • Windows portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.
  • Linux portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.

Artifact build

  • macOS arm64 and x64 DMGs and runtime packs built and inspected on a macOS runner before upload.
  • Windows portable ZIPs (CPU + NVIDIA) built on a Windows runner.
  • Linux portable tarballs (CPU + NVIDIA) built on a Linux runner.

0.8.0 Alpha 8

Choose a tag to compare

@thcp thcp released this 15 Jul 20:06
700bd28

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 8

NVIDIA build no longer silently runs on CPU

On some Windows machines the NVIDIA build separated stems on the CPU even though a supported NVIDIA GPU was present. It worked, but far slower, with nothing on screen explaining why. Fixed:

  • Self-healing installs. Installing the CPU build and later the NVIDIA build on the same machine could leave a stale "CPU only" marker behind that pinned every future run to the CPU. The NVIDIA build now detects and removes that stale marker on launch, then probes the GPU normally.
  • Automatic recovery from a bad first run. A one-time hiccup during setup (a slow driver query, a dropped download) used to pin the CPU permanently with no way back. The app now records why it chose a device and re-probes on the next launch when the previous result came from a failure, so simply relaunching heals it, and adding a GPU later is picked up automatically.
  • More reliable GPU detection. nvidia-smi is now found on DCH driver installs that place it only under the driver store, and the first detection is given more time so laptops waking a sleeping GPU are not missed.
  • Every device decision is written to logs/setup.log, so a CPU fallback always leaves a trace to diagnose.

Choose your compute device (self-hosted)

Self-hosted and Docker deployments now have a Compute device selector under Settings -> Advanced. Leave it on Auto to use the best available device, or force CUDA / MPS / CPU. Devices that are not present on the machine are shown greyed out, and forcing an unavailable device is rejected instead of silently falling back. The choice applies to the next separation without a restart.

Fixes

  • Docker image tags (:edge, versioned, :latest) are published again; a workflow trigger regression had stopped them from updating on release.
  • The Settings panel scrollbar no longer overlaps the right-aligned controls in the Advanced tab.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled -- no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

Artifact scan

  • Windows portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.
  • Linux portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.

Artifact build

  • macOS arm64 and x64 DMGs and runtime packs built and inspected on a macOS runner before upload.
  • Windows portable ZIPs (CPU + NVIDIA) built on a Windows runner.
  • Linux portable tarballs (CPU + NVIDIA) built on a Linux runner.

0.8.0 Alpha 7

Choose a tag to compare

@thcp thcp released this 13 Jul 17:15
5079f3d

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 7

Faster playback: stems stream instead of preloading

Opening a track used to download and fully decode every stem before playback could start. For a 5-minute song that is hundreds of MB and a noticeable wait.

  • The desktop player now streams each stem in 5-second windows over HTTP range requests and starts playing after the first chunk, instead of waiting for the whole file. Playback begins in about a second, and memory use drops sharply (it no longer holds every decoded stem in RAM at once).
  • This is the same streaming engine the mobile player already used. The desktop loop, VU meters, waveforms, and energy bars were updated to work on the streaming path (waveforms and energy now come from the precomputed peaks, VU from live analysers).
  • Long tracks that previously fell back to a choppier player now stream smoothly too, with no length cap.

We Recommend

  • Added More Notes Less Talk (YouTube) to the We Recommend list.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled -- no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

Artifact scan

  • Windows portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.
  • Linux portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.

Artifact build

  • macOS arm64 and x64 DMGs and runtime packs built and inspected on a macOS runner before upload.
  • Windows portable ZIPs (CPU + NVIDIA) built on a Windows runner.
  • Linux portable tarballs (CPU + NVIDIA) built on a Linux runner.

0.8.0 Alpha 6

Choose a tag to compare

@thcp thcp released this 12 Jul 21:23
b645d17

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 6

Exact loop points (type in start / end)

The loop region could only be set by dragging on the timeline, which is hard to make frame-accurate for practicing fast phrases or transcribing.

  • Two editable time fields now sit next to the loop button in the transport bar. Type an exact start and end and the loop region and audio update live.
  • Fields show mm:ss.mmm and accept either mm:ss.mmm or plain seconds (e.g. 12.48). Enter or click-away commits; Escape reverts.
  • Drag-to-select still works and now keeps the fields in sync as you drag. This is additive, for fine-tuning.

Persistent library on the self-hosted server

Running StemDeck as a self-hosted web server (not the desktop app) could silently delete processed tracks: a 24h job cleanup meant for shared/Docker deployments was left on, so older tracks turned into "audio no longer available" / out-of-sync entries after a restart.

  • The self-hosted server (run.sh) now treats its library as persistent and user-managed, like the desktop app: processed tracks are no longer auto-deleted. Set STEMDECK_PERSIST_LIBRARY=0 to restore the old disk-hygiene behavior.
  • The desktop app was never affected (its library was already persistent).

StemDeck on Unraid and Docker

StemDeck is now available as a prebuilt container image and in Unraid Community Applications, so you can self-host the web player without the desktop app.

  • Image on GitHub Container Registry: ghcr.io/stemdeckapp/stemdeck. Tags: edge (rolling, rebuilt on every merge to main), latest (newest stable release), and X.Y.Z (pinned to a release).
  • Unraid: search "StemDeck" in Community Applications and install. Map /app/jobs and /cache to persistent appdata paths; the library is persistent and user-managed by default.
  • GPU: the image bundles CUDA-enabled torch, so it runs on CPU by default and uses an NVIDIA GPU automatically when started with --runtime=nvidia (on Unraid, install the Nvidia Driver plugin). No separate CUDA install is needed.
  • File ownership: the container honors PUID/PGID, which the Community Applications template defaults to Unraid's nobody:users (99/100), so files written to appdata are owned correctly.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled -- no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.
  • Docker / Unraid: install "StemDeck" from Unraid Community Applications, or pull ghcr.io/stemdeckapp/stemdeck:edge and map port 8000 plus the /app/jobs and /cache volumes. Add --runtime=nvidia for GPU acceleration. See the README for the full docker run command.

Artifact scan

  • Windows portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.
  • Linux portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.

Artifact build

  • macOS arm64 and x64 DMGs and runtime packs built and inspected on a macOS runner before upload.
  • Windows portable ZIPs (CPU + NVIDIA) built on a Windows runner.
  • Linux portable tarballs (CPU + NVIDIA) built on a Linux runner.

0.8.0 Alpha 5

Choose a tag to compare

@thcp thcp released this 06 Jul 17:04
ec73f55

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

Optional: start from a clean slate. To reproduce a true first-run experience, open each path in Finder via the Go menu, then Go to Folder (Shift+Cmd+G), and move the folders to Trash:

  • ~/Library/Application Support/StemDeck
  • ~/Library/WebKit/app.stemdeck.desktop
  • ~/Library/Caches/stemdeck
  • ~/Library/Caches/app.stemdeck.desktop

You can also delete ~/Library/Preferences/app.stemdeck.desktop.plist the same way. This is optional; the app will work without it.

What's new in 0.8.0 Alpha 5

Faster Windows FFmpeg setup (Windows)

First-run setup downloaded FFmpeg from gyan.dev, a single mirror that is very slow outside North America. Users in Europe and Asia reported downloads crawling at 0.1 MB/s and the setup window showing "Not Responding" for many minutes at the "Checking FFmpeg" stage.

  • Windows now downloads FFmpeg from the BtbN GitHub builds, served over GitHub's CDN, which is dramatically faster worldwide. The archive is still verified by SHA256 before it is used.
  • StemDeck now detects an FFmpeg you place yourself in the data/ffmpeg folder, including the upstream layout where the binaries live in a bin/ subfolder. When you have already provided FFmpeg, setup skips the download entirely.

Fixes #248 and #244. Thanks to @unvency for suggesting the BtbN source, and to @albertchou667788-source for the report from Taiwan.

Installing

  • macOS: drop the .app into Applications and launch (run the xattr command above first).
  • Windows: unzip the downloaded .zip, then run StemDeck.exe from the extracted folder.
  • Linux: download the .tar.gz for your hardware, extract it, and run ./StemDeck. Install the WebKitGTK + GTK runtime prerequisites first (FFmpeg is fetched automatically on first launch):
    sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
    
    The NVIDIA build additionally needs a working NVIDIA driver such that nvidia-smi reports your GPU (the CUDA runtime itself is bundled -- no separate CUDA toolkit install needed). If you have no NVIDIA GPU, use the CPU-only tarball.

Artifact scan

  • Windows portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.
  • Linux portable packages (CPU + NVIDIA) scanned with ClamAV in CI before upload.

Artifact build

  • macOS arm64 and x64 DMGs and runtime packs built and inspected on a macOS runner before upload.
  • Windows portable ZIPs (CPU + NVIDIA) built on a Windows runner.
  • Linux portable tarballs (CPU + NVIDIA) built on a Linux runner.