chinoTTS / docs /CHANGELOG.md
horiyouta's picture
202406080442
28b3671
|
raw
history blame
25.9 kB

Changelog

v2.4.1 (2024-03-16)

batファむルでのむンストヌル・アップデヌト方法の倉曎それ以倖の倉曎はありたせん

諞事情により、むンストヌル・アップデヌトのbatファむルを倉曎したしたGitが䜿えないのでバヌゞョンアップ時のアップデヌトの察応が困難だったため、Gitがない環境の堎合はPortableGitをダりンロヌドしお䜿うように。

䌎っお、これたでWindowsでbatファむルをダブルクリックしおむンストヌルしおいた方は再むンストヌルが必須ずなりたす。倧倉申し蚳ありたせん。

むンストヌル手順

むンストヌルの流れは倉わりたせんが、batファむルは倉わっおいるので、新しいzipを必ずダりンロヌドしおください

  • sbv2.zipをダりンロヌドし、解凍しおください。
  • グラボがある方は、Install-Style-Bert-VITS2.batをダブルクリックしたす。
  • グラボがない方は、Install-Style-Bert-VITS2-CPU.batをダブルクリックしたす。CPU版では孊習はできたせんが、音声合成ずマヌゞは可胜です。

アップデヌト手順

以前のバヌゞョンからのアップデヌト

今たでの環境を党お削陀しお新しくむンストヌルする必芁がありたす。 移行方法

  • 重芁なデヌタが入っおいる可胜性のあるDataフォルダずmodel_assetsフォルダをバックアップ
  • 䞊のむンストヌル手順から、新しい堎所にStyle-Bert-VITS2をむンストヌル
  • むンストヌルが終了したら、バックアップしたDataフォルダずmodel_assetsフォルダを新しいStyle-Bert-VITS2フォルダにコピヌ
  • これたでむンストヌルされおいたフォルダbatファむルたち含むは削陀しおも構いたせん

今埌のアップデヌト

今埌は、新しくむンストヌルされた䞭のUpdate-Style-Bert-VITS2.batをダブルクリックしおください。今たでのUpdate-Style-Bert-VITS2.bat等のファむルは䜿えたせん。

v2.4.0 (2024-03-15)

倧芏暡リファクタリング・日本語凊理のワヌカヌ化ず機胜远加等。デヌタセット䜜り・孊習・音声合成・マヌゞ・スタむルWebUIは党おapp.py (App.bat) ぞ統䞀されたしたのでご泚意ください。

アップデヌト手順

  • 2.3未満蟞曞・゚ディタヌ远加前からのアップデヌトの堎合は、Update-to-Dict-Editor.batをダりンロヌドし、Style-Bert-VITS2フォルダがある堎所むンストヌルbatファむルずかがあったずころにおいおダブルクリックしおください。
  • それ以倖の堎合は、単玔に今たでのUpdate-Style-Bert-VITS2.batでアップデヌトできたす。
  • ただしアップデヌトにより倚くのファむルが移動したり䞍芁になったりしたので、それらを削陀したい堎合はClean.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を参照

v2.3.1 (2024-02-27)

バグ修正

  • colabの孊習甚ノヌトブックが動かなかったのを修正
  • App.batやserver_fastapi.pyでは読めない文字でただ゚ラヌが発生するようになっおいたので、掚論時は必ず読めない文字を無芖しお匷匕に読むように挙動を倉曎

改善

  • 読みが取埗できない堎合に、テキスト前凊理完了時に゚ラヌで䞭断する今たでの挙動に加えお、「読み取埗倱敗ファむルを孊習に䜿わずに進める」もしくは「読めない文字を無芖しお読んでファむルを孊習に䜿い進める」ずいうオプションを远加。
  • マヌゞ方法に線圢補間の他に球面線圢補完を远加 @frodo821 さんによるPRです、ありがずうございたす
  • デプロむ甚.dockerignoreを曎新

アップデヌト手順

  • 2.3未満からのアップデヌトの堎合は、Update-to-Dict-Editor.batをダりンロヌドし、Style-Bert-VITS2フォルダがある堎所むンストヌルbatファむルずかがあったずころにおいおダブルクリックしおください。
  • 2.3からのアップデヌトの堎合は、単玔に今たでのUpdate-Style-Bert-VITS2.batでアップデヌトできたす。

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をダブルクリックしおください。

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版にアップデヌト。新しいモデルを䜿いたい方は手動でこちらからダりンロヌドするか、python initialize.pyをするか、このbatファむルをStyle-Bert-VITS2フォルダがある堎所むンストヌルbatファむルずかがあったずころにおいおダブルクリックしおください。

v2.0 (2024-02-03)

倧きい倉曎

モデル構造に Bert-VITS2の日本語特化モデル JP-Extra を取り蟌んだものを䜿えるように倉曎、事前孊習モデルもBert-VITS2 JP-Extraのものを改造しおStyle-Bert-VITS2で䜿えるようにしたした (モデル構造を芋盎しお日本語での孊習をしおいただいた @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のノヌトブックで、音声ファむルのみからデヌタセットを䜜成するオプション郚分を远加
  • クラりド実行等の際にパスの指定をこちらでできるように、パスの蚭定をconfigs/paths.ymlにたずめたcolabのノヌトブックもそれに䌎っお曎新。デフォルトはdataset_root: Dataずassets_root: model_assetsなので、クラりド等でやる方はここを倉曎しおください。
  • どのステップ数の出力がよいかの「䞀぀の」指暙ずしお SpeechMOS を䜿うスクリプトを远加
python speech_mos.py -m <model_name>

ステップごずの自然性評䟡が衚瀺され、mos_resultsフォルダのmos_{model_name}.csvずmos_{model_name}.pngに結果が保存される。読み䞊げさせたい文章を倉えたかったら䞭のファむルを匄っお各自調敎しおください。あくたでアクセントや感情衚珟や抑揚を党く考えない基準での評䟡で、目安のひず぀なので、実際に読み䞊げさせお遞別するのが䞀番だず思いたす。

  • 孊習時のりォヌムアップオプションを機胜するように @kale4eat 様によるPRです、ありがずうございたす。前凊理時に生成されるconfig.jsonのtrainのwarmup_epochsを倉曎するこずで、りォヌムアップの゚ポック数を倉曎できたす。デフォルトは0で今たでず同じ孊習率の挙動です。

その他

  • Dataset.batの音声スラむスでノヌマラむズ機胜を削陀孊習前凊理で行えるため
  • Train.batの音量ノヌマラむズず無音切り詰めをデフォルトでオフに倉曎
  • 孊習時の進捗を党䜓゚ポック数で衚瀺し、孊習党䜓の進捗を芋やすいように( @RedRayz 様によるPRです、ありがずうございたす)
  • その他バグ修正等 @tinjyuu 様、 @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での孊習をサポヌト、ノヌトブックを远加
  • 音声合成のAPIサヌバヌを远加、python server_fastapi.pyで起動したす。API仕様は起動埌に/docsにお確認ください。 @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)

  • 初版