2.4.0
v2.4.0 (2024-03-15)
大規模リファクタリング・日本語処理のワーカー化と機能追加等。データセット作り・学習・音声合成・マージ・スタイルWebUIは全てapp.py
(App.bat
) へ統一されましたのでご注意ください。
アップデート手順
- アップデートにより多くのファイルが移動したり使えなくなったりしたので、それらを削除するClean.batを
Update-Style-Bert-VITS2.bat
と同じ場所に保存して実行することを推奨します。 - 2.3未満(辞書・エディター追加前)からのアップデートの場合は、Update-to-Dict-Editor.batをダウンロードし、
Style-Bert-VITS2
フォルダがある場所(インストールbatファイルとかがあったところ)においてダブルクリックしてください。 - それ以外の場合は、単純に今までの
Update-Style-Bert-VITS2.bat
でアップデートできます。
内部改善
- tsukumijimaさんによる大規模リファクタリングのプルリク によって、内部コードが非常に整理され可読性が高まりライブラリ化もされた。@tsukumijima さん大変な作業を本当にありがとうございます!
- ライブラリとして
pip install style-bert-vits2
によりすぐにインストールでき、音声合成部分の機能が使えます(使用例は/library.ipynbを参照してください) - その他このプルリクに動機づけられ、多くのコードのリファクタリング・型アノテーションの追加等を行った
- 日本語処理のpyopenjtalkをソケット通信を用いて別プロセス化し、複数同時に学習や音声合成を立ち上げても辞書の競合エラーが起きないように。@kale4eat さんによるPR です、ありがとうございます!
バグ修正
- 上記にもある通り、音声合成と学習前処理など、日本語処理を扱うものを2つ以上起動しようとするとエラーが発生する仕様の解決。ユーザー辞書は追加すれば常にどこからでも適応されます。
raw
フォルダの直下でなくサブフォルダ内に音声ファイルがある場合に、wavs
フォルダでもその構造が保たれてしまい、書き起こしファイルとの整合性が取れなくなる挙動を修正し、常にwav
フォルダ直下へwav
ファイルを保存するように変更- スライス時に元ファイル名にピリオド
.
が含まれると、スライス後のファイル名がおかしくなるバグの修正
機能改善・追加
- 各種WebUIを一つ
app.py
App.bat
に統一 - その他以下の変更や、軽微なUI・説明文の改善等
データセット作成
- スライス処理の高速化(マルチスレッドにした、大量にスライス元ファイルファイルがある場合に高速になります)、またスライス元のファイルを
wav
以外のmp3
やogg
などの形式にも対応 - スライス処理時に、ファイル名にスライスされた開始終了区間を含めるオプションを追加 (@aka7774 さんによるPRです、ありがとうございます!)
- 書き起こしの高速化、またHugging FaceのWhisperモデルを使うオプションを追加。バッチサイズを上げることでVRAMを食う代わりに速度が大幅に向上します。
学習
- 学習元の音声ファイル(
Data/モデル名/raw
にいれるやつ)を、wav
以外のmp3
やogg
などの形式にも対応(前処理段階で自動的にwav
ファイルに変換されます)(ただし変わらず1ファイル2-12秒程度の範囲の長さが望ましい)
音声合成
- 音声合成時に、生成音声の音の高さ(音高)と抑揚の幅を調整できるように(ただし音質が少し劣化する)。
App.bat
やEditor.bat
のどちらからでも使えます。 Editor.bat
の複数話者モデルでの話者指定を可能にEditor.bat
で、改行を含む文字列をペーストすると自動的に欄が増えるように。また「↑↓」キーで欄を追加・行き来できるように(エディター側で以前に既にアプデしていました)Editor.bat
でモデル一覧のリロードをメニューに追加
API
server_fastapi.py
の実行時に全てのモデルファイルを読み込もうとする挙動を修正。音声合成がリクエストされて初めてそのモデルを読み込むように変更(APIを使わない音声合成のときと同じ挙動)server_fastapi.py
の音声合成エンドポイント/voice
について、GETメソッドに加えてPOSTメソッドを追加。GETメソッドでは多くの制約があるようなのでPOSTを使うことが推奨されます。
CLI
preprocess_text.py
で、書き起こしファイルでの音声ファイル名を自動的に正しいData/モデル名/wavs/
へ書き換える--correct_path
オプションの追加(WebUIでは今までもこの挙動でした)- その他上述のデータセット作成の機能追加に伴うCLIのオプションの追加(詳しくはCLI.mdを参照)