diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6907f15 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +rmmusic/* +rmmusic/ diff --git a/rmmusic b/rmmusic new file mode 100755 index 0000000..1102c8c --- /dev/null +++ b/rmmusic @@ -0,0 +1,43 @@ +#!/bin/bash + +inputfile=$1 +outputfolder=rmmusic + +# extract vocals and instruments +echo Extracting vocals and instruments.. +spleeter separate -p spleeter:2stems -o $outputfolder $inputfile > /dev/null +echo Success + +# remove file extension +outputfile=${inputfile%.*} + +# convert vocals.wav to tmp +echo Converting vocals.wave to tmp.mp3 +ffmpeg -loglevel quiet \ + -i $outputfolder/$outputfile/vocals.wav \ + -codec:a libmp3lame \ + -qscale:a 2 $outputfolder/$outputfile/tmp.mp3 > /dev/null + +# copy metadata +# extract metadata first +echo Extracting metadat from original clip +ffmpeg -loglevel quiet \ + -i $inputfile \ + -f ffmetadata $outputfolder/$outputfile/metadata.txt > /dev/null +echo Done.. + + +# embed extracted metadata +echo embedding extracted metadata +ffmpeg -loglevel quiet \ + -i $outputfolder/$outputfile/tmp.mp3 \ + -i $outputfolder/$outputfile/metadata.txt \ + -map_metadata 1 \ + -codec copy $outputfolder/$outputfile.mp3 > /dev/null +echo Done.. +# remove tmp .wav files +echo Removing temp files +rm -rv $outputfolder/$outputfile/ +echo Done.. +echo "" +echo Your song without music is located at $outputfolder/$outputfile.mp3