Skip to content

stekole/bandmates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bandmates

image

Introduction

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

Pre-req

brew install python3 pyenv ffmpeg
pyenv install 3.10
python3 -m venv env
source env/bin/activate
python3 -m pip install -r requirements.txt

Usage

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

Examples

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 vocals

Remove a guitar

python3 app.py --link "https://www.youtube.com/watch?v=tMDFv5m18Pw&ab_channel=OzzyOsbourneVEVO" -r guitar

Remove more than one instrument

python3 app.py --link "https://www.youtube.com/watch?v=tMDFv5m18Pw&ab_channel=OzzyOsbourneVEVO" -r guitar -r vocals

Tests

python -m pytest tests/

Output

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 files
  • final/: 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

About

Remove your favorite bandmates from songs, or leave them in...whatever

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages