Demucs music stem separator rewritten in Rust – runs in the browser
Hi HN! I reimplemented HTDemucs v4 (Meta's music source separation model) in Rust, using Burn. It splits any song into individual stems — drums, bass, vocals, guitar, piano — with no Python runtime or server involved. Try it now: https://nikhilunni.github.io/demucs-rs/ (needs a WebGPU-capable browser — Chrome/Edge work best) GitHub: https://github.com/nikhilunni/demucs-rs It runs three ways: - In the browser — the full ML inference pipeline compiles to WASM and runs on your GPU via WebGPU. No uploads, nothing leaves your machine. - Native CLI —…
In plain words
Demucs-rs is a music stem separator that splits songs into individual tracks—drums, bass, vocals, guitar, and piano—using Meta's HTDemucs v4 model reimplemented in Rust. It runs directly in WebGPU-capable browsers with no server uploads, as a native command-line tool, or as a DAW plugin for macOS, keeping all processing local to the user's machine. The tool is designed for musicians, producers, and audio engineers who need to isolate individual instruments from complete tracks.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
Hi HN! I reimplemented HTDemucs v4 (Meta's music source separation model) in Rust, using Burn. It splits any song into individual stems — drums, bass, vocals, guitar, piano — with no Python runtime or server involved. Try it now: https://nikhilunni.github.io/demucs-rs/ (needs a WebGPU-capable browser — Chrome/Edge work best) GitHub: https://github.com/nikhilunni/demucs-rs It runs three ways: - In the browser — the full ML inference pipeline compiles to WASM and runs on your GPU via WebGPU. No uploads, nothing leaves your machine. - Native CLI — Metal on macOS, Vulkan on Linux/Windows. Faster than the browser path. - DAW plugin — VST3/CLAP plugin for macOS with a native SwiftUI UI. Load a track, separate it, drag stems directly into your DAW timeline, or play as a MIDI instrument with solo / faders. The core inference library is built on Burn (https://burn.dev), a Rust deep learning framework. The same `demucs-core` crate compiles to both native and `wasm32-unknown-unknown` — the only thing that changes is the GPU backend. Model weights are F16 safetensors hosted on Hugging Face and downloaded / cached automatically on first use on all platforms. Three variants: standard 4-stem (84 MB), 6-stem with guitar/piano (84 MB), and a fine-tuned bag-of-4-models for best quality (333 MB). The existing implementations I found online were mostly wrappers around the original Python implementation, and not very portable -- the model works remarkably well and I wanted to be able to quickly create samples / remixes without leaving the DAW or my browser. Right now the implementation is pretty MacOS heavy, as that's what I'm testing with, but all of the building blocks for other platforms are ready to build on. I want this to grow to be a general utility for music producers, not just "works on my machine." It was a fun first foray into DSP and the state of the art of ML over WASM, with lots of help from Claude!
Does a similar job
all alternatives →
- FAFree AI-based music demixing in the browser2023 · sevag.xyz · ▲190
Hi all, I've spent some time working on music demixing or music source separation algorithms, which take in a mixed song and output estimates of isolated components (e.g. vocals, drums, bass, other). I took a popular PyTorch model with good performance (Open-Unmix, UMX-L weights), reimplemented the inference steps in C++, and compiled it to WebAssembly for a free client-side music demixer.
- IFImproved freemusicdemixer – AI music demixing in the browser2023 · freemusicdemixer.com · ▲160
Hi HN, Last time I showed free-music-demixer, which people seemed to enjoy. It was a static website with a Javascript + WASM module to perform music demixing (or music source separation) using an AI model UMX-L (Open-Unmix) running client-side in the browser. Since then, I have overhauled the project and made several improvements: - The demixing/separation quality is higher now, since I implemented the missing post-processing step - Memory usage is lower now by performing a custom segmented inference with a streaming LSTM, which should allow larger tracks (or, dare I say,…

- CACloning a musical instrument from 16 seconds of audio2022 · erlj.notion.site · ▲185
In 2020, Magenta released DDSP [1], a machine learning algorithm / python library which made it possible to generate good sounding instrument synthesizers from about 6-10 minutes of data. While working with DDSP for a project, we realised how it was actually quite hard to find 6-10 minute of clean recordings of monophonic instruments. In this project, we have combined the DDSP architecture with a domain adaptation technique from speech synthesis [2]. This domain adaptation technique works by pre-training our model on many different recordings from the Solos dataset [3] first and then…

More dev tools this month
the category →



OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 2d ago · opentrailpaper.com

Open-source GTM skills for technical founders
Dev tools · 30d ago · gtmcofounder.com

Launched alongside, March 2026
the whole month →

Switch from ChatGPT to Claude with import memory feature
AI · Mar 2026 · claude.com


