Skip to content

2.3: ユーザー辞書機能とエディターの追加

Compare
Choose a tag to compare
@litagin02 litagin02 released this 26 Feb 06:16
· 221 commits to master since this release
6a1096c

v2.3 (2024-02-26)

大きな変更

大きい変更をいくつかしたため、アップデートはまた専用の手順が必要です。下記の指示にしたがってください。

ユーザー辞書機能

あらかじめ辞書に固有名詞を追加することができ、それが学習時音声合成時の読み取得部分に適応されます。辞書の追加・編集は次のエディタ経由で行ってください。または、手持ちのOpenJTalkのcsv形式の辞書がある場合は、dict_data/default.csvファイルを直接上書きや追加しても可能です。

使えそうな辞書(ライセンス等は各自ご確認ください)(他に良いのがあったら教えて下さい):

辞書機能部分の実装 は、中のREADMEにある通り、VOICEVOX Editor のものを使っており、この部分のコードライセンスはLGPL-3.0です。

音声合成専用エディタ

🤗 オンラインデモはこちらから

音声合成専用エディタを追加。今までのWebUIでできた機能のほか、次のような機能が使えます(つまり既存の日本語音声合成ソフトウェアのエディタを真似ました):

  • セリフ単位でキャラや設定を変更しながら原稿を作り、それを一括で生成したり、原稿を保存等したり読み込んだり
  • GUIよる分かりやすいアクセント調整
  • ユーザー辞書への単語追加や編集

Editor.batをダブルクリックかpython server_editor.py --inbrowserで起動します。エディター部分はこちらの別リポジトリになります。フロントエンド初心者なのでプルリクや改善案等をお待ちしています。

バグ修正

  • 特定の状況で読みが正しく取得できず list index out of range となるバグの修正
  • 前処理時に、書き起こしファイルのある行の形式が不正だと、書き起こしファイルのそれ以降の内容が消えてしまうバグの修正
  • faster-whisperが1.0.0にメジャーバージョンアップされ(今のところ)大幅に劣化したので、バージョンを0.10.1へ固定

改善

  • テキスト前処理時に、読みの取得の失敗等があった場合に、処理を中断せず、エラーがおきた箇所をtext_error.logファイルへ保存するように変更。
  • 音声合成時に、読めない文字があったときはエラーを起こさず、その部分を無視して読み上げるように変更(学習段階ではエラーを出します)
  • コマンドラインで前処理や学習が簡単にできるよう、前処理を行うpreprocess_all.pyを追加(詳しくはCLI.mdを参照)
  • 学習の際に、自動的に自分のhugging faceリポジトリへ結果をアップロードするオプションを追加。コマンドライン引数で--repo_id username/my_modelのように指定してください(詳しくはCLI.mdを参照)。🤗の無制限ストレージが使えるのでクラウドでの学習に便利です。
  • 学習時にデコーダー部分を凍結するオプションの追加。品質がもしかしたら上がるかもしれません。
  • initialize.pyに引数--dataset_root--assets_rootを追加し、configs/paths.ymlをその時点で変更できるようにした

その他

アップデート手順

  • Update-to-Dict-Editor.batをダウンロードし、Style-Bert-VITS2フォルダがある場所(インストールbatファイルとかがあったところ)においてダブルクリックしてください。

  • 手動での場合は、以下の手順で実行してください:

git pull
venv\Scripts\activate
pip uninstall pyopenjtalk-prebuilt
pip install -U -r requirements.txt
# python initialize.py  # これを1.x系からのアップデートの場合は実行してください
python server_editor.py --inbrowser

新規インストール手順

このzipをダウンロードし、解凍してください。
を展開し、Install-Style-Bert-VITS2.batをダブルクリックしてください。