litagin's picture
init
2916d61
# Changelog
## v2.3 (2024-02-25)
### 倧きな倉曎
#### ナヌザヌ蟞曞機胜
あらかじめ蟞曞に固有名詞を远加するこずができ、それが孊習時・音声合成時の読み取埗郚分に適応されたす。蟞曞の远加・線集は次の゚ディタ経由で行っおください。
蟞曞郚分の[実装](/text/user_dict/) は、䞭のREADMEにある通り、[VOICEVOX Editor](https://github.com/VOICEVOX/voicevox) のものを䜿っおおり、この郚分のコヌドラむセンスはLGPL-3.
#### 音声合成専甚゚ディタ
音声合成専甚゚ディタを远加。今たでのWebUIでできた機胜のほか、次のような機胜が䜿えたす぀たり既存の日本語音声合成゜フトりェアの゚ディタを真䌌たした
- セリフ単䜍でキャラや蚭定を倉曎しながら原皿を䜜り、それを䞀括で生成したり、原皿を保存等したり読み蟌んだり
- GUIよる分かりやすいアクセント調敎
- ナヌザヌ蟞曞ぞの単語远加や線集
`Editor.bat`をダブルクリックか`python server_editor.py --inbrowser`で起動したす。゚ディタヌ郚分は[こちらの別リポゞトリ](https://github.com/litagin02/Style-Bert-VITS2-Editor)になりたす。フロント゚ンド初心者なのでプルリクや改善案等をお埅ちしおいたす。
### 改善
- 孊習時にデコヌダヌ郚分を凍結するオプションの远加。品質がもしかしたら䞊がるかもしれたせん。
-
## v2.2 (2024-02-09)
### 倉曎・機胜远加
- bfloat16オプションはデメリットしか無さそうなので、垞にオフで孊習するよう倉曎
- バッチサむズのデフォルトを4から2に倉曎。孊習が遅い堎合はバッチサむズを䞋げお詊しおみお、VRAMに䜙裕があれば䞊げおください。JP-Extra䜿甚時でのバッチサむズごずのVRAM䜿甚量目安は、1: 6GB, 2: 8GB, 3: 10GB, 4: 12GB くらいのようです。
- 孊習の際の怜蚌デヌタ数をデフォルトで0に倉曎し、たた怜蚌デヌタ数を孊習甚WebUIで指定できるようにした
- Tensorboardのログ間隔を孊習甚WebUIで指定できるようにした
- UIのテヌマを`common/constants.py`の`GRADIO_THEME`で指定できるようにした
### バグ修正
- JP-Extra䜿甚時にバッチサむズが1だず孊習䞭に゚ラヌが発生するバグを修正
- 「こんにちは!?!?!?!?」等、感嘆笊等の蚘号が連続するず孊習・音声合成で゚ラヌになるバグを修正
- `—` (em dash, U+2014) や `―` (quotation dash, U+2015) 等のダッシュやハむフンの各皮倉皮が、皮類によっお`-`通垞の半角ハむフンに正芏化されたりされおいなかったりする凊理を、党お正芏化するように修正
## v2.1 (2024-02-07)
### 倉曎
- 孊習の際、デフォルトではbfloat16オプションを䜿わないよう倉曎孊習が発散したり質が䞋がるこずがある暡様
- 孊習の際のメモリ䜿甚量を削枛しようず頑匵った
### バグ修正や改善
- å­Šç¿’WebUIからTensorboardのログを芋れるように
- 音声合成やそのAPIにおいお、同時に別の話者が遞択され音声合成がリク゚ストされた堎合に発生する゚ラヌを修正
- モデルマヌゞ時に、そのレシピを`recipe.json`ファむルぞ保存するように倉曎
- 「改行で分けお生成」がより感情が乗る旚の明蚘等、軜埮な説明文の改善
- 「`ヌヌそれは面癜い`」や「`なるほど。ヌヌヌそういうこずか。`」等、長音蚘号の前が母音でない堎合、長音蚘号`ヌ`でなくダッシュ`―`の勘違いだず思われるので、ダッシュ蚘号ずしお凊理するように倉曎
## v2.0.1 (2024-02-05)
軜埮なバグ修正や改善
- スタむルベクトルに`NaN`が含たれおいた堎合䞻に音声ファむルが極端に短い堎合に発生、それを孊習リストから陀倖するように修正
- colabにマヌゞの远加
- 孊習時のプログレスバヌの衚瀺がおかしかったのを修正
- デフォルトのjvnvモデルをJP-Extra版にアップデヌト。新しいモデルを䜿いたい方は手動で[こちら](https://huggingface.co/litagin/style_bert_vits2_jvnv/tree/main)からダりンロヌドするか、`python initialize.py`をするか、[このbatファむル](https://github.com/litagin02/Style-Bert-VITS2/releases/download/2.0.1/Update-to-JP-Extra.bat)を`Style-Bert-VITS2`フォルダがある堎所むンストヌルbatファむルずかがあったずころにおいおダブルクリックしおください。
## v2.0 (2024-02-03)
### 倧きい倉曎
モデル構造に [Bert-VITS2の日本語特化モデル JP-Extra](https://github.com/fishaudio/Bert-VITS2/releases/tag/JP-Exta) を取り蟌んだものを䜿えるように倉曎、[事前孊習モデル](https://huggingface.co/litagin/Style-Bert-VITS2-2.0-base-JP-Extra)も[Bert-VITS2 JP-Extra](https://huggingface.co/Stardust-minus/Bert-VITS2-Japanese-Extra)のものを改造しおStyle-Bert-VITS2で䜿えるようにしたした (モデル構造を芋盎しお日本語での孊習をしおいただいた [@Stardust-minus](https://github.com/Stardust-minus) 様に感謝したす)
- これにより、日本語の発音やアクセントや抑揚や自然性が向䞊する傟向がありたす
- スタむルベクトルを䜿ったスタむルの操䜜は倉わらず䜿えたす
- ただしJP-Extraでは英語ず䞭囜語の音声合成は珟状はできたせん
- 旧モデルも匕き続き䜿うこずができ、たた旧モデルで孊習するこずもできたす
- デフォルトのJVNVモデルは珟圚は旧verのたたです
### 改善
- `Merge.bat`で、声音マヌゞを、より现かく「声質」ず「声の高さ」の点でマヌゞできるように。
### バグ修正
- PyTorchのバヌゞョンに由来するバグを修正torchのバヌゞョンを2.1.2に固定
- `―`ダッシュ、長音蚘号ではないが2連続するず孊習・音声合成で゚ラヌになるバグを修正
- 「䞉円」等「ん母音」のアクセントの仮名衚蚘が「サネン」等になり、たた偶に゚ラヌが発生する問題を修正「ん」の音玠衚蚘を内郚的には「N」で統䞀
## v1.3 (2024-01-09)
### 倧きい倉曎
- 元々のBert-VITS2に存圚した、日本語の発音・アクセント凊理郚分のバグを修正・リファクタリング
- `車䞡`が`シャリペオ`、`思う`が`オモオ`、`芋぀ける`が`ミッケル`等に発音・孊習されおおり、その単語以降のアクセント情報が党お死んでいた
- `私はそれを芋る`のアクセントが`ワ➚タシ➘ワ ゜➚レ➘オ ミ➘ル`だったのを`ワ➚タシワ ゜➚レオ ミ➘ル`に修正
- 孊習・音声合成で無芖されおいたアルファベット・ギリシャ文字を無芖しないように倉曎基本はアルファベット読みだけど簡単な単語は読めるらしい、孊習の際は念のためカタカナ等にしたほうがよいです
- 修正の圱響で、前凊理時に今たで無芖されおいた読めない挢字等で匕っかかるようになりたした。その堎合は曞き起こしを確認しお修正するようにしおください。
- アクセントを調敎しお音声合成できるように完党に制埡できるわけではないが改善される堎合がある。
これたでのモデルもこれたで通り䜿え、アクセントや発音等が改善される可胜性がありたす。新しいバヌゞョンで孊習し盎すずより良くなる可胜性もありたす。が劇的に良くなるかは分かりたせん。
### 改善
- `Dataset.bat`の音声スラむスず曞き起こしをよりカスタマむズできるようにスラむスの秒数蚭定や曞き起こしのWhisperモデル指定や蚀語指定等
- `Style.bat`のスタむル分けで、スタむルごずのサンプル音声を指定した数だけ耇数再生できるように。たた新しい次元削枛方法UMAPず新しいスタむル分けの方法DBSCANを远加UMAPのほうがよくスタむルが分かれるかもしれたせん
- `App.bat`での音声合成時に耇数話者モデルの堎合に話者を指定できるように
- colabの[ノヌトブック](http://colab.research.google.com/github/litagin02/Style-Bert-VITS2/blob/master/colab.ipynb)で、音声ファむルのみからデヌタセットを䜜成するオプション郚分を远加
- クラりド実行等の際にパスの指定をこちらでできるように、パスの蚭定を`configs/paths.yml`にたずめたcolabの[ノヌトブック](http://colab.research.google.com/github/litagin02/Style-Bert-VITS2/blob/master/colab.ipynb)もそれに䌎っお曎新。デフォルトは`dataset_root: Data`ず`assets_root: model_assets`なので、クラりド等でやる方はここを倉曎しおください。
- どのステップ数の出力がよいかの「䞀぀の」指暙ずしお [SpeechMOS](https://github.com/tarepan/SpeechMOS) を䜿うスクリプトを远加
```bash
python speech_mos.py -m <model_name>
```
ステップごずの自然性評䟡が衚瀺され、`mos_results`フォルダの`mos_{model_name}.csv`ず`mos_{model_name}.png`に結果が保存される。読み䞊げさせたい文章を倉えたかったら䞭のファむルを匄っお各自調敎しおください。あくたでアクセントや感情衚珟や抑揚を党く考えない基準での評䟡で、目安のひず぀なので、実際に読み䞊げさせお遞別するのが䞀番だず思いたす。
- 孊習時のりォヌムアップオプションを機胜するように [@kale4eat](https://github.com/kale4eat) 様によるPRです、ありがずうございたす。前凊理時に生成される`config.json`の`train`の`warmup_epochs`を倉曎するこずで、りォヌムアップの゚ポック数を倉曎できたす。デフォルトは`0`で今たでず同じ孊習率の挙動です。
### その他
- `Dataset.bat`の音声スラむスでノヌマラむズ機胜を削陀孊習前凊理で行えるため
- `Train.bat`の音量ノヌマラむズず無音切り詰めをデフォルトでオフに倉曎
- 孊習時の進捗を党䜓゚ポック数で衚瀺し、孊習党䜓の進捗を芋やすいように( [@RedRayz](https://github.com/RedRayz) 様によるPRです、ありがずうございたす)
- その他バグ修正等 [@tinjyuu](https://github.com/@tinjyuu) 様、 [@darai0512](https://github.com/darai0512) 様ありがずうございたす
- `config.json`にスタむル埋め蟌み郚分を孊習しない`freeze_style`オプションを远加デフォルトは`false`
### TIPS
- 日本語孊習の堎合、`config.json`の`freeze_bert`ず`freeze_en_bert`を`true`にしおおくず、英語ず䞭囜語の発話胜力が孊習の過皋で萜ちないかもしれたせんが、あたり比范しおいなので分かりたせん。
## v1.2 (2023-12-31)
- グラボがないナヌザヌでの音声合成をサポヌト、`Install-Style-Bert-VITS2-CPU.bat`でむンストヌル。
- Google Colabでの孊習をサポヌト、[ノヌトブック](http://colab.research.google.com/github/litagin02/Style-Bert-VITS2/blob/master/colab.ipynb)を远加
- 音声合成のAPIサヌバヌを远加、`python server_fastapi.py`で起動したす。API仕様は起動埌に`/docs`にお確認ください。 [@darai0512](https://github.com/darai0512) 様によるPRです、ありがずうございたす
- 孊習時に自動的にデフォルトスタむル Neutral を生成するように。特にスタむル指定が必芁のない方は、孊習したらそのたた音声合成を詊せたす。これたで通りスタむルを自分で䜜るこずもできたす。
- マヌゞ機胜の新芏远加: `Merge.bat`, `webui_merge.py`
- 前凊理のリサンプリング時に音声ファむルの開始・終了郚分の無音を削陀するオプションを远加デフォルトでオン
- `スタむルテキスト (style text)`がスタむル指定ず玛らわしかったので、`アシストテキスト (assist text)`に倉曎
- その他コヌドのリファクタリング
## v1.1 (2023-12-29)
- TrainずDatasetのWebUIの改良・調敎䞀括事前凊理ボタン等
- 前凊理のリサンプリング時に音量を正芏化するオプションを远加デフォルトでオン
## v1.0 (2023-12-27)
- 初版