diracdeltas / spleeter4max

separate audio in ableton into stems using Spleeter
https://youtu.be/4pcJoI5CUOA
547 stars 51 forks source link

RuntimeError: dictionary changed size during iteration #30

Closed cold-inferno closed 4 years ago

cold-inferno commented 4 years ago

Homebrew, Python, FFmpeg and Spleeter all installed correctly as far as i can tell. Checked the install using "python3 check-install.py" got no errors.

Error text in MAX

Error: Command failed: spleeter separate -i "/Users/MyUsername/Downloads/target.mp3" -o "/Users/MyUsername/Music/Ableton/User Library/M4L/spleeter-native" -p spleeter:4stems-16kHz
Traceback (most recent call last):
  File "/usr/local/bin/spleeter", line 10, in <module>
    sys.exit(entrypoint())
  File "/Library/Python/3.7/site-packages/spleeter/__main__.py", line 54, in entrypoint
    main(sys.argv)
  File "/Library/Python/3.7/site-packages/spleeter/__main__.py", line 36, in main
    enable_logging()
  File "/Library/Python/3.7/site-packages/spleeter/utils/logging.py", line 60, in enable_logging
    tf_logger = get_tensorflow_logger()
  File "/Library/Python/3.7/site-packages/spleeter/utils/logging.py", line 27, in get_tensorflow_logger
    from tensorflow.compat.v1 import logging
  File "/Library/Python/3.7/site-packages/tensorflow/__init__.py", line 99, in <module>
    from tensorflow_core import *
  File "/Library/Python/3.7/site-packages/tensorflow_core/__init__.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "<frozen importlib._bootstrap>", line 1019, in _handle_fromlist
  File "/Library/Python/3.7/site-packages/tensorflow/__init__.py", line 50, in __getattr__
    module = self._load()
  File "/Library/Python/3.7/site-packages/tensorflow/__init__.py", line 44, in _load
    module = _importlib.import_module(self.__name__)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/Library/Python/3.7/site-packages/tensorflow_core/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/Library/Python/3.7/site-packages/tensorflow_core/core/framework/graph_pb2.py", line 7, in <module>
    from google.protobuf import descriptor as _descriptor
  File "/Library/Python/3.7/site-packages/google/protobuf/__init__.py", line 37, in <module>
    __import__('pkg_resources').declare_namespace(__name__)
  File "/Library/Python/3.7/site-packages/pkg_resources/__init__.py", line 84, in <module>
    __import__('pkg_resources.extern.packaging.requirements')
  File "/Library/Python/3.7/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module>
    from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
  File "/Library/Python/3.7/site-packages/pkg_resources/extern/__init__.py", line 43, in load_module
    __import__(extant)
  File "/Library/Python/3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 4756, in <module>
    _escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1])
  File "/Library/Python/3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1284, in setParseAction
    self.parseAction = list(map(_trim_arity, list(fns)))
  File "/Library/Python/3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1066, in _trim_arity
    this_line = extract_stack(limit=2)[-1]
  File "/Library/Python/3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1050, in extract_stack
    frame_summary = traceback.extract_stack(limit=-offset+limit-1)[offset]
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/traceback.py", line 211, in extract_stack
    stack = StackSummary.extract(walk_stack(f), limit=limit)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/traceback.py", line 363, in extract
    f.line
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/traceback.py", line 285, in line
    self._line = linecache.getline(self.filename, self.lineno).strip()
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/linecache.py", line 16, in getline
    lines = getlines(filename, module_globals)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/linecache.py", line 48, in getlines
    for mod in sys.modules.values():
RuntimeError: dictionary changed size during iteration

nb. most likely i've overlooked something, or did something wrong. Though i can't seem to figure out what.

diracdeltas commented 4 years ago

dupe of https://github.com/diracdeltas/spleeter4max/issues/11. no idea why this is happening tbh :(. i'll investigate more and post in the other issue.

diracdeltas commented 4 years ago

ok, i think this is fixable by updating python to 3.7.5 https://github.com/tensorflow/tensorflow/issues/33183#issuecomment-557915426