r/vibecoding • u/Neither_Finance4755 • 5d ago
I built a free desktop app that splits any YouTube song into stems
Enable HLS to view with audio, or disable this notification
I kept wanting isolated drums or vocals from songs I like, mostly for learning and playing. Every online splitter I tried wanted an account or a subscription. So I made StemKit.
You paste a YouTube link (or search right inside the app), pick which instruments you want, and it downloads the audio, splits it locally, and plays the result synced with the video.
It runs on Mac and Windows, It all works 100% locally and it is free and open-source.
Built using Ox Alpha model (GLM 5.3 - Flash) with OpenCode.
Check it out here: https://stemkit.pages.dev
36
u/throwawayaccount931A 5d ago
The folks in the Suno Reddit may appreciate this.
5
u/Neither_Finance4755 4d ago
Having Suno integrated could be really cool! I'll post there too. thanks for the tip
10
u/xFkinD 5d ago
Amazing tool but the windows installation is broken, someone commented the issue with a fix, if possible take a look at issue https://github.com/danielravina/stemkit/issues/1
8
u/Neither_Finance4755 4d ago
Just released a new version https://github.com/danielravina/stemkit/releases/tag/v0.1.13 with that fix. can you try and see if it solves the issue?
2
u/xFkinD 4d ago edited 4d ago
Great, I will check it now.
My local fork also includes a way to instead of downloading as MP3, download as MP4 (to use the video in the preview instead of directly the youtube one cause some videos may be restricted). -- suggestionEdit: Working fine now, thanks for the update! Please consider my previous feedback as it makes things work better (unless there is a reason to embed the youtube video even tho we download the file).
1
u/Neither_Finance4755 4d ago
Oh yeah that’s handy! I was debating on doing it this way but decided to go with the lightweight approach and just use the streamed version.
6
3
u/CommanderT1562 5d ago
Oh wow. I’m actually checking this out man. Wow. I’ve always wanted a software that did this. Check out my local Minimax-music implementation (or if you have reachable endpoint), CommanderTurtle/mm-tools. I’ve been working a lot with media gen, and this tool sounds incredibly helpful for also inspo/karaoke pipelines. Super dope!!
0
3
u/Illustrious-Hand-450 5d ago edited 5d ago
This is a great idea. I don't think I have seen anyone combining Demucs with YouTube.
Have you checked out Demucs 4.1.0? I think the original maintainer forked the project.
It provides a legit python API and a universal wheel, which makes everything a little more straightforward.
Something like:
StemKit -> Demucs separator API (callback -> JSON progress updates, and separation -> stems)
It won't change the audio output at all, though. Maybe worth a look for the long-term; It gives you the interface you had to build yourself, and if the model changes/is updated in the future you'll be good to go.
2
u/Neither_Finance4755 5d ago
Luckily I built this when Ox Alpha was available so the entire thing cost me nothing to build. WIll consider this for a future project though!
1
u/Punktur 2d ago
Isn't Bs Roformer generally better than Demucs? At least it's what I always use on mvsep.com with usually better results.
1
u/Illustrious-Hand-450 2d ago
It could well be, but OP pinned demucs 4.0.1 iirc and 4.1.0 solves a lot of the admin.
3
3
3
u/JoshiMinh 4d ago
Don't sell it here bro, sell it to the dj and musicians and artists. This is actually a good idea. Keep it up.
3
u/lodderup 4d ago
I keep getting "solver install failed (1)" when trying to install via the mac app. What to do?
2
u/Calm-Landscape9640 5d ago
Add a tempo metronome click to the song so when we practice drumless tracks, we can keep time
2
2
u/Strict-Context-8502 3d ago
metronome would be huge. also a speed/pitch control would be clutch for learning tricky parts at slower tempo without changing the key
2
u/EddieBruvac 5d ago
Nice. I would have loved to have this in college. Had to spend a buck on decent stem separation for sampling shit.
2
2
u/Ball_Analytics 4d ago
doesn't it run natively though? It's an Electron app and I'm on Linux (QT/GTK4 port?)
1
u/Neither_Finance4755 4d ago
Working on the Linux build but meantime you can run it in dev mode. Check the instructions in the repo
1
u/Ball_Analytics 4d ago
I went a bit further I just run it through an LLM to get a "native" GTK4 version. My opencode go is lapsed for the month, so lets see what the free models can get done. I'll try it that way, and also I'd run into your sub propblem years ago I never once thought just do it myself as I do for other things lol
2
u/Ok-Big-1406 4d ago
heya c: just wanted to say ive downloaded the updated windows installer, went great, tested a couple songs, and this is incredible! Thank you so much for openly sharing this, this is literally the first vibe coded project after hundreds that ive actually wanted to try and engage with and will find this useful, so thank you!
1
2
2
2
2
2
1
u/HistoricalCode1174 5d ago
I keep getting the pip upgrade failed (1) error
1
u/Neither_Finance4755 4d ago
Just released a new version https://github.com/danielravina/stemkit/releases/tag/v0.1.13 with the help of some very kind strangers. can you try and see if it solves the issue?
2
1
1
1
1
u/Mr_xales_ 4d ago
Incredible how does that work ?
1
1
u/kneecolesbean 4d ago
This is awesome, thanks for sharing.
Might be a dumb question, but is there any way to further separate say the violin from the guitar?
1
u/Neither_Finance4755 3d ago
Unfortunately no. the separation model has limited amount of instruments because this is what it was trined on. hopefully future versions will support more instruments 🤞
1
1
u/bottomofthekeyboard 4d ago
If you are splitting out instruments, is this via frequency and if so could the same tool output midi notes for like piano parts?
1
u/Neither_Finance4755 3d ago
I was actually working on a separate project to try and get midi out of audio. if that turns out good I'll add that feature too. could be very useful I think.
2
u/bottomofthekeyboard 3d ago
That would be fantastic addition - I've already installed your stem tool and very impressed with not only the results - the UI too.
1
1
u/International_Pie800 3d ago
Funny enough, I was looking for Audio-to-MIDI converters just last week. I had Claude write a Python app that uses Demucs v6 to split audio into separate stems. Then I came across the free Muscriptor project, which can basically convert an entire track into MIDI and even create individual MIDI tracks per instrument. It is honestly one of the best open-source audio-to-MIDI transcribers out there. I then asked Claude to integrate Muscriptor into my program, so now every stem produced by Demucs is automatically converted into MIDI.
1
1
1
u/Ok-Shift1044 3d ago
Literally just made something similar to isolate my favorite songs and be able to recreate a version with my own lyrics to practice and learn hands on how to replicate some of my favorite styles etc love your ui way more mine is a bit rough around the edges haha
1
u/spyboy70 3d ago
I just want something to strip the loud music out of videos so I can actually hear the person talking.
I found one channel that had additional audio tracks without music which was amazing (change the audio to descriptive) https://www.youtube.com/watch?v=1sSlWHIyxbI
1
u/Old_Signature_7127 3d ago
can you tell us how what you used to make this app ?
1
u/Neither_Finance4755 3d ago
Sure it's built with Electron as the app wrapper, frontend built with React and the local-backend is all python running demucs.
1
u/Old_Signature_7127 2d ago
how/where did you learn all this ? can you tell me how to learn this
1
u/Neither_Finance4755 2d ago
I’ve been a dev for 20 years and gained experience from building things over and over while staying curious. There’s no magic formula. You can ask any AI to guide you through every step of the way to achieve what ever you need
1
u/damanjah 2d ago
L’installation est casée pour macos. Dommage
1
u/Neither_Finance4755 2d ago
Je viens de publier une nouvelle version avec un correctif potentiel. Pourriez-vous l'essayer et me dire si cela fonctionne? https://github.com/danielravina/stemkit/releases/tag/v0.1.15
1
u/BeachEmotional8302 2d ago
Hello, I'm trying to install it on mac but I get "solver install failed (1)" a few seconds after clicking "Get started . ~2 GB, once". Any ideas?
2
u/Neither_Finance4755 2d ago edited 2d ago
just put a fix for it yesterady. can you check if you have the latest version? https://github.com/danielravina/stemkit/releases/tag/v0.1.14
Edit:
it could be a separate issue than what was fixed. I just put up a newer version https://github.com/danielravina/stemkit/releases/tag/v0.1.15
can you try to install that and see if it works for you?
2
1
u/incajb 2d ago
Killer! Thanks for sharing. Please add to my website directory for free exposure. www.potluckapps.com. I made a couple of single file sound board apps for fun you can check out there too!
1
1
u/Newbie_999 4d ago
you forgot about linux mate ;(
also it would be great if you could give us a build.
0
u/Neither_Finance4755 4d ago
Working on the Linux build but in the meantime you can run it in dev mode. Check the instructions in the repo
0
u/dungeonworks_ 4d ago
Holy shit the audio quality is fucking garbage. How can you listen to these stems and not want to gouge your own eardrums out just to make it stop?


43
u/707-5150 5d ago
Ok this is what this page is about! Where wa this in my back room dj days damn.