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