Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved Install Instructions #642

Closed
wants to merge 8 commits into from
Closed

Improved Install Instructions #642

wants to merge 8 commits into from

Conversation

tomodachi94
Copy link

As discussed here, I have added instructions for using with venv.

(Required for automation: Fix #640)

(Mentions: @blue-fish)

@tomodachi94
Copy link
Author

blue-fish, let me know if anything needs changing!

@ghost
Copy link

ghost commented Jan 24, 2021

@tomodachi94 Thank you for submitting the PR. Your style is helpful and explanatory while the rest of the setup instructions is rather minimal. And this makes me think that we should be writing with a different audience in mind.

The typical user doesn't have enough computer experience to use the README effectively, turning a 5-step process into a nightmare that lasts hours. Maybe we should rewrite it to be more like:

  1. Windows users follow these friendly step-by-step instructions to set up the repo
  2. Everyone else go to Issue 615 or see the wiki.

But it may not be possible to make Windows instructions that are robust like what we have for Ubuntu: #615 (comment)

@ghost
Copy link

ghost commented Jan 24, 2021

I think #639 is a less common situation where the person uses Python for multiple projects, but doesn't already utilize virtual environments. Usually users seem to fall into one of two categories:

  1. Experienced enough with python to use virtualenv
  2. Installing python for the first time to run this project only

So now I'm questioning if the README needs to include instructions on setting up the virtual environment. Eventually, we'll have a binary release (.exe) that will greatly simplify setup. Considering everything here, I think we don't need the pull request. What do you think?

@tomodachi94
Copy link
Author

tomodachi94 commented Jan 24, 2021

...the rest of the setup instructions is rather minimal.

This is sad but true. I wouldn’t mind adding more details to the existing documentation.

————————————————————

And this makes me think that we should be writing with a different audience in mind. The typical user doesn't have enough computer experience to use the README effectively, turning a 5-step process into a nightmare that lasts hours.

This is true. Most people are used to a GUI, and find the Command Line scary and hard to use without experience.

————————————————————

Maybe we should rewrite it to be more like: Windows users follow these friendly step-by-step instructions to set up the repo
Everyone else go to Issue 615 or see the wiki.

I disagree. Shouldn’t all instructions be in one place (file), perhaps an INSTALL.md?

————————————————————

But it may not be possible to make Windows instructions that are robust like what we have for Ubuntu.

Most commands on Ubuntu have some variation on Windows (a major exception being Git).

Apologies for the long comment!

@tomodachi94
Copy link
Author

I think # 639 is a less common situation where the person uses Python for multiple projects, but doesn't already utilize virtual environments. Usually users seem to fall into one of two categories:
Experienced enough with python to use virtualenv
Installing python for the first time to run this project only

This is true.

So now I'm questioning if the README needs to include instructions on setting up the virtual environment. Eventually, we'll have a binary release (.exe) that will greatly simplify setup. Considering everything here, I think we don't need the pull request. What do you think?

I personally think we should move install instructions to another file (as stated in my previous comment) but I think it should be merged as the install instructions should be current and working, not for the future or the past.

Again, apologies for the lengthly reply.

@ghost
Copy link

ghost commented Jan 24, 2021

I personally think we should move install instructions to another file

Excellent suggestion! Let's replace the minimal instructions in the readme with a link to INSTALL.md. Are you willing to help write the instructions for Windows? I can provide feedback and testing.

@tomodachi94
Copy link
Author

@blue-fish I would be pleased to help you with this.

I have access to both Windows and Ubuntu (via WSL), however testing on multiple environments will prevent error, so testing would be helpful.

TLDR: Yes, I am willing to help write instructions for Windows and could help with Ubuntu instructions if needed.

Thank you for taking the time to respond!

@tomodachi94 tomodachi94 changed the title Add instructions for using with venv Improved Install Instructions Jan 24, 2021
@tomodachi94
Copy link
Author

Whoops, meant to commit "Remove Installation Instructions from README.md" not "Remove insta".

@ghost
Copy link

ghost commented Jan 24, 2021

Awesome, thanks for helping write the install guide! This code gets downloaded a lot (over 1000 times/week) so any improvement to the install process will have a big impact.

If it would make the guide easier to write, I have the power to do things that simplify the install process. For example: we can publish a "release" zip file that bundles the code along with the model checkpoints and a standalone ffmpeg.exe. That eliminates the need to "install ffmpeg" or "download pretrained models". Let me know if interested.

@tomodachi94
Copy link
Author

tomodachi94 commented Jan 24, 2021

@blue-fish most certainly publish "releases" in GitHub for every stable release.

Not sure about the legality of distributing the executable file though.

And don't worry about the install instructions too much, I'll get it mostly taken care of, I'll let you know if I need your assistance.

Source: #615
Attribution for instructions go to @FreddyFeuerstein , proofread by @blue-fish and adapted for file by your truly
@tomodachi94
Copy link
Author

tomodachi94 commented Jan 24, 2021

Can someone contribute some Mac OSX instructions?

@ghost
Copy link

ghost commented Jan 24, 2021

Can someone contribute some MacOS X instructions?

The basic outline is:

  1. Install Python 3.7 from https://www.python.org/downloads/mac-osx/
  2. Install homebrew
  3. brew install ffmpeg
  4. Everything else is almost identical to Linux after that

@ghost
Copy link

ghost commented Jan 24, 2021

Let's write the install guides for the repo in its current state. Releases will come later.

Based off of the Linux instructions by @FreddyFeuerstein with recommendations by @blue-fish
@tomodachi94
Copy link
Author

Completed, @blue-fish.

@tomodachi94
Copy link
Author

tomodachi94 commented Jan 24, 2021

I'll work on improving the Windows install instructions.

@ghost ghost deleted a comment Jan 24, 2021
Copy link

@likith1337 likith1337 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please Mention it as Python 3.7 and below
As tensorflow=1.15 is not supported in 3.8 and higher

@tomodachi94
Copy link
Author

Please Mention it as Python 3.7 and below
As tensorflow=1.15 is not supported in 3.8 and higher

@likith1337 done. Anything else?

INSTALL.md Show resolved Hide resolved
@ghost
Copy link

ghost commented Jan 28, 2021

Windows setup instructions are now maintained here: #647 (comment)

@ghost
Copy link

ghost commented Mar 23, 2021

@apv96 The webrtcvad message is a warning, not an error. The toolbox is able to work without it. Installing webrtcvad on Windows can be difficult so we make it optional.

If a toolbox window is not appearing, then that's caused by something else.

@Daikath
Copy link

Daikath commented Mar 23, 2021

@apv96 The webrtcvad message is a warning, not an error. The toolbox is able to work without it. Installing webrtcvad on Windows can be difficult so we make it optional.

If a toolbox window is not appearing, then that's caused by something else.

Why do programmers keep smoking despite all the health warnings on the packaging??

They are warnings. Not errors.

@apv96
Copy link

apv96 commented Mar 23, 2021

@apv96 The webrtcvad message is a warning, not an error. The toolbox is able to work without it. Installing webrtcvad on Windows can be difficult so we make it optional.

If a toolbox window is not appearing, then that's caused by something else.

Thanks a lot, I thought the toolbox wasnt appearing cause of that warning. It must be something else wrong but I don't get any error message. Sorry for asking something that was already explained and thanks again

@Daikath
Copy link

Daikath commented Mar 23, 2021

@apv96 A problem I had. Was that it opened the toolbox. But that windows didnt select it so I didn't see it.

After clicking on it on the taskbar I got to work with it.

It may be a very simple thing. But if I missed it. Maybe it could be it.

@apv96
Copy link

apv96 commented Mar 24, 2021

@Daikath thanks for help, i found the python task suspended in the task manager but i'm not sure how to change its state. Luckily i did the setup on my secondary laptop and it works perfectly. I will try to fix the task problem to execute it on my main pc.

@pacifist-dev
Copy link

pacifist-dev commented Apr 7, 2021

i also have the same problem apv96 is having. no errors are logged other than the webrtcvad one but the process doesnt start either, making it hard to troubleshoot

@tomodachi94
Copy link
Author

Hey @pacifist-dev @blue-fish @apv96 ,
Sorry for my extended absence.

Perhaps the error is created by a try/except block with pass?

@apv96
Copy link

apv96 commented Apr 7, 2021

i also have the same problem apv96 is having. no errors are logged other than the webrtcvad one but the process doesnt start either, making it hard to troubleshoot

I think the problem is caused by the task appearing as suspended in the the taskbar, i don't know how to solve it so i can't help more.

@pacifist-dev
Copy link

i saw a python task suspended once when troubleshooting, but was not able to reproduce it. however, every time i run the process, the windows problem reporting task ramps up in cpu and power usage in task manager

@qoevak
Copy link

qoevak commented Jun 18, 2021

Can someone explain step 2 (Pretrained files) in excruciating detail?

@ghost
Copy link

ghost commented Jun 19, 2021

Can someone explain step 2 (Pretrained files) in excruciating detail?

@qoevak

Detailed instructions for step 12 (pretrained files)

  1. Open Windows Explorer and navigate to the downloaded pretrained.zip file.
  2. Double-click to look inside the zip file.
  3. You will see 3 folders, named encoder, synthesizer and vocoder.
    • This mirrors the directory structure of the repo.
  4. Go inside the encoder folder. You will see a folder named saved_models.
  5. Open a second Windows Explorer and navigate to C:\Real-Time-Voice-Cloning-master\encoder
  6. Drag and drop the saved_models folder into C:\Real-Time-Voice-Cloning-master\encoder.
  7. Repeat 4-6 for "synthesizer" and "vocoder":
    • Drag and drop the saved_models folder from the zip file's synthesizer folder into C:\Real-Time-Voice-Cloning-master\synthesizer.
    • Drag and drop the saved_models folder from the zip file's vocoder folder into C:\Real-Time-Voice-Cloning-master\vocoder.

Notes

  • All of the pretrained model files in the zip file are named pretrained.pt, which can be super confusing.
    • The one inside "encoder" can only be used with the encoder.
    • The one inside "synthesizer" can only be used with the synthesizer.
    • The one inside "vocoder" can only be used with the vocoder.
  • You can use the filesizes to tell them apart.
    • The encoder pretrained.pt is 17 MB.
    • The synthesizer pretrained.pt is 370 MB.
    • The vocoder pretrained.pt is 53 MB.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use venvs for program due to outdated dependancies