RVC-Project / Retrieval-based-Voice-Conversion-WebUI

Easily train a good VC model with voice data <= 10 mins!
MIT License
24.84k stars 3.64k forks source link

Cannot progress the installation process past the Install Poetry step #1947

Open Boyishdude opened 8 months ago

Boyishdude commented 8 months ago

I'm brand new to Python (my installed version is Python 3.12.2) and was just following the instructions provided by the English version of the guide ( https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/docs/en/README.en.md ). I avoided the initial issue with the RTX 3060 my laptop has by using the solution found here: https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/issues/21#issue-1659522472

I just replaced the cu117 part with cu118 in the provided line of code.

After that, everything else was also going fine until I hit this stage of the process:

image

I wasn't able to run either of those codes, as I get the following errors when I do:

image

Nor was I able to run the alternative pip code:

image

Because I get the following error when I do this:

image

I tried the "py -m pip" first because that's the code you use to install packages with pip in v3.12.

Despite these problems, I was able to install Poetry just fine through pipx (after installing pipx) through the instructions I found here: https://pipx.pypa.io/stable/installation/

and here: https://python-poetry.org/docs/#installing-with-pipx

"That's fine," I thought. "I already have Poetry installed, which seems to be what I need. Surely I can run the following codes?" So, I tried to use the very next piece of code:

image

To no avail:

image

I'm not really sure what to do. I want to install this stuff so I can train my own voice models for various projects, but if I can't even download the pre-models... Are the people who made this FOSS assuming that I have certain other things in Python installed prior to executing these codes that it just didn't make me aware of? I don't know what the problem is, and I don't know how to fix it. Any help would be appreciated.

ic1149 commented 7 months ago

some libraries used in this project (e.g. tensorflow) don't support python 3.12, so use python 3.11

I find pip easier to use than poetry requirements.txt is not found because your path is "C:\Users\yourUsername\requirements.txt" so use cd to get to the directory where requirements.txt is located or copy the full path of the file

for downloading models, use cd to get to the directory where download_models.py is or copy the full path, same situation as requirements.txt

feel free to ask me more if it is still not working

Boyishdude commented 7 months ago

I installed and used 3.11.9 via pyenv's Windows version, but I still got the same errors at the curl -sSL https://install.python-poetry.org | python3 - and poetry install steps. The former seems to be an innate issue with the script's code since there's no sSL for it to call (if you go here https://install.python-poetry.org/ and use CTRL+F to try and find sSL, you won't find it), and the poetry install error was the same as before.

I don't know where requirements.txt is supposed to be for this project, what's in it, or how to change the directory to it (I'm not sure how to use "cd"). I'm also not certain on how to rewrite the codes to use the copied file paths instead.

ic1149 commented 7 months ago

So the outmost folder of the app after extraction, which contains the files and folders. You should see requirements.txt, find the correct one for your system and select it, copy as path by pressing ctrl+shift+c or right clock and copy as path (both windows 10 and 11). Go to command prompt, type "pip install -r " and paste that path on the same line, hit enter. This should install the requirements.txt file using pip. Sorry for my bad English.

Boyishdude commented 7 months ago

When I did that, nothing happened:

image

Upon closer examination, the requirements.txt that comes with pyenv is an empty document:

image

image

I tried doing the model downloads right afterward anyway just to see if it would work, and got the same error as before: image

It turns out that I do not have a file called _downloadmodels.py at all. I checked with File Explorer's search function, and nothing came up.

My instinct tells me that something must have gone wrong somewhere with one of the previous steps in getting all of this stuff installed, whether it was RVC itself or Python/pyenv, and that I should start over from scratch, but being brand new to Python I have no way of knowing whether or not that is actually the source of the problem or if it's something else altogether.

ic1149 commented 7 months ago

You can just find where did you put the RVC root folder, and type "cd " and paste the path of the folder on the same line and press enter. this way you are choosing the directory to access the files you downloaded for RVC. Then requirements.txt and download_models.py can be accessed because the path is now correct.

Boyishdude commented 7 months ago

Oh, there's a specific RVC package I'm supposed to download outside of just following the instructions for how to get it all running in PowerShell/Command Prompt? I would've figured that something this important would be included in the README guide for getting everything installed and set up properly. My not downloading this might be the source of all of my problems, and part of me does feel like a bit of a dunce for that, as much as it wasn't entirely my fault (by default the RVC Github pages are in a language I can't read, and I wasn't able to get it translated automatically). I just started downloading the latest Nvidia package from https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/releases/tag/updated1006v2 , so maybe that'll solve my problems.

Edit: It solved one problem, but now I have a few new ones:

image

image

image

I would try to go into more specifics, but I'm way too tired at the moment (I've been awake for more tan 24 hours at this point). Sadly, you'll unfortunately just have to make do with the screenshots I provided.

Boyishdude commented 7 months ago

Ignore the previous comment I made last night. I uninstalled 3.12.2, the other versions of Python I had installed with pyenv, then uninstalled and reinstalled pyenv. Then I installed 3.10.9. After doing that, I got everything working up until the point where I have to use infer-web.py to start the WebUI directly, though there was a hiccup in downloading the models (I assume it was because my connection was too slow, so it was struggling to download a particular model. I turned off my VPN, which disconnected me and cancelled the download. After that, I restarted the download as normal with the VPN off).

The current issue I'm facing is strange because I got this error:

image

...which makes no sense because I do in fact have a 'configs/v1/32k.json' path in the RVC folder.

image

I'm not sure what to do to fix this.

ic1149 commented 7 months ago

This seems like a bug, the file pathing is wrong. Maybe try copying the "configs" folder and pasting one in the original configs folder. So you have a copy of the configs folder in the original configs folder. I hope this will comply with the wrong path.

Boyishdude commented 7 months ago

There's only one 'configs' folder in the RVC directory:

image

image

I'm a bit confused. Where exactly do you want me to paste it..?

ic1149 commented 7 months ago

This might be counter intuitive, but copy the configs folder and paste it inside the configs folder, so it would be configs/configs/

Boyishdude commented 7 months ago

image

It does not appear that Windows will let me do that.

While we try to figure that out, another angle I want to ask about is the FFmpeg and FFprobe files. Is the root folder in Windows the User folder ("C:\Users\ [user's name]"), or is it something else? The instructions in the readme were to place these two files in the root folder after downloading them, and I'm not entirely sure what that means.

ic1149 commented 7 months ago

Root folder of rvc web ui

ic1149 commented 7 months ago

Oh no, maybe try copying configs to another location temporarily and copy and paste one more time inside the original configs.

Boyishdude commented 7 months ago

I assume the root folder of RVC Web UI is the folder containing all the files, not the folder of the same name preceding it that has no files?

I managed to copy the configs folder into the configs folder by copying it, pasting it into the same directory that it was in originally, moving the copy into the configs folder, and renaming it back to configs, but it still didn't work (I got the same error message). Is there any way to fix the file path itself to make it talk to the json file? The error was taking about lines of code in some of the files it was calling, so maybe there are some problems with the stated lines?

ic1149 commented 7 months ago

Yes root folder is that one containing a lot of things

ic1149 commented 7 months ago

I am not too sure but maybe try using go-web.bat by simply clicking on the file.

Boyishdude commented 7 months ago

I am not too sure but maybe try using go-web.bat by simply clicking on the file.

This seems to have worked for the moment? I have the tab open in the browser, so I guess I just need to figure out how to train voices with RVC now. I figure I'll leave this issue open just in case I have any more problems, though. I don't exactly have the luckiest track record with software in general, especially on Windows...

ic1149 commented 7 months ago

Hurray! 😄

Boyishdude commented 7 months ago

I'm assuming that even though it uninstalled and reinstalled other versions of the torch dependencies and a few other things RVC uses, installing Applio didn't brick the main RVC in any way?

Speaking of Applio, do you happen to know of any good ways to use the voice models I create in RVC to do TTS for free? TTS was kind of the whole reason I wanted to install and use RVC to begin with, so if I can't do that with (ideally) just the custom voice models themselves, it's all pointless. I tried Applio, and I dunno if I just didn't train the custom model with enough epochs or what, but I didn't like the result.

I'd also like to know if there's any way to apply more training to a custom model that was already made, like taking my 50 epochs model and then making it go through another 50 epochs of training?

ic1149 commented 7 months ago

I think ten minutes of speech can make a good model. Try tweaking the voice conversation parameters to get a better result. I think you can combine models to add more to existing models.

Boyishdude commented 7 months ago

I did use ten minutes or more of speech, but I only had three lines of dialogue to work with total so the dialogue was duplicated and split into multiple files to reach that quota. I only trained it for 50 epochs, though.

Still, the bottom line is that regardless of the quality of the models, I need to be able to use them for high-quality TTS.

ic1149 commented 7 months ago

Three lines are definitely not enough. Training duplicates are near useless.

Boyishdude commented 7 months ago

If that's the case, I guess I'll be stuck with ElevenLabs' IVC for that character.

I got an error code on the 22nd epoch last night, but unfortunately I did not take the screenshot. It basically meant that it could not continue training the model. It wasn't a GPU memory error, so I don't know what the problem was.

Boyishdude commented 7 months ago

Given that my GTX 1070 has more VRAM I figured it would be more efficient for me to use my tower instead of the laptop for RVC in the long-run, but I literally can't get it to run. I get the same error as I did on Windows when I try to run infer-web.py, but unlike on Windows, using go-web.bat to fix the problem doesn't work because my tower uses Linux Mint (I forget which version of Mint, but that shouldn't matter since it's still supported), and .bat (Windows Batch Files) obviously don't work on Linux. I tried changing the suffix to .sh to turn it into a program file instead of a text file, but that didn't work either.

I'm genuinely at a loss as to what to do. I followed the Linux installation instructions to the letter and had no issues up to that point. Is there any way I can force it to recognize the location of the files it says are missing at:

Ignore the previous comment I made last night. I uninstalled 3.12.2, the other versions of Python I had installed with pyenv, then uninstalled and reinstalled pyenv. Then I installed 3.10.9. After doing that, I got everything working up until the point where I have to use infer-web.py to start the WebUI directly, though there was a hiccup in downloading the models (I assume it was because my connection was too slow, so it was struggling to download a particular model. I turned off my VPN, which disconnected me and cancelled the download. After that, I restarted the download as normal with the VPN off).

The current issue I'm facing is strange because I got this error:

image

...which makes no sense because I do in fact have a 'configs/v1/32k.json' path in the RVC folder.

image

I'm not sure what to do to fix this.

ic1149 commented 7 months ago

On Linux run "run.sh"

Boyishdude commented 7 months ago

How exactly do I do that? I did the ch +x thing to make it executable and run it, and while it installed a bunch of things it also had multiple errors, including dlmodel at the end, which I apparently "didn't have permission to run." It also didn't open the WebUI.

ic1149 commented 7 months ago

Add "sudo " in front of those commands that you didn't have permission to run. Using sudo means running the command as root (aka the highest permission and can do pretty much anything in Linux)

E.g. "sudo ch +x /home/downloads/rvc/run.sh"

Boyishdude commented 7 months ago

It just told me that under sudo the ch command doesn't exist.

image

ic1149 commented 7 months ago

sudo chmod +x