Maybe v2.3

This commit is contained in:
litagin02
2024-02-26 15:10:00 +09:00
parent a6ae2bd15a
commit 8caa895a6f
7 changed files with 65 additions and 84 deletions

View File

@@ -7,14 +7,15 @@ https://github.com/litagin02/Style-Bert-VITS2/assets/139731664/e853f9a2-db4a-420
- **解説チュートリアル動画** [YouTube](https://youtu.be/aTUSzgDl1iY) [ニコニコ動画](https://www.nicovideo.jp/watch/sm43391524) - **解説チュートリアル動画** [YouTube](https://youtu.be/aTUSzgDl1iY) [ニコニコ動画](https://www.nicovideo.jp/watch/sm43391524)
- [English README](docs/README_en.md) - [English README](docs/README_en.md)
- [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/litagin02/Style-Bert-VITS2/blob/master/colab.ipynb) - [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/litagin02/Style-Bert-VITS2/blob/master/colab.ipynb)
- [🤗 オンラインデモはこちらから](https://huggingface.co/spaces/litagin/Style-Bert-VITS2-JVNV) - [🤗 オンラインデモはこちらから](https://huggingface.co/spaces/litagin/Style-Bert-VITS2-Editor-Demo)
- [Zennの解説記事](https://zenn.dev/litagin/articles/034819a5256ff4) - [Zennの解説記事](https://zenn.dev/litagin/articles/034819a5256ff4)
- [**リリースページ**](https://github.com/litagin02/Style-Bert-VITS2/releases/)、[更新履歴](docs/CHANGELOG.md) - [**リリースページ**](https://github.com/litagin02/Style-Bert-VITS2/releases/)、[更新履歴](/docs/CHANGELOG.md)
- 2024-02-26: ver 2.3 (辞書機能とエディター機能)
- 2024-02-09: ver 2.2 - 2024-02-09: ver 2.2
- 2024-02-07: ver 2.1 - 2024-02-07: ver 2.1
- 2024-02-03: ver 2.0 - 2024-02-03: ver 2.0 (JP-Extra)
- 2024-01-09: ver 1.3 - 2024-01-09: ver 1.3
- 2023-12-31: ver 1.2 - 2023-12-31: ver 1.2
- 2023-12-29: ver 1.1 - 2023-12-29: ver 1.1
@@ -33,7 +34,7 @@ This repository is based on [Bert-VITS2](https://github.com/fishaudio/Bert-VITS2
## 使い方 ## 使い方
<!-- 詳しくは[こちら](docs/tutorial.md)を参照してください。 --> CLIでの使い方は[こちら](/docs/CLI.md)を参照してください。
### 動作環境 ### 動作環境
@@ -45,13 +46,14 @@ This repository is based on [Bert-VITS2](https://github.com/fishaudio/Bert-VITS2
Windowsを前提としています。 Windowsを前提としています。
1. [このzipファイル](https://github.com/litagin02/Style-Bert-VITS2/releases/download/2.2/Style-Bert-VITS2.zip)を**パスに日本語や空白が含まれない場所に**ダウンロードして展開します。 1. [このzipファイル](https://github.com/litagin02/Style-Bert-VITS2/releases/download/2.3/Style-Bert-VITS2.zip)を**パスに日本語や空白が含まれない場所に**ダウンロードして展開します。
- グラボがある方は、`Install-Style-Bert-VITS2.bat`をダブルクリックします。 - グラボがある方は、`Install-Style-Bert-VITS2.bat`をダブルクリックします。
- グラボがない方は、`Install-Style-Bert-VITS2-CPU.bat`をダブルクリックします。CPU版では学習はできませんが、音声合成とマージは可能です。 - グラボがない方は、`Install-Style-Bert-VITS2-CPU.bat`をダブルクリックします。CPU版では学習はできませんが、音声合成とマージは可能です。
2. 待つと自動で必要な環境がインストールされます。 2. 待つと自動で必要な環境がインストールされます。
3. その後、自動的に音声合成するためのWebUIが起動したらインストール成功です。デフォルトのモデルがダウンロードされるているので、そのまま遊ぶことができます。 3. その後、自動的に音声合成するためのエディターが起動したらインストール成功です。デフォルトのモデルがダウンロードされるているので、そのまま遊ぶことができます。
またアップデートをしたい場合は、`Update-Style-Bert-VITS2.bat`をダブルクリックしてください。ただし**1.x**から**2.x**へアップデートする場合は、[このbatファイル](https://github.com/litagin02/Style-Bert-VITS2/releases/download/2.2/Update-to-JP-Extra.bat)`Style-Bert-VITS2`フォルダがあるフォルダ(`Update-Style-Bert-VITS2.bat`等があるフォルダ)へ保存してからダブルクリックしてください。 またアップデートをしたい場合は、`Update-Style-Bert-VITS2.bat`をダブルクリックしてください。ただし以下の場合は、専用のアップデートbatファイル`Style-Bert-VITS2`フォルダがあるフォルダ(`Update-Style-Bert-VITS2.bat`等があるフォルダ)へ保存してからダブルクリックしてください。
- **2.3以前**から**2.3以上**(辞書・エディター付き)へアップデート: [Update-to-Dict-Editor.bat](https://github.com/litagin02/Style-Bert-VITS2/releases/download/2.3/Update-to-Dict-Editor.bat)
#### GitやPython使える人 #### GitやPython使える人
@@ -69,7 +71,12 @@ python initialize.py # 必要なモデルとデフォルトTTSモデルをダ
### 音声合成 ### 音声合成
`App.bat`をダブルクリックか、`python app.py`するとWebUIが起動します`python app.py --cpu`でCPUモードで起動、学習中チェックに便利です。インストール時にデフォルトのモデルがダウンロードされているので、学習していなくてもそれを使うことができます。 音声合成エディターは`Editor.bat`をダブルクリックか、`python server_editor.py --inbrowser`すると起動します(`--device cpu`でCPUモードで起動。画面内で各セリフごとに設定を変えて原稿を作ったり、保存や読み込みや辞書の編集等ができます。
インストール時にデフォルトのモデルがダウンロードされているので、学習していなくてもそれを使うことができます。
エディター部分は[別リポジトリ](https://github.com/litagin02/Style-Bert-VITS2-Editor)に分かれています。
バージョン2.2以前での音声合成WebUIは、`App.bat`をダブルクリックか、`python app.py`するとWebUIが起動します。
音声合成に必要なモデルファイルたちの構造は以下の通りです(手動で配置する必要はありません)。 音声合成に必要なモデルファイルたちの構造は以下の通りです(手動で配置する必要はありません)。
``` ```
@@ -91,7 +98,7 @@ model_assets
### 学習 ### 学習
- CLIでの学習の詳細は[こちら](docs/CLI.md)を参照してください。 - CLIでの学習の詳細は[こちら](docs/CLI.md)を参照してください。
- paperspace上での学習の詳細は[こちら](docs/paperspace.md)を参照してください。 - paperspace上での学習の詳細は[こちら](docs/paperspace.md)、colabでの学習は[こちら](http://colab.research.google.com/github/litagin02/Style-Bert-VITS2/blob/master/colab.ipynb)を参照してください。
学習には2-14秒程度の音声ファイルが複数と、それらの書き起こしデータが必要です。 学習には2-14秒程度の音声ファイルが複数と、それらの書き起こしデータが必要です。
@@ -126,6 +133,10 @@ API仕様は起動後に`/docs`にて確認ください。
- 入力文字数はデフォルトで100文字が上限となっています。これは`config.yml``server.limit`で変更できます。 - 入力文字数はデフォルトで100文字が上限となっています。これは`config.yml``server.limit`で変更できます。
- デフォルトではCORS設定を全てのドメインで許可しています。できる限り、`config.yml``server.origins`の値を変更し、信頼できるドメインに制限ください(キーを消せばCORS設定を無効にできます)。 - デフォルトではCORS設定を全てのドメインで許可しています。できる限り、`config.yml``server.origins`の値を変更し、信頼できるドメインに制限ください(キーを消せばCORS設定を無効にできます)。
また音声合成エディターのAPIサーバーは`python server_editor.py`で起動します。があまりまだ整備をしていません。[エディターのリポジトリ](https://github.com/litagin02/Style-Bert-VITS2-Editor)から必要な最低限のAPIしか現在は実装していません。
音声合成エディターのウェブデプロイについては[このDockerfile](Dockerfile.deploy)を参考にしてください。
### マージ ### マージ
2つのモデルを、「声質」「声の高さ」「感情表現」「テンポ」の4点で混ぜ合わせて、新しいモデルを作ることが出来ます。 2つのモデルを、「声質」「声の高さ」「感情表現」「テンポ」の4点で混ぜ合わせて、新しいモデルを作ることが出来ます。

View File

@@ -1,3 +1,5 @@
,,,8609,名詞,固有名詞,一般,*,*,*,,バアト,バアト,0/3,* ,,,8609,名詞,固有名詞,一般,*,*,*,,バアト,バアト,0/3,*
,,,8609,名詞,固有名詞,一般,*,*,*,,ビッツ,ビッツ,0/3,* ,,,8609,名詞,固有名詞,一般,*,*,*,,ビッツ,ビッツ,0/3,*
,,,8609,名詞,固有名詞,一般,*,*,*,,ビッツツ,ビッツツ,4/5,* ,,,8609,名詞,固有名詞,一般,*,*,*,,ビッツツ,ビッツツ,4/5,*
,,,8609,名詞,固有名詞,一般,*,*,*,,バアトビッツ,バアトビッツ,4/6,*
担々麺,,,8609,名詞,固有名詞,一般,*,*,*,担々麺,タンタンメン,タンタンメン,3/6,*
1 Bert 8609 名詞 固有名詞 一般 * * * Bert バアト バアト 0/3 *
2 VITS 8609 名詞 固有名詞 一般 * * * VITS ビッツ ビッツ 0/3 *
3 VITS2 VITS二 8609 名詞 固有名詞 一般 * * * VITS2 VITS二 ビッツツウ ビッツツー ビッツツウ ビッツツー 4/5 *
4 BertVITS 8609 名詞 固有名詞 一般 * * * BertVITS バアトビッツ バアトビッツ 4/6 *
5 担々麺 8609 名詞 固有名詞 一般 * * * 担々麺 タンタンメン タンタンメン 3/6 *

View File

@@ -4,8 +4,10 @@
### 大きな変更 ### 大きな変更
大きい変更をいくつかしたため、**アップデートはまた専用の手順**が必要です。下記の指示にしたがってください。
#### ユーザー辞書機能 #### ユーザー辞書機能
あらかじめ辞書に固有名詞を追加することができ、それが学習時音声合成時の読み取得部分に適応されます。辞書の追加・編集は次のエディタ経由で行ってください。または、手持ちのOpenJTalkのcsv形式の辞書がある場合は、`dict_data/default.csv`ファイルを直接上書きや追加しても可能です。 あらかじめ辞書に固有名詞を追加することができ、それが**学習時**・**音声合成時**の読み取得部分に適応されます。辞書の追加・編集は次のエディタ経由で行ってください。または、手持ちのOpenJTalkのcsv形式の辞書がある場合は、`dict_data/default.csv`ファイルを直接上書きや追加しても可能です。
使えそうな辞書(ライセンス等は各自ご確認ください)(他に良いのがあったら教えて下さい): 使えそうな辞書(ライセンス等は各自ご確認ください)(他に良いのがあったら教えて下さい):
@@ -26,7 +28,7 @@
### バグ修正 ### バグ修正
- 「うっうあ」等の特定の状況で読みが正しく取得できないバグの修正 - 特定の状況で読みが正しく取得でき`list index out of range` となるバグの修正
- 前処理時に、書き起こしファイルのある行の形式が不正だと、書き起こしファイルのそれ以降の内容が消えてしまうバグの修正 - 前処理時に、書き起こしファイルのある行の形式が不正だと、書き起こしファイルのそれ以降の内容が消えてしまうバグの修正
- faster-whisperが1.0.0にメジャーバージョンアップされ今のところ大幅に劣化したので、バージョンを0.10.1へ固定 - faster-whisperが1.0.0にメジャーバージョンアップされ今のところ大幅に劣化したので、バージョンを0.10.1へ固定
@@ -37,14 +39,32 @@
- コマンドラインで前処理や学習が簡単にできるよう、前処理を行う`preprocess_all.py`を追加(詳しくは[CLI.md](/docs/CLI.md)を参照) - コマンドラインで前処理や学習が簡単にできるよう、前処理を行う`preprocess_all.py`を追加(詳しくは[CLI.md](/docs/CLI.md)を参照)
- 学習の際に、自動的に自分のhugging faceリポジトリへ結果をアップロードするオプションを追加。コマンドライン引数で`--repo_id username/my_model`のように指定してください(詳しくは[CLI.md](/docs/CLI.md)を参照)。🤗の無制限ストレージが使えるのでクラウドでの学習に便利です。 - 学習の際に、自動的に自分のhugging faceリポジトリへ結果をアップロードするオプションを追加。コマンドライン引数で`--repo_id username/my_model`のように指定してください(詳しくは[CLI.md](/docs/CLI.md)を参照)。🤗の無制限ストレージが使えるのでクラウドでの学習に便利です。
- 学習時にデコーダー部分を凍結するオプションの追加。品質がもしかしたら上がるかもしれません。 - 学習時にデコーダー部分を凍結するオプションの追加。品質がもしかしたら上がるかもしれません。
- `initialize.py`に引数`--dataset_root``--assets_root`を追加し、`configs/paths.yml`を変更できるようにした - `initialize.py`に引数`--dataset_root``--assets_root`を追加し、`configs/paths.yml`その時点で変更できるようにした
### その他 ### その他
- [paperspaceでの学習の手引きを追加](/docs/paperspace.md)、paperspaceでのimageに使える[Dockerfile](/Dockerfile.train)を追加 - [paperspaceでの学習の手引きを追加](/docs/paperspace.md)、paperspaceでのimageに使える[Dockerfile](/Dockerfile.train)を追加
- [CLIでの学習の仕方を追加](/docs/CLI.md) - [CLIでの各種処理の実行の仕方を追加](/docs/CLI.md)
- [Hugging Face spacesで遊べる音声合成エディタ](https://huggingface.co/spaces/litagin/Style-Bert-VITS2-Editor-Demo)をデプロイするための[Dockerfile](Dockerfile.deploy)を追加 - [Hugging Face spacesで遊べる音声合成エディタ](https://huggingface.co/spaces/litagin/Style-Bert-VITS2-Editor-Demo)をデプロイするための[Dockerfile](Dockerfile.deploy)を追加
### アップデート手順
- [Update-to-Dict-Editor.bat](https://github.com/litagin02/Style-Bert-VITS2/releases/download/2.3/Update-to-Dict-Editor.bat)をダウンロードし、`Style-Bert-VITS2`フォルダがある場所インストールbatファイルとかがあったところにおいてダブルクリックしてください。
- 手動での場合は、以下の手順で実行してください:
```bash
git pull
venv\Scripts\activate
pip uninstall pyopenjtalk-prebuilt
pip install -r requirements.txt
# python initialize.py # これを1.x系からのアップデートの場合は実行してください
python server_editor.py --inbrowser
```
### 新規インストール手順
[このzip](https://github.com/litagin02/Style-Bert-VITS2/releases/download/2.3/Style-Bert-VITS2.zip)をダウンロードし、解凍してください。
を展開し、`Install-Style-Bert-VITS2.bat`をダブルクリックしてください。
## v2.2 (2024-02-09) ## v2.2 (2024-02-09)

View File

@@ -37,7 +37,10 @@ if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
pip install -U -r Style-Bert-VITS2\requirements.txt pip install -U -r Style-Bert-VITS2\requirements.txt
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
echo Style-Bert-VITS2のアップデートが完了しました。 echo Update completed. Running Style-Bert-VITS2 Editor...
@REM Style-Bert-VITS2 Editorを起動
python server_editor.py --inbrowser
pause pause

View File

@@ -12,7 +12,7 @@ if not exist %CURL_CMD% (
@REM Style-Bert-VITS2.zip をGitHubのmasterの最新のものをダウンロード @REM Style-Bert-VITS2.zip をGitHubのmasterの最新のものをダウンロード
%CURL_CMD% -Lo Style-Bert-VITS2.zip^ %CURL_CMD% -Lo Style-Bert-VITS2.zip^
https://github.com/litagin02/Style-Bert-VITS2/archive/refs/heads/dev.zip https://github.com/litagin02/Style-Bert-VITS2/archive/refs/heads/master.zip
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
@REM Style-Bert-VITS2.zip を解凍フォルダ名前がBert-VITS2-masterになる @REM Style-Bert-VITS2.zip を解凍フォルダ名前がBert-VITS2-masterになる
@@ -24,8 +24,8 @@ del Style-Bert-VITS2.zip
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
@REM Bert-VITS2-masterの中身をStyle-Bert-VITS2に上書き移動 @REM Bert-VITS2-masterの中身をStyle-Bert-VITS2に上書き移動
xcopy /QSY .\Style-Bert-VITS2-dev\ .\Style-Bert-VITS2\ xcopy /QSY .\Style-Bert-VITS2-master\ .\Style-Bert-VITS2\
rmdir /s /q Style-Bert-VITS2-dev rmdir /s /q Style-Bert-VITS2-master
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% ) if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
@REM 仮想環境を有効化 @REM 仮想環境を有効化
@@ -49,16 +49,19 @@ if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
pushd Style-Bert-VITS2 pushd Style-Bert-VITS2
@REM JP-Extra版以前からの場合のために一応initialize.pyを実行
echo python initialize.py
python initialize.py
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
echo ----------------------------------------
echo Update completed. Running Style-Bert-VITS2 Editor... echo Update completed. Running Style-Bert-VITS2 Editor...
echo ----------------------------------------
@REM Style-Bert-VITS2 Editorを起動 @REM Style-Bert-VITS2 Editorを起動
python server_editor.py --inbrowser python server_editor.py --inbrowser
pause
popd
pause pause
popd popd

View File

@@ -1,60 +0,0 @@
chcp 65001 > NUL
@echo off
pushd %~dp0
set PS_CMD=PowerShell -Version 5.1 -ExecutionPolicy Bypass
set CURL_CMD=C:\Windows\System32\curl.exe
if not exist %CURL_CMD% (
echo [ERROR] %CURL_CMD% が見つかりません。
pause & popd & exit /b 1
)
@REM Style-Bert-VITS2.zip をGitHubのmasterの最新のものをダウンロード
%CURL_CMD% -Lo Style-Bert-VITS2.zip^
https://github.com/litagin02/Style-Bert-VITS2/archive/refs/heads/master.zip
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
@REM Style-Bert-VITS2.zip を解凍フォルダ名前がBert-VITS2-masterになる
%PS_CMD% Expand-Archive -Path Style-Bert-VITS2.zip -DestinationPath . -Force
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
@REM 元のzipを削除
del Style-Bert-VITS2.zip
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
@REM Bert-VITS2-masterの中身をStyle-Bert-VITS2に上書き移動
xcopy /QSY .\Style-Bert-VITS2-master\ .\Style-Bert-VITS2\
rmdir /s /q Style-Bert-VITS2-master
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
@REM 仮想環境のpip requirements.txtを更新
echo call .\Style-Bert-VITS2\scripts\activate.bat
call .\Style-Bert-VITS2\venv\Scripts\activate.bat
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
echo pip uninstall -y pyopenjtalk-prebuilt pyopenjtalk
pip uninstall -y pyopenjtalk-prebuilt pyopenjtalk
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
echo pip install -U pyopenjtalk-dict
pip install -U pyopenjtalk-dict
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
echo pip install -U -r Style-Bert-VITS2\requirements.txt
pip install -U -r Style-Bert-VITS2\requirements.txt
if %errorlevel% neq 0 ( pause & popd & exit /b %errorlevel% )
pushd Style-Bert-VITS2
@REM 初期化(必要なモデルのダウンロード)
python initialize.py
echo Style-Bert-VITS2の2.xへのアップデートが完了しました。
pause
popd
popd

View File

@@ -212,7 +212,9 @@ class TextRequest(BaseModel):
@router.post("/g2p") @router.post("/g2p")
async def read_item(item: TextRequest): async def read_item(item: TextRequest):
try: try:
kata_tone_list = g2kata_tone(item.text, ignore_unknown=True) # 最初に正規化しないと整合性がとれない
text = text_normalize(item.text)
kata_tone_list = g2kata_tone(text, ignore_unknown=True)
except Exception as e: except Exception as e:
raise HTTPException( raise HTTPException(
status_code=400, status_code=400,