Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

Demucs music stem separator rewritten in Rust

runs in the browser

Details

External ID
47234566
Source
HN
Company
—
Product
Demucs music stem separator rewritten in Rust
Website domain
github.com
Launched
March 3, 2026
Cohort
—
Upvotes
19
Upvotes percentile
0.7312423124231242
Tags
—
Fetched at
Sept. 7, 2026, 9:26 p.m.
Updated at
Sept. 7, 2026, 9:26 p.m.

Description

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-rsIt 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!

Enrichment

Theme
audio and music production tools
Vertical
Media & entertainment
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
music stem separator in rust for the browser
Manually corrected
False

Could you build this?

No Porting complex deep learning architectures like Demucs into Rust and running them client-side in the browser via WebGPU requires deep expertise in ML systems and low-level GPU programming.

What it would actually take: Building this requires re-implementing HTDemucs neural network operations (convolutions, cross-domain transformers, STFT/iSTFT) in Rust using a framework like Burn, with custom WGPU compute kernels. The hardest challenges are memory bandwidth optimization for multi-gigabyte tensor operations within the browser's 4GB memory sandbox and achieving near real-time inference across diverse GPU hardware. This requires deep machine learning systems engineering and Rust/WebGPU graphics programming experience.

Discussion

3 comments analyzed.

Concerns raised: Shader performance issues with Burn + CubeCL, Weight porting complexity and perfect replication difficulty, Subtle signal loss from implementation deviations

Feature requests: Example songs preloaded in web UI

Competitors

Other products that read as similar to this one — 143 launches clear the similarity bar, closest 8 shown.

Attention rank: #53 of 144 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 120 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.