HENDRIX-ZT2 / pyaudiorestoration

A set of tools to restore audio quality from a variety of old analog sources, such as tape, cassettes, acetates and vinyl.
GNU General Public License v2.0
82 stars 7 forks source link

Difficulties getting this to run, how about a container? #29

Closed davidhealey closed 1 year ago

davidhealey commented 1 year ago

It seems to be very difficult to get this to run. I've been trying all day on Linux and a bit on Windows. I keep running up against all kinds of version incompatibilities between different libraries.

Could you make a proper distribution for this or perhaps a container image to make it quick and easy for people to get up and running?

HENDRIX-ZT2 commented 1 year ago

Since I don't have Linux I can't provide containers or distributions for that. On windows, attempts at bundling it to an exe failed from the complexity of dependencies.

However, I have improved the installation instructions to be more up to date and removed my code's requirements for specific older dependencies' versions. So please test the installation again with the current code and instructions.

davidhealey commented 1 year ago

Well the build went pretty smoothly on Windows. Except I had to edit the requirements file because you've put some notes in there which prevents pip install -r requirements.txt from working.

However when I try to run any of the scripts I get errors like this.

C:\Users\John>python C:\Users\John\Desktop\pyaudiorestoration\pytapesynch_gui.py
Running...
Python: 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
Numpy: 1.23.5
Vispy: 0.12.2
Traceback (most recent call last):
  File "C:\Users\John\Desktop\pyaudiorestoration\pytapesynch_gui.py", line 286, in <module>
    widgets.startup(MainWindow)
  File "C:\Users\John\Desktop\pyaudiorestoration\util\widgets.py", line 47, in startup
    win = cls()
  File "C:\Users\John\Desktop\pyaudiorestoration\pytapesynch_gui.py", line 22, in __init__
    widgets.MainWindow.__init__(self, "pytapesynch", widgets.ParamWidget, Canvas, 2)
  File "C:\Users\John\Desktop\pyaudiorestoration\util\widgets.py", line 729, in __init__
    self.cfg = config.read_config("config.ini")
  File "C:\Users\John\Desktop\pyaudiorestoration\util\config.py", line 24, in read_config
    with open(cfg_path, 'r', encoding='utf-8') as cfg_file:
FileNotFoundError: [Errno 2] No such file or directory: 'config.ini'
HENDRIX-ZT2 commented 1 year ago

Right. I need to look into patching that to work regardless of current working directory. Solution for you: your current working directory has to be C:\Users\John\Desktop\pyaudiorestoration. Either run the cmd from there or change the CWD with the command cd C:\Users\John\Desktop\pyaudiorestoration

davidhealey commented 1 year ago

Ah ok that makes sense, thanks

HENDRIX-ZT2 commented 1 year ago

That wrong directory bug should be fixed now.

davidhealey commented 1 year ago

New errors:

C:\Users\John\Desktop\pyaudiorestoration>pytapesynch_gui.py
Running...
Python: 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
Numpy: 1.23.5
Vispy: 0.12.2
Traceback (most recent call last):
  File "C:\Users\John\Desktop\pyaudiorestoration\pytapesynch_gui.py", line 286, in <module>
    widgets.startup(MainWindow)
  File "C:\Users\John\Desktop\pyaudiorestoration\util\widgets.py", line 47, in startup
    win = cls()
  File "C:\Users\John\Desktop\pyaudiorestoration\pytapesynch_gui.py", line 22, in __init__
    widgets.MainWindow.__init__(self, "pytapesynch", widgets.ParamWidget, Canvas, 2)
  File "C:\Users\John\Desktop\pyaudiorestoration\util\widgets.py", line 731, in __init__
    self.props = props_widget_cls(parent=self, count=count)
  File "C:\Users\John\Desktop\pyaudiorestoration\util\widgets.py", line 809, in __init__
    self.files_widget = FilesWidget(self, count, self.parent.cfg)
  File "C:\Users\John\Desktop\pyaudiorestoration\util\widgets.py", line 774, in __init__
    vbox2(self, self.files)
  File "C:\Users\John\Desktop\pyaudiorestoration\util\widgets.py", line 102, in vbox2
    box.addStretch(1.0)
TypeError: addStretch(self, stretch: int = 0): argument 1 has unexpected type 'float'
HENDRIX-ZT2 commented 1 year ago

@davidhealey ok, please try again with the latest commit

davidhealey commented 1 year ago

Yep it opens now on Windows, thanks