boy1dr / SpleeterGui

Windows desktop front end for Spleeter - AI source separation
Apache License 2.0
2.28k stars 249 forks source link

Error after updating to Spleeter 1.5.0 "Can't load save_path when it is None." #11

Closed ghost closed 4 years ago

ghost commented 4 years ago

Starting processing of all songs Processing C:\Users\TOSHIBA\Music\Bullet for My Valentine\Fever (Tour Edition)\Bullet for My Valentine - Your Betrayal.flac Traceback (most recent call last): File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\runpy.py", line 193, in _run_module_as_main File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\runpy.py", line 85, in _run_code File "C:\Users\TOSHIBA\AppData\Roaming\SpleeterGUI\python\Lib\site-packages\spleeter__main.py", line 58, in entrypoint() File "C:\Users\TOSHIBA\AppData\Roaming\SpleeterGUI\python\Lib\site-packages\spleeter\main.py", line 54, in entrypoint main(sys.argv) File "C:\Users\TOSHIBA\AppData\Roaming\SpleeterGUI\python\Lib\site-packages\spleeter\main__.py", line 46, in main entrypoint(arguments, params) File "C:\Users\TOSHIBA\AppData\Roaming\SpleeterGUI\python\Lib\site-packages\spleeter\commands\separate.py", line 45, in entrypoint synchronous=False File "C:\Users\TOSHIBA\AppData\Roaming\SpleeterGUI\python\Lib\site-packages\spleeter\separator.py", line 191, in separate_to_file sources = self.separate(waveform, audio_descriptor) File "C:\Users\TOSHIBA\AppData\Roaming\SpleeterGUI\python\Lib\site-packages\spleeter\separator.py", line 157, in separate return self.separate_librosa(waveform, audio_descriptor) File "C:\Users\TOSHIBA\AppData\Roaming\SpleeterGUI\python\Lib\site-packages\spleeter\separator.py", line 147, in separate_librosa saver.restore(sess, latest_checkpoint) File "C:\Users\TOSHIBA\AppData\Roaming\SpleeterGUI\python\Lib\site-packages\tensorflow_core\python\training\saver.py", line 1277, in restore raise ValueError("Can't load save_path when it is None.") ValueError: Can't load save_path when it is None. Finished processing all songs

boy1dr commented 4 years ago

Hi There Looks like maybe it's having trouble with the file path of either your source music or the output location. "Can't load save_path when it is None". Try moving both to something like "c:\temp" and see if that fixes it up. Also i haven't tried it with FLAC audio, does it do the same with wav or mp3 ?

ghost commented 4 years ago

Hi There Looks like maybe it's having trouble with the file path of either your source music or the output location. "Can't load save_path when it is None". Try moving both to something like "c:\temp" and see if that fixes it up. Also i haven't tried it with FLAC audio, does it do the same with wav or mp3 ?

I am afraid I cannot because I have just reinstalled the GUI program and that fixed the problem. However still there is no option for 11K cut or 16K cut. It was working with FLAC before the problem occurred. But It has some issues with creating stems sometimes it doesn't produce one or sometimes it doesn't produce anything. and it is still limited to 10 min.

boy1dr commented 4 years ago

I'll do some testing tomorrow and see what results i get from FLAC files and let you know. If you are using SpleeterGUI version 2.3 there is a tickbox for "full bandwidth" that will process at best quality that spleeter provides (16khz) I have also looked at increasing the time limit of 10 minutes but it is not feasible for the average user. The amount of data that spleeter stores in RAM to do the processing is enormous, as is the processing requirements of tensorflow on the CPU (or GPU), when the time limit is increased so too is the risk of system crash. This is why Deezer saw fit to put the 10 minute limit in place. My GUI app is just a simple way of using the command line application that Deezer released. You will find the stem configuration files in the appdata folder (mine is here C:\Users\chris\AppData\Roaming\SpleeterGUI), files are called 2stems.json, 4stems.json & 5stems.json Feel free to mess with the settings in these files to enable processing past 10 minutes and also change the quality settings. More info on this from Deezer can be found here https://github.com/deezer/spleeter/wiki/2.-Getting-started. I suggest if processing audio past 10 minutes is required then simply split your files in to smaller lengths then recombine after spleeting.

ghost commented 4 years ago

I'll do some testing tomorrow and see what results i get from FLAC files and let you know. If you are using SpleeterGUI version 2.3 there is a tickbox for "full bandwidth" that will process at best quality that spleeter provides (16khz) I have also looked at increasing the time limit of 10 minutes but it is not feasible for the average user. The amount of data that spleeter stores in RAM to do the processing is enormous, as is the processing requirements of tensorflow on the CPU (or GPU), when the time limit is increased so too is the risk of system crash. This is why Deezer saw fit to put the 10 minute limit in place. My GUI app is just a simple way of using the command line application that Deezer released. You will find the stem configuration files in the appdata folder (mine is here C:\Users\chris\AppData\Roaming\SpleeterGUI), files are called 2stems.json, 4stems.json & 5stems.json Feel free to mess with the settings in these files to enable processing past 10 minutes and also change the quality settings. More info on this from Deezer can be found here https://github.com/deezer/spleeter/wiki/2.-Getting-started. I suggest if processing audio past 10 minutes is required then simply split your files in to smaller lengths then recombine after spleeting.

I don't think it is using so much CPU now especially after the update of Deezer Spleeter. You better work on stems that being created so we may not need to repeat the processing to get all selected stems.

I don't know how to increase the runtime here: { "train_csv": "path/to/train.csv", "validation_csv": "path/to/test.csv", "model_dir": "2stems", "mix_name": "mix", "instrument_list": ["vocals", "accompaniment"], "sample_rate":44100, "frame_length":4096, "frame_step":1024, "T":512, "F":1024, "n_channels":2, "separation_exponent":2, "mask_extension":"zeros", "learning_rate": 1e-4, "batch_size":4, "training_cache":"training_cache", "validation_cache":"validation_cache", "train_max_steps": 1000000, "throttle_secs":300, "random_seed":0, "save_checkpoints_steps":150, "save_summary_steps":5, "model":{ "type":"unet.unet", "params":{} } }

boy1dr commented 4 years ago

sorry i don't know how to make spleeter process longer songs, a quick google search turned up lots of information but no simple solution. but that doesn't mean one doesn't exist. I just made a front end GUI for the spleeter program, perhaps go to Deezer's github page and see if you can find more information there.