diff --git a/README_dev_en.md b/README_dev_en.md new file mode 100644 index 00000000..56262a98 --- /dev/null +++ b/README_dev_en.md @@ -0,0 +1,95 @@ +## For Developper + +[English](/README_dev_ja.md) + +## Prerequisit + +- Linux or WSL2 (not tested for Mac ) +- Anaconda + +## Preparation + +1. Create anaconda virtual environment + +``` +$ conda create -n vcclient-dev python=3.10 +$ conda activate vcclient-dev +``` + +2. clone repository + +``` +$ git clone https://github.com/w-okada/voice-changer.git +$ cd voice-changer +``` + +## For Server Developer + +1. Clone support VC repository + +``` +cd server +git clone https://github.com/isletennos/MMVC_Client.git MMVC_Client_v13 +git clone https://github.com/isletennos/MMVC_Client.git MMVC_Client_v15 +git clone https://github.com/StarStringStudio/so-vits-svc.git so-vits-svc-40 +git clone https://github.com/StarStringStudio/so-vits-svc.git so-vits-svc-40v2 +cd so-vits-svc-40v2 && git checkout 08c70ff3d2f7958820b715db2a2180f4b7f92f8d && cd - +git clone https://github.com/yxlllc/DDSP-SVC.git DDSP-SVC +git clone https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI.git RVC +``` + +2. Copy weights + +copy weights of emmbedding or vocoder. These file path can be set as parameter when invoke server. + +(1) hubert_base.pt + +download from [here](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main) + +(2) content vec + +download ContentVec_legacy_500 from [here](https://github.com/auspicious3000/contentvec) + +(3) hubert_soft + +download from [here](https://github.com/bshall/hubert/releases/download/v0.1/hubert-soft-0d54a1f4.pt) + +(4) vocorder + +download nsf_hifigan_20221211.zip from [here](https://github.com/openvpi/vocoders/releases/tag/nsf-hifigan-v1) and expand it. + +3. Install requirements + +``` +$ pip install -r requirements.txt +``` + +4. Run server + +Run server with the below command. You can replace the path to each weight. + +``` +$ python3 MMVCServerSIO.py -p 18888 --https true \ + --content_vec_500 weights/checkpoint_best_legacy_500.pt \ + --hubert_base weights/hubert_base.pt \ + --hubert_soft weights/hubert-soft-0d54a1f4.pt \ + --nsf_hifigan weights/nsf_hifigan/model +``` + +5. Enjoy developing. + +## For Client Developer + +1. Import modules and initial build + +``` +cd client +cd lib +npm install +npm run build:dev +cd ../demo +npm install +npm run build:dev +``` + +2. Enjoy developing. diff --git a/README_dev_ja.md b/README_dev_ja.md new file mode 100644 index 00000000..c091e140 --- /dev/null +++ b/README_dev_ja.md @@ -0,0 +1,95 @@ +## 開発者向け + +[English](/README_dev_en.md) + +## 前提 + +- Linux or WSL2 (not tested for Mac ) +- Anaconda + +## 準備 + +1. Anaconda の仮想環境を作成する + +``` +$ conda create -n vcclient-dev python=3.10 +$ conda activate vcclient-dev +``` + +2. リポジトリをクローンする + +``` +$ git clone https://github.com/w-okada/voice-changer.git +$ cd voice-changer +``` + +## サーバ開発者向け + +1. 外部のリポジトリをサーバ内にクローンする + +``` +cd server +git clone https://github.com/isletennos/MMVC_Client.git MMVC_Client_v13 +git clone https://github.com/isletennos/MMVC_Client.git MMVC_Client_v15 +git clone https://github.com/StarStringStudio/so-vits-svc.git so-vits-svc-40 +git clone https://github.com/StarStringStudio/so-vits-svc.git so-vits-svc-40v2 +cd so-vits-svc-40v2 && git checkout 08c70ff3d2f7958820b715db2a2180f4b7f92f8d && cd - +git clone https://github.com/yxlllc/DDSP-SVC.git DDSP-SVC +git clone https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI.git RVC +``` + +2. 外部のモデルの重みを配置する + +copy weights of emmbedding or vocoder. These file path can be set as parameter when invoke server. + +(1) hubert_base.pt + +download from [here](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main) + +(2) content vec + +download ContentVec_legacy_500 from [here](https://github.com/auspicious3000/contentvec) + +(3) hubert_soft + +download from [here](https://github.com/bshall/hubert/releases/download/v0.1/hubert-soft-0d54a1f4.pt) + +(4) vocorder + +download nsf_hifigan_20221211.zip from [here](https://github.com/openvpi/vocoders/releases/tag/nsf-hifigan-v1) and expand it. + +3. モジュールをインストールする + +``` +$ pip install -r requirements.txt +``` + +4. サーバを起動する + +Run server with the below command. You can replace the path to each weight. + +``` +$ python3 MMVCServerSIO.py -p 18888 --https true \ + --content_vec_500 weights/checkpoint_best_legacy_500.pt \ + --hubert_base weights/hubert_base.pt \ + --hubert_soft weights/hubert-soft-0d54a1f4.pt \ + --nsf_hifigan weights/nsf_hifigan/model +``` + +5. 開発しましょう + +## クライアント開発者向け + +1. モジュールをインストールして、一度ビルドします + +``` +cd client +cd lib +npm install +npm run build:dev +cd ../demo +npm install +npm run build:dev +``` + +2. 開発しましょう diff --git a/README_en.md b/README_en.md index d43b9e92..9c5382c8 100644 --- a/README_en.md +++ b/README_en.md @@ -122,6 +122,8 @@ Clone this repository and use it. Setting up WSL2 is essential for Windows. Addi [Explanation video on installing WSL2 and Anaconda](https://youtu.be/fba9Zhsukqw) +To run on Anaconda venv, see [server developer's guide](README_dev_en.md) + ## Real-time performance Conversion is almost instantaneous when using GPU. diff --git a/server/requirements.txt b/server/requirements.txt index c44a7f79..97ba2e0f 100644 --- a/server/requirements.txt +++ b/server/requirements.txt @@ -1,25 +1,8 @@ -# uvicorn==0.21.1 -# pyOpenSSL==23.0.0 -# numpy==1.23.5 -# #torch==2.0.0 -# torch==1.13.1 -# resampy==0.4.2 -# matplotlib==3.7.1 -# librosa==0.10.0.post1 -# pyworld==0.3.2 -# python-socketio==5.7.2 -# fastapi==0.94.1 -# onnxruntime-gpu==1.14.1 -# python-multipart==0.0.6 -# fairseq==0.12.2 # # apt-get update # # apt-get install -y emacs mlocate wget git curl gcc g++ make unzip # # wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh # # bash Anaconda3-2022.10-Linux-x86_64.sh - - - uvicorn==0.21.1 pyOpenSSL==23.1.1 numpy==1.23.5 @@ -41,4 +24,5 @@ librosa==0.10.0.post1 gin==0.1.6 gin_config==0.5.0 einops==0.6.0 -local_attention==1.8.5 \ No newline at end of file +local_attention==1.8.5 +websockets==11.0.2 \ No newline at end of file