Tired of the bass player stealing the spotlight? (Or maybe you just want to practice guitar without Dave's questionable timing). This app lets you kick out any instrument from your favorite tracks and play along instead 🎸. I built it because I needed a drama-free way to practice guitar – no band drama required.
Strips out instruments tracks from any song, letting you jam along with the band! 🎸
Use this script to download audio and remove instruments on the fly using demuc and yt-dlp.
Remove any of the following supported instruments in the model
- bass
- vocal
- guitar
- piano
- drums
brew install python3 pyenv ffmpegpyenv install 3.10
python3 -m venv env
source env/bin/activate
python3 -m pip install -r requirements.txtOptions:
--link TEXT YouTube video link
-r, --remove
The -r/--remove flag can be used multiple times to remove several instruments. Valid options are: guitar, bass, drums, vocals, piano
--help
Download a song from a link (no removals)
python3 app.py --link "https://www.youtube.com/watch?v=tMDFv5m18Pw&ab_channel=OzzyOsbourneVEVO"karaoke fridays at the officeeee
python3 app.py --link "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -r vocalsRemove a guitar
python3 app.py --link "https://www.youtube.com/watch?v=tMDFv5m18Pw&ab_channel=OzzyOsbourneVEVO" -r guitarRemove more than one instrument
python3 app.py --link "https://www.youtube.com/watch?v=tMDFv5m18Pw&ab_channel=OzzyOsbourneVEVO" -r guitar -r vocalspython -m pytest tests/
Output files are always in MP3 format. The script will automatically convert input audio from YouTube to MP3.
Processed files are stored in:
original/:Original downloaded audio filesfinal/:Processed audio files with removed instruments
The final output filename will include which instruments were removed.
Example:
./final/Ozzy_Osbourne_-_Mama_I_m_Coming_Home_A440_Standard_Tuning_guitar_vocals_final.mp3
