diff --git a/README.md b/README.md index 6168c8c71616900b408a53f7c9aaffe756b8a04f..1091c5ea96a8079d5937d588c7a3e10c52e0e847 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ $ ./extractWav.sh source_folder output_folder To separate vocals from instruments in an audio file : ```bash -demucs --two-stems=vocal -o output_folder audio_file.wav +demucs --two-stems=vocals -o output_folder audio_file.wav ``` diff --git a/extractWav.sh b/extractWav.sh index 8e649574f4e9d4d2b856340f40496530219fd957..31c8b4e6c1a63c92abfbe3e7c97cbb13b574b051 100755 --- a/extractWav.sh +++ b/extractWav.sh @@ -21,69 +21,70 @@ -USAGE_MESSAGE="usage : $0 source_folder dest_folder" +USAGE_MESSAGE="usage : $0 source_file dest_file" if [ $# != 2 ]; then echo $USAGE_MESSAGE; exit 1; fi -for filename in "$1"/*.mkv; do - echo $filename - [ -e "$filename" ] || continue - name=${filename##*/} - base=${name%.mkv} +filename=$1 - codecLine=$(mkvinfo "$filename" | grep " A_") - regex=".*A_([A-Z0-9]+).*" +echo $filename +[ -e "$filename" ] || continue +name=${filename##*/} +base=${name%.mkv} - [[ $codecLine =~ $regex ]] +codecLine=$(mkvinfo "$filename" | grep " A_") +regex=".*A_([A-Z0-9]+).*" - codec=${BASH_REMATCH[1]} +[[ $codecLine =~ $regex ]] - case $codec in +codec=${BASH_REMATCH[1]} - "AAC") - extension="m4a" - ;; +case $codec in - "FLAC") - extension="flac" - ;; - - "VORBIS") - extension="ogg" - ;; - - "MPEG") - extension="mp3" - ;; - - "AC3") - extension="ac3" + "AAC") + extension="m4a" ;; - "DTS") - extension="dts" + "FLAC") + extension="flac" ;; - "OPUS") - extension="opus" + "VORBIS") + extension="ogg" ;; - *) - extension="" + "MPEG") + extension="mp3" ;; - esac + "AC3") + extension="ac3" + ;; + + "DTS") + extension="dts" + ;; + + "OPUS") + extension="opus" + ;; + + *) + extension="" + ;; + +esac - ffmpeg -i "$filename" -acodec copy -vn "$2/$base.$extension" && \ - ffmpeg -i "$2/$base.$extension" "$2/$base.wav" && \ - #sox "$2/$base.stereo.wav" "$2/$base.wav" remix - && \ - #rm "$2/$base.stereo.wav" && \ - rm "$2/$base.$extension" +ffmpeg -i "$filename" -acodec copy -vn "$base.$extension" && \ +ffmpeg -i "$base.$extension" "$base.wav" && \ +#sox "$2/$base.stereo.wav" "$2/$base.wav" remix - && \ +#rm "$2/$base.stereo.wav" && \ +rm "$base.$extension" +mv "$base.wav" $2 -done