Mozer / wav2lip_extension

21 stars 5 forks source link

bundle with docker #3

Open johndpope opened 6 months ago

johndpope commented 6 months ago

related https://github.com/daswer123/xtts-api-server/issues/34

Mozer commented 6 months ago

I'm new to Docker. Is it supposed to be windows or linux container? Can I even make a docker container for linux under my windows 11?

ostr00000 commented 6 months ago

Is it supposed to be windows or linux container? - I think that there are only Linux containers (I may be wrong), but it is possible to run docker containers on Windows. So the answer to Can I even make a docker container for linux under my windows 11? is yes.


I just want to point that the whole idea of docker is to make better independence between various services, but I am afraid that this is currently not possible. The file out.wav is required to be at certain location (this is why this option is present in readme: --output c:\\SillyTavern-Extras\\).

  1. This will not work if the xtts service is in another location (if no --output flag is provided). As a workaround, I created a Linux soft link in the required location (SillyTavern-extras/out.wav) pointing to a generated by xtts server output file.
  2. Also, this will not work, when xtts is started with --use-cache option. I modified my local xtts to also make a second file (so now always 2 files are generated out.wav and the [date]_cache_out.wav). This is obviously ugly workaround - it does not work when multiple request are performed. (wav2lip_extension must read this file before next request in xtts override this file).

I believe that correct implementation of wav2lip_extension should not rely on a file at specific location, but get .wav from a response from xtts server. This will allow being independent of xtts server. It would be possible to map out.wav between multiple dockers (ex. docker 1: xtts, docker 2: SillyTavern-extras + wav2lip_extension), but this will not eliminate the problem with concurrency.