All projects

SOFTWARE / WALTER

StemVrij

A privacy-focused AI audio separation application that runs locally and splits music into vocals and instrumental stems, with interactive waveforms, synchronized playback, mixing controls and multi-format export.

My role
Design & full-stack development
Year
2026
Status
Finished
StemVrij: the Separate Audio screen and the results screen with vocal and instrumental waveforms, mixer and export

StemVrij is a local AI-powered audio application I built to make vocal and instrumental separation more accessible, while keeping the entire processing workflow on the user’s machine.

Upload an audio file, choose one of two processing modes, and the track is split into vocals and instrumental stems. When processing is done, both stems can be explored through interactive waveforms and synchronized playback — easy to listen, compare and adjust the result right inside the app.

What it does

  • AI-powered separation — vocals and instrumental, using local AI (Demucs)
  • Two processing modes — Standard for a balance of quality and speed, Advanced for higher quality
  • Interactive waveforms with synchronized playback of both stems
  • Mixer — adjust the level of each stem and preview the mix in real time
  • Export vocals, instrumental or the final mix as WAV, MP3 or FLAC
  • Five languages in the interface

How it’s built

The front end is built with React, Vite and CSS; the backend uses Python and FastAPI. The separation pipeline runs on Demucs and PyTorch, with FFmpeg handling audio processing and conversion, and SQLite storing local application data.

Local first

One of the core ideas behind StemVrij: audio files never have to be uploaded to an external AI service. Everything is processed on your own computer, which gives you full control over your files — and a clear privacy advantage.

The context

Separating vocals from music usually means uploading your songs to an online AI service. StemVrij does the same job locally: built for anyone who wants to make karaoke tracks, remix music or work with audio in a creative way — without sending files to external servers.

Status: fully functional as a local application. It isn’t deployed online and has no public demo — hosting the AI models would need dedicated compute and extra infrastructure costs, so it’s presented as an app that runs on your own machine.

My contribution

The whole application, designed and built by me: the React + Vite interface (upload, processing modes, waveforms, mixer, export, five languages), the Python / FastAPI backend, and the separation pipeline with Demucs, PyTorch and FFmpeg, with SQLite for local data.

StemVrij is above all an experiment: a way to learn languages and tools I hadn’t worked with before — Python, FastAPI, PyTorch — and to understand how to integrate AI into a real application. I used AI as a guide along the way: it helped me with the parts I didn’t know yet, and I learned from every one of them.

Stack: React · Vite · CSS · Python · FastAPI · PyTorch · Demucs · FFmpeg · SQLite.

Back to all projects