Skip to content
This repository has been archived by the owner on Jun 21, 2023. It is now read-only.

Fix issues to enable Windows support #62

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

rotemdan
Copy link

@rotemdan rotemdan commented Aug 25, 2022

Hi, I tried installing and running the package on Windows and encountered several issues. Fortunately, none of them were truly serious and I managed to get it (almost) fully working (both CLI and server) with some patches:

  1. phonemes2ids 1.0.0 fails to install on Windows. Upgrading the dependency to 1.2.0 fixed it.
  2. In server.py: _LOOP.add_signal_handler(signal.SIGTERM, _signal_handler) is not supported on Windows (getting NotImplementedError). Ignoring this error works around the issue. I tested that CTRL+C still aborts the server, although it may not do it as cleanly as with a handler.
  3. In utils.py, with tempfile.NamedTemporaryFile(mode="wb+" ... opens a temporary file in write mode. Later shutil.unpack_archive attempts to reopen the file while it is still opened for writing. This works on Linux, but not on Windows (unless the secondary opener passes a special low level flag to enable sharing of this sort). I worked around the issue by closing the file and later deleting it in a finally clause.

Other Windows issues:

  1. In the CLI, audio doesn't play since Windows doesn't have a default play command (it falls back to saving a wav file but unfortunately, the wav file contains only the last sentence when the text includes multiple sentences).
  2. Possible windows-specific error on the server: after a voice is downloaded the web interface requests null and gets a 404 error? I'm not sure why this happens but it doesn't seem to impact anything (edit: it only happens when using the web interface, not when requesting from the REST api, so I'm not sure it is platform-specific).

I'm really happy to be able to run this directly on Windows. Having to use WSL or docker isn't very convenient, and makes it difficult/impossible to import it as a library.

Please let me know if there's anything I've missed.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant