From 5eef8843cc065ec33de03f951250bc34a1adeef9 Mon Sep 17 00:00:00 2001 From: litagin02 Date: Sat, 16 Mar 2024 15:25:19 +0900 Subject: [PATCH] Improve bat, replace MinGit with PortableGit --- .gitignore | 3 - initialize.py | 11 ++- scripts/Install-Style-Bert-VITS2-CPU.bat | 102 ++++++++++++++++------- scripts/Install-Style-Bert-VITS2.bat | 100 +++++++++++++++------- scripts/Setup-Python.bat | 87 ++++++++++++++----- 5 files changed, 215 insertions(+), 88 deletions(-) diff --git a/.gitignore b/.gitignore index fe8824b..9037a61 100644 --- a/.gitignore +++ b/.gitignore @@ -6,9 +6,6 @@ dist/ .ipynb_checkpoints/ .ruff_cache/ -/Data/ -/model_assets/ - /*.yml !/default_config.yml /bert/*/*.bin diff --git a/initialize.py b/initialize.py index d2680aa..bfe59e4 100644 --- a/initialize.py +++ b/initialize.py @@ -78,6 +78,7 @@ def download_jvnv_models(): def main(): parser = argparse.ArgumentParser() parser.add_argument("--skip_jvnv", action="store_true") + parser.add_argument("--only_infer", action="store_true") parser.add_argument( "--dataset_root", type=str, @@ -94,14 +95,12 @@ def main(): download_bert_models() - download_slm_model() - - download_pretrained_models() - - download_jp_extra_pretrained_models() - if not args.skip_jvnv: download_jvnv_models() + if not args.only_infer: + download_slm_model() + download_pretrained_models() + download_jp_extra_pretrained_models() if args.dataset_root is None and args.assets_root is None: return diff --git a/scripts/Install-Style-Bert-VITS2-CPU.bat b/scripts/Install-Style-Bert-VITS2-CPU.bat index 6822658..f922688 100644 --- a/scripts/Install-Style-Bert-VITS2-CPU.bat +++ b/scripts/Install-Style-Bert-VITS2-CPU.bat @@ -2,11 +2,14 @@ chcp 65001 > NUL @echo off setlocal +@REM PowerShellのコマンド set PS_CMD=PowerShell -NoProfile -NoLogo -ExecutionPolicy Bypass -set DL_URL=https://github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/MinGit-2.44.0-64-bit.zip -set DL_DST=MinGit-2.44.0-64-bit.zip +@REM PortableGitのURLと保存先 +set DL_URL=https://github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/PortableGit-2.44.0-64-bit.7z.exe +set DL_DST=%~dp0lib\PortableGit-2.44.0-64-bit.7z.exe +@REM Style-Bert-VITS2のリポジトリURL set REPO_URL=https://github.com/litagin02/Style-Bert-VITS2 @REM カレントディレクトリをbatファイルのディレクトリに変更 @@ -16,63 +19,100 @@ pushd %~dp0 if not exist lib\ ( mkdir lib ) echo -------------------------------------------------- -echo Downloading MinGit... +echo PS_CMD: %PS_CMD% +echo DL_URL: %DL_URL% +echo DL_DST: %DL_DST% +echo REPO_URL: %REPO_URL% echo -------------------------------------------------- -curl -L %DL_URL% -o "%DL_DST%" -if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) - -@REM lib\MinGitフォルダに解凍 -echo -------------------------------------------------- -echo Extracting MinGit... -echo -------------------------------------------------- -%PS_CMD% "Expand-Archive -LiteralPath %DL_DST% -DestinationPath .\lib\MinGit -Force" -if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) - -del %DL_DST% - -@REM Gitコマンドのパスを設定 -set PATH=%~dp0lib\MinGit\cmd;%PATH% - +echo. echo -------------------------------------------------- echo Checking Git Installation... echo -------------------------------------------------- +echo Executing: git --version +pause git --version -if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) +if %errorlevel% neq 0 ( + echo -------------------------------------------------- + echo Git is not installed, so download and use PortableGit. + echo Downloading PortableGit... + echo -------------------------------------------------- + echo Executing: curl -L %DL_URL% -o "%DL_DST%" + pause + curl -L %DL_URL% -o "%DL_DST%" + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) + + echo -------------------------------------------------- + echo Extracting PortableGit... + echo -------------------------------------------------- + echo Executing: "%DL_DST%" -y + pause + "%DL_DST%" -y + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) + + echo -------------------------------------------------- + echo Removing %DL_DST%... + echo -------------------------------------------------- + echo Executing: del "%DL_DST%" + pause + del "%DL_DST%" + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) + + @REM Gitコマンドのパスを設定 + echo -------------------------------------------------- + echo Setting up PATH... + echo -------------------------------------------------- + echo Executing: set "PATH=%~dp0lib\PortableGit\bin;%PATH%" + pause + set "PATH=%~dp0lib\PortableGit\bin;%PATH%" + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) + + echo -------------------------------------------------- + echo Checking Git Installation... + echo -------------------------------------------------- + echo Executing: git --version + pause + git --version + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) +) echo -------------------------------------------------- echo Cloning repository... echo -------------------------------------------------- +echo Executing: git clone %REPO_URL% +pause git clone %REPO_URL% if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) +@REM Pythonのセットアップ、仮想環境が有効化されて戻って来る echo -------------------------------------------------- echo Setting up Python environment... echo -------------------------------------------------- - -call Style-Bert-VITS2\scripts\Setup-Python.bat ..\..\lib\python ..\venv +echo Executing: call Setup-Python.bat ".\lib\python" ".\Style-Bert-VITS2\venv" +pause +call Setup-Python.bat ".\lib\python" ".\Style-Bert-VITS2\venv" if %errorlevel% neq 0 ( popd & exit /b %errorlevel% ) +@REM Style-Bert-VITS2フォルダに移動 +pushd Style-Bert-VITS2 + echo -------------------------------------------------- echo Installing dependencies... echo -------------------------------------------------- -pip install -r Style-Bert-VITS2\requirements.txt +echo Executing: pip install -r requirements.txt +pause +pip install -r requirements.txt if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) echo ---------------------------------------- echo Environment setup is complete. Start downloading the model. echo ---------------------------------------- - -@REM Style-Bert-VITS2フォルダに移動 -pushd Style-Bert-VITS2 - -@REM 初期化(必要なモデルのダウンロード) -python initialize.py +echo Executing: python initialize.py +python initialize.py --only_infer echo ---------------------------------------- echo Model download is complete. Start Style-Bert-VITS2 Editor. echo ---------------------------------------- - -@REM エディターの起動 +echo Executing: python server_editor.py --inbrowser python server_editor.py --inbrowser pause @@ -80,4 +120,4 @@ popd popd -endlocal \ No newline at end of file +endlocal diff --git a/scripts/Install-Style-Bert-VITS2.bat b/scripts/Install-Style-Bert-VITS2.bat index 6179ea9..43e6ea7 100644 --- a/scripts/Install-Style-Bert-VITS2.bat +++ b/scripts/Install-Style-Bert-VITS2.bat @@ -2,11 +2,14 @@ chcp 65001 > NUL @echo off setlocal +@REM PowerShellのコマンド set PS_CMD=PowerShell -NoProfile -NoLogo -ExecutionPolicy Bypass -set DL_URL=https://github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/MinGit-2.44.0-64-bit.zip -set DL_DST=MinGit-2.44.0-64-bit.zip +@REM PortableGitのURLと保存先 +set DL_URL=https://github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/PortableGit-2.44.0-64-bit.7z.exe +set DL_DST=%~dp0lib\PortableGit-2.44.0-64-bit.7z.exe +@REM Style-Bert-VITS2のリポジトリURL set REPO_URL=https://github.com/litagin02/Style-Bert-VITS2 @REM カレントディレクトリをbatファイルのディレクトリに変更 @@ -16,69 +19,108 @@ pushd %~dp0 if not exist lib\ ( mkdir lib ) echo -------------------------------------------------- -echo Downloading MinGit... +echo PS_CMD: %PS_CMD% +echo DL_URL: %DL_URL% +echo DL_DST: %DL_DST% +echo REPO_URL: %REPO_URL% echo -------------------------------------------------- -curl -L %DL_URL% -o "%DL_DST%" -if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) - -@REM lib\MinGitフォルダに解凍 -echo -------------------------------------------------- -echo Extracting MinGit... -echo -------------------------------------------------- -%PS_CMD% "Expand-Archive -LiteralPath %DL_DST% -DestinationPath .\lib\MinGit -Force" -if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) - -del %DL_DST% - -@REM Gitコマンドのパスを設定 -set PATH=%~dp0lib\MinGit\cmd;%PATH% - +echo. echo -------------------------------------------------- echo Checking Git Installation... echo -------------------------------------------------- +echo Executing: git --version +pause git --version -if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) +if %errorlevel% neq 0 ( + echo -------------------------------------------------- + echo Git is not installed, so download and use PortableGit. + echo Downloading PortableGit... + echo -------------------------------------------------- + echo Executing: curl -L %DL_URL% -o "%DL_DST%" + pause + curl -L %DL_URL% -o "%DL_DST%" + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) + + echo -------------------------------------------------- + echo Extracting PortableGit... + echo -------------------------------------------------- + echo Executing: "%DL_DST%" -y + pause + "%DL_DST%" -y + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) + + echo -------------------------------------------------- + echo Removing %DL_DST%... + echo -------------------------------------------------- + echo Executing: del "%DL_DST%" + pause + del "%DL_DST%" + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) + + @REM Gitコマンドのパスを設定 + echo -------------------------------------------------- + echo Setting up PATH... + echo -------------------------------------------------- + echo Executing: set "PATH=%~dp0lib\PortableGit\bin;%PATH%" + pause + set "PATH=%~dp0lib\PortableGit\bin;%PATH%" + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) + + echo -------------------------------------------------- + echo Checking Git Installation... + echo -------------------------------------------------- + echo Executing: git --version + pause + git --version + if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) +) echo -------------------------------------------------- echo Cloning repository... echo -------------------------------------------------- +echo Executing: git clone %REPO_URL% +pause git clone %REPO_URL% if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) +@REM Pythonのセットアップ、仮想環境が有効化されて戻って来る echo -------------------------------------------------- echo Setting up Python environment... echo -------------------------------------------------- - -call Style-Bert-VITS2\scripts\Setup-Python.bat ..\..\lib\python ..\venv +echo Executing: call Setup-Python.bat ".\lib\python" ".\Style-Bert-VITS2\venv" +pause +call Setup-Python.bat ".\lib\python" ".\Style-Bert-VITS2\venv" if %errorlevel% neq 0 ( popd & exit /b %errorlevel% ) +@REM Style-Bert-VITS2フォルダに移動 +pushd Style-Bert-VITS2 + echo -------------------------------------------------- echo Installing PyTorch... echo -------------------------------------------------- +echo Executing: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 +pause pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) echo -------------------------------------------------- echo Installing other dependencies... echo -------------------------------------------------- -pip install -r Style-Bert-VITS2\requirements.txt +echo Executing: pip install -r requirements.txt +pause +pip install -r requirements.txt if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) echo ---------------------------------------- echo Environment setup is complete. Start downloading the model. echo ---------------------------------------- - -@REM Style-Bert-VITS2フォルダに移動 -pushd Style-Bert-VITS2 - -@REM 初期化(必要なモデルのダウンロード) +echo Executing: python initialize.py python initialize.py echo ---------------------------------------- echo Model download is complete. Start Style-Bert-VITS2 Editor. echo ---------------------------------------- - -@REM エディターの起動 +echo Executing: python server_editor.py --inbrowser python server_editor.py --inbrowser pause diff --git a/scripts/Setup-Python.bat b/scripts/Setup-Python.bat index 17fd23f..bdd4e1e 100644 --- a/scripts/Setup-Python.bat +++ b/scripts/Setup-Python.bat @@ -24,53 +24,102 @@ if "%2" neq "" ( set VENV_DIR=%~dp0venv ) +echo -------------------------------------------------- echo PS_CMD: %PS_CMD% echo CURL_CMD: %CURL_CMD% echo PYTHON_CMD: %PYTHON_CMD% +echo PYTHON_DIR: %PYTHON_DIR% echo VENV_DIR: %VENV_DIR% +echo -------------------------------------------------- -if not exist %PYTHON_DIR%\ ( - echo https://www.python.org/ - echo %CURL_CMD% -o python.zip https://www.python.org/ftp/python/3.10.11/python-3.10.11-embed-amd64.zip +pause + +if not exist "%PYTHON_DIR%"\ ( + echo -------------------------------------------------- + echo Downloading Python... + echo -------------------------------------------------- + echo Executing: %CURL_CMD% -o python.zip https://www.python.org/ftp/python/3.10.11/python-3.10.11-embed-amd64.zip + pause %CURL_CMD% -o python.zip https://www.python.org/ftp/python/3.10.11/python-3.10.11-embed-amd64.zip if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) - echo %PS_CMD% Expand-Archive -Path python.zip -DestinationPath %PYTHON_DIR% - %PS_CMD% Expand-Archive -Path python.zip -DestinationPath %PYTHON_DIR% + echo -------------------------------------------------- + echo Extracting zip... + echo -------------------------------------------------- + echo Executing: %PS_CMD% Expand-Archive -Path python.zip -DestinationPath \"%PYTHON_DIR%\" + pause + %PS_CMD% Expand-Archive -Path python.zip -DestinationPath \"%PYTHON_DIR%\" if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) - echo del python.zip + echo -------------------------------------------------- + echo Removing python.zip... + echo -------------------------------------------------- + echo Executing: del python.zip + pause del python.zip if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) - echo %PS_CMD% "&{(Get-Content '%PYTHON_DIR%/python310._pth') -creplace '#import site', 'import site' | Set-Content '%PYTHON_DIR%/python310._pth' }" + echo -------------------------------------------------- + echo Enabling 'site' module in the embedded Python environment... + echo -------------------------------------------------- + echo Executing: %PS_CMD% "&{(Get-Content '%PYTHON_DIR%/python310._pth') -creplace '#import site', 'import site' | Set-Content '%PYTHON_DIR%/python310._pth' }" + pause %PS_CMD% "&{(Get-Content '%PYTHON_DIR%/python310._pth') -creplace '#import site', 'import site' | Set-Content '%PYTHON_DIR%/python310._pth' }" if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) - echo https://github.com/pypa/get-pip - echo %CURL_CMD% -o %PYTHON_DIR%\get-pip.py https://bootstrap.pypa.io/get-pip.py - %CURL_CMD% -o %PYTHON_DIR%\get-pip.py https://bootstrap.pypa.io/get-pip.py + echo -------------------------------------------------- + echo Installing pip and virtualenv... + echo -------------------------------------------------- + echo Executing: %CURL_CMD% -o "%PYTHON_DIR%\get-pip.py" https://bootstrap.pypa.io/get-pip.py + pause + %CURL_CMD% -o "%PYTHON_DIR%\get-pip.py" https://bootstrap.pypa.io/get-pip.py if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) - echo %PYTHON_CMD% %PYTHON_DIR%\get-pip.py --no-warn-script-location - %PYTHON_CMD% %PYTHON_DIR%\get-pip.py --no-warn-script-location + echo -------------------------------------------------- + echo Installing pip... + echo -------------------------------------------------- + echo Executing: "%PYTHON_CMD%" "%PYTHON_DIR%\get-pip.py" --no-warn-script-location + pause + "%PYTHON_CMD%" "%PYTHON_DIR%\get-pip.py" --no-warn-script-location if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) - echo %PYTHON_CMD% -m pip install virtualenv --no-warn-script-location - %PYTHON_CMD% -m pip install virtualenv --no-warn-script-location + echo -------------------------------------------------- + echo Installing virtualenv... + echo -------------------------------------------------- + echo Executing: "%PYTHON_CMD%" -m pip install virtualenv --no-warn-script-location + pause + "%PYTHON_CMD%" -m pip install virtualenv --no-warn-script-location if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) ) if not exist %VENV_DIR%\ ( - echo %PYTHON_CMD% -m virtualenv --copies %VENV_DIR% - %PYTHON_CMD% -m virtualenv --copies %VENV_DIR% + echo -------------------------------------------------- + echo Creating virtual environment... + echo -------------------------------------------------- + echo Executing: "%PYTHON_CMD%" -m virtualenv --copies "%VENV_DIR%" + pause + "%PYTHON_CMD%" -m virtualenv --copies "%VENV_DIR%" if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) ) -echo call %VENV_DIR%\Scripts\activate.bat -call %VENV_DIR%\Scripts\activate.bat +echo -------------------------------------------------- +echo Actibating virtual environment... +echo -------------------------------------------------- +echo Executing: call "%VENV_DIR%\Scripts\activate.bat" +pause +call "%VENV_DIR%\Scripts\activate.bat" if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) -echo python -m pip install --upgrade pip +echo -------------------------------------------------- +echo Upgrading pip... +echo -------------------------------------------------- +echo Executing: python -m pip install --upgrade pip +pause python -m pip install --upgrade pip if %errorlevel% neq 0 ( pause & exit /b %errorlevel% ) + +echo -------------------------------------------------- +echo Completed. +echo -------------------------------------------------- + +pause \ No newline at end of file