Setting up the Environment

Setting up the environment is probably the "hardest" part for many people.

Set up Python Environment

This project is tested under Python 3.8. Other versions may cause issues.

To avoid conflict with other projects, it's recommended to use a virtual environment. We will use Anaconda in this guide, you can also use Miniconda or other options if you are familiar with them.

Using Conda

  1. Download and install Anaconda: https://www.anaconda.com/products/distribution

If you are on a Windows machine, go to Start -> Anaconda3 -> Anaconda Prompt to use the Anaconda Prompt that you just installed to run the following steps. (NOT Anaconda Powershell Prompt since commands will be slightly different on Powershell)

  1. Run this command to create a virtual environment with Python 3.8 named diff-svc (you can also use other names):

conda create -n diff-svc python=3.8
  1. Next, run this command to activate the virtual environment you just created:

conda activate diff-svc

If the next line starts with (diff-svc), the virtual environment is activated successfully.

Make sure you are in this environment when running the commands later in this guide.

Install Diff-SVC Dependencies

  1. Go to Diff-SVC's GitHub repository, click on code -> Download ZIP

Alternativly, use git clone if you know what it is

  1. Extract the zip file, you should now have a diff-svc-main folder.

  2. Navigate to the diff-svc-main folder in the command line and make sure you are in the diff-svc environment.

  3. Run this command to install PyTorch:

    conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

This command may not apply to everyone. You can run nvidia-smi to check the highest supported CUDA version of your GPU, then use the command from https://pytorch.org/get-started/locally/ to download the corresponding version.

If your supported CUDA version is lower than 11.6 even after upgrading the NVIDIA Driver, try using conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 to install the 11.3 version.

  1. Run this command to install other required packages:

    pip install -r requirements_short.txt

If you are on a Windows machine, you may encounter an error that says Microsoft Visual C++ 14.0 or greater is required when building webrtcvad. You can follow the instruction on the error message and install the latest build tools or just install Visual Studio.

Install Tensorboard (Optional)

Tensorboard helps you visualize training. This step is not required for the program to function but it's recommended to do.

Run this command in the diff-svc environment to install Tensorboard.

pip install tensorboard

Install Jupyter Notebook and Create Kernel (Optional)

One of the options for inference is using Jupyter Notebook. This step is not required if you want to use other tools for inference or if you want to use other programs (like VSCode) that also support Jupyter Notebook. You may decide if you want to do it this way and come back later.

  1. Run this command to install Jupyter Notebook

conda install notebook

To make the diff-svc environment visible in Jupyter, you need to create a kernel.

  1. Run this command to install ipykernel:

conda install ipykernel
  1. Create a kernel named diff-svc (you can also use other names):

ipython kernel install --user --name=diff-svc

Download the Required Checkpoints

You also need to download some model checkpoints and place them correctly.

Folder Structure
  1. Get checkpoints.zip from the Diff-SVC Discord server or some other mirror links online.

  2. Extract the folders inside and put them under a folder called checkpoints under your diff-svc folder.

  3. (If you want to train a 44.1kHz model), you should also download the 44.1kHz vocoder from here. (You only need nsf_hifigan_xxxxxx.zip, ignore the "finetune" and "onnx" ones)

    1. Extract the zip file and put the nsf_hifigan folder under checkpoints.

    2. (The 24kHz vocoder is not needed in this case, but you can also keep it there)

Last updated

Was this helpful?