diff --git a/.gitignore b/.gitignore index 1504b226c7ba1d4903cb5fca38fc9edf28e7c04f..3aae0831a6395a910f840b4fec621d64d760f45c 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 580443b4e7fb900277eaae4e228cdebdc56486f3..81d1f2572ef5ef8fc92bd9d2858c0aa5f5ae5198 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 0000000000000000000000000000000000000000..a88ae744d830cadc1fdf2122e5c545180eaa4fb4 --- /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