From 08f664ff2e4633ed35769d96285d8fa39daa708b Mon Sep 17 00:00:00 2001
From: Sting <loic.allegre@ensiie.fr>
Date: Thu, 22 Jun 2023 15:11:53 +0200
Subject: [PATCH] Training data generation script

---
 .gitignore            |  1 +
 music_processor.py    |  6 +++++-
 process_train_data.sh | 27 +++++++++++++++++++++++++++
 3 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100755 process_train_data.sh

diff --git a/.gitignore b/.gitignore
index 1504b22..3aae083 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,5 @@
 !assUtils.py
 !music_processor.py
 !model.py
+!process_train_data.sh
 media/
\ No newline at end of file
diff --git a/music_processor.py b/music_processor.py
index 580443b..81d1f25 100644
--- a/music_processor.py
+++ b/music_processor.py
@@ -257,7 +257,7 @@ def smooth(x, window_len=11, window='hanning'):
 
 
 
-def music_for_train(serv, verbose=False, nhop=512, nffts=[1024, 2048, 4096], mel_nband=80, mel_freqlo=27.5, mel_freqhi=16000.0, include_zero_cross=False):
+def music_for_train(serv, deletemusic=True, verbose=False, nhop=512, nffts=[1024, 2048, 4096], mel_nband=80, mel_freqlo=27.5, mel_freqhi=16000.0, include_zero_cross=False):
     
     songplaces = glob(serv)
     songs = []
@@ -273,6 +273,10 @@ def music_for_train(serv, verbose=False, nhop=512, nffts=[1024, 2048, 4096], mel
         songs.append(song)
 
     multi_fft_and_melscale(songs, nhop, nffts, mel_nband, mel_freqlo, mel_freqhi, include_zero_cross=include_zero_cross)
+
+    if deletemusic:
+        for song in songs:
+            song.data = None
     
     with open('./data/pickles/train_data.pickle', mode='wb') as f:
         pickle.dump(songs, f)
diff --git a/process_train_data.sh b/process_train_data.sh
new file mode 100755
index 0000000..a88ae74
--- /dev/null
+++ b/process_train_data.sh
@@ -0,0 +1,27 @@
+
+
+
+
+
+USAGE_MESSAGE="usage : $0 video_folder train_folder"
+if [ $# != 2 ]; then
+        echo $USAGE_MESSAGE; exit 1;
+fi
+
+
+video_folder=$1
+train_folder=$2
+
+for filename in "$video_folder"/*.mkv; do
+    name=${filename##*/}
+    base=${name%.mkv}
+    mkdir -p "$train_folder/$base"
+
+    ./extractWav.sh "$filename" "$train_folder/$base/$base.wav"
+    demucs --two-stems vocals -o "$train_folder/$base" "$train_folder/$base/$base.wav"
+    rm "$train_folder/$base/$base.wav"
+    ffmpeg -i "$train_folder/$base/htdemucs/$base/vocals.wav" "$train_folder/$base/vocals.ogg"
+    rm -r "$train_folder/$base/htdemucs"
+
+    ./extractAss.sh "$filename" "$train_folder/$base/vocals.ass"
+done;
\ No newline at end of file
-- 
GitLab