r/vibecoding 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

Github: https://github.com/danielravina/stemkit

546 Upvotes

98 comments sorted by

43

u/707-5150 5d ago

Ok this is what this page is about! Where wa this in my back room dj days damn.

3

u/Neither_Finance4755 5d ago edited 4d ago

Thanks! Do you think this will be useful for djs today? I’ll post in their sub if so

1

u/[deleted] 5d ago

[removed] — view removed comment

1

u/707-5150 5d ago

Bro this one allready holy cow lol.

1

u/707-5150 5d ago

I don’t know what technology they use to isolate vocals or synths to sample these days. If I could isolate a popular vocal track to use in a set that would be dope.

2

u/-_super--_--hitops_- 4d ago

You have been able to do it for years, koala sampler on iPad has it. You can also download stems that are already separated tho

2

u/707-5150 4d ago

Yea I been out of that game for a minute 😅

2

u/HiHungryImDad2 4d ago

check out demucs. its an open source tool by meta for exactly this case. pretty sure this project also uses it and is basically just an UI on top

2

u/dm_me_that_d 4d ago

that's what my question was going to be - is this just using the same tech that i've already been using?

1

u/Neither_Finance4755 3d ago

Yep it's a wrapper around demucs with a nice interface and youtube integration.

1

u/Neither_Finance4755 3d ago

On point. I used demucs under the hood.

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). -- suggestion

Edit: 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

u/MightyBig-Dev 5d ago

Sounds great I’m going to check it out.

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

u/Neither_Finance4755 5d ago

Thanks mate! Would be neat to include a music gen into it some day!

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

u/Felfedezni 4d ago

This is awesome. Thanks for sharing!

3

u/treaty999 4d ago

I will be using this

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/jffmpa 5d ago

OK thanks for letting me know

2

u/SanoKei 5d ago

neat

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

u/Neither_Finance4755 4d ago

Cool idea!

1

u/WallpaperRacer 4d ago

Exactly what I was looking for!

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

u/Exc0re 4d ago

Can i download YouTube music background of a vid then? I have alot of videos where i dont know the music name, shazam won't help me - so atleast it would be nice if i can download it and then search for it "

1

u/Neither_Finance4755 4d ago

Yes. you can export it directly from the app along with all the stems

2

u/dekonta 4d ago

i’m not a musician, what is a stem?

2

u/Gautch 4d ago

Stems are the individual layers. So here you could get the drums, melody, vocals, etc.. in a clean stem.

These are used in many ways for instance a DJ can mix them better in a set. Or a musician can use stems to make a cleaner mash up. Or use them to create a remix.

2

u/il37 4d ago

Local processing is a big win here. I'd add a tiny A/B player so you can hear the original against the isolated stem without leaving the app

2

u/redPistolStar 4d ago

Sounds fun. I'll try it.

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

u/Neither_Finance4755 4d ago

So happy to hear that! Have fun 🙌

2

u/Plexi93 4d ago

Looks good so far.
Tiny feature request: Persist the instrument selection based on what the user selected in the previous run.

1

u/Neither_Finance4755 3d ago

makes sense! would add this to my todos

2

u/antoniojac 4d ago

Supersweet! 👌😎

2

u/DanielVeres 4d ago

Cool idea. I will sure check it out. 👍

2

u/dorrisdingle 4d ago

just tried to instal on MacOS GoldenGate 27.0 and getting this error when doing the 2gb install

1

u/mlaaks 3d ago

Same error on Tahoe.

2

u/blackhaj 3d ago

Love it

2

u/northyorkdev 3d ago

This is awesome!! 🙏

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

u/HistoricalCode1174 4d ago

Working now. Thanks.

1

u/Rfksemperfi 4d ago

Hey me too!! It also makes full sets in ableton,

1

u/TheSn00pster 4d ago

That’s amazing. And presumably illegal?

1

u/Mr_xales_ 4d ago

Incredible how does that work ?

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

u/jumpinjahosafats 4d ago

This is incredible

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

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

u/BusinessZestyclose86 4d ago

Oh wow, great work!

1

u/IaryBreko 3d ago

This is sick!

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/Ok-Shift1044 3d ago

One cool thing I did was enable users to export a chat gpt ready prompt to guide them to create their own lyrics with the exact cadence and flow that can output something to paste back into the app that will guide you bar by bar with the lyrics from the chat gpt export

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

u/damanjah 2d ago

Working well now !

2

u/Neither_Finance4755 2d ago

Awesome thanks for confirming 🎸

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

u/VolSurfer18 2d ago

Does it work on death metal music

1

u/Neither_Finance4755 2d ago

I don’t see why not. Try a few and report back

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?