From 4798e8bebc2fd7b3dc4f35c4feaffda1539b87e4 Mon Sep 17 00:00:00 2001
From: Sting <loic.allegre@ensiie.fr>
Date: Wed, 21 Jun 2023 10:11:23 +0200
Subject: [PATCH] Extract WAV on a per-file basis

---
 README.md     |  2 +-
 extractWav.sh | 83 ++++++++++++++++++++++++++-------------------------
 2 files changed, 43 insertions(+), 42 deletions(-)

diff --git a/README.md b/README.md
index 6168c8c..1091c5e 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 8e64957..31c8b4e 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
 
 
-- 
GitLab