Update (maybe ver 2.1)
This commit is contained in:
5
app.py
5
app.py
@@ -19,6 +19,7 @@ from common.constants import (
|
|||||||
DEFAULT_SPLIT_INTERVAL,
|
DEFAULT_SPLIT_INTERVAL,
|
||||||
DEFAULT_STYLE,
|
DEFAULT_STYLE,
|
||||||
DEFAULT_STYLE_WEIGHT,
|
DEFAULT_STYLE_WEIGHT,
|
||||||
|
LATEST_VERSION,
|
||||||
Languages,
|
Languages,
|
||||||
)
|
)
|
||||||
from common.log import logger
|
from common.log import logger
|
||||||
@@ -192,8 +193,8 @@ examples = [
|
|||||||
],
|
],
|
||||||
]
|
]
|
||||||
|
|
||||||
initial_md = """
|
initial_md = f"""
|
||||||
# Style-Bert-VITS2 ver 2.0 音声合成
|
# Style-Bert-VITS2 ver {LATEST_VERSION} 音声合成
|
||||||
|
|
||||||
注意: 初期からある[jvnvのモデル](https://huggingface.co/litagin/style_bert_vits2_jvnv)は、[JVNVコーパス(言語音声と非言語音声を持つ日本語感情音声コーパス)](https://sites.google.com/site/shinnosuketakamichi/research-topics/jvnv_corpus)で学習されたモデルです。ライセンスは[CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.ja)です。
|
注意: 初期からある[jvnvのモデル](https://huggingface.co/litagin/style_bert_vits2_jvnv)は、[JVNVコーパス(言語音声と非言語音声を持つ日本語感情音声コーパス)](https://sites.google.com/site/shinnosuketakamichi/research-topics/jvnv_corpus)で学習されたモデルです。ライセンスは[CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.ja)です。
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
"もっといろいろ足したりいろんなスタイルベクトルを作って遊べると思います。\n",
|
"もっといろいろ足したりいろんなスタイルベクトルを作って遊べると思います。\n",
|
||||||
"ある程度慣れている人向けです。\n",
|
"ある程度慣れている人向けです。\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
"JVNVコーパスのように**スタイルが既にファイル名等で分かれている場合は、最後の方のセルを使えばそれを利用してスタイルを作ることができます。**\n",
|
||||||
|
"\n",
|
||||||
"例では[JVNVコーパス](https://sites.google.com/site/shinnosuketakamichi/research-topics/jvnv_corpus)のjvnv-M1を使います。\n",
|
"例では[JVNVコーパス](https://sites.google.com/site/shinnosuketakamichi/research-topics/jvnv_corpus)のjvnv-M1を使います。\n",
|
||||||
"\n",
|
"\n",
|
||||||
"## そもそもスタイルベクトルとは\n",
|
"## そもそもスタイルベクトルとは\n",
|
||||||
@@ -204,6 +206,14 @@
|
|||||||
"np.save(\"model_assets/jvnv-M1/style_vectors.npy\", save_vectors)"
|
"np.save(\"model_assets/jvnv-M1/style_vectors.npy\", save_vectors)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## 正解ラベルがファイル名から分かる場合の作り方\n",
|
||||||
|
"JVNVコーパス等でファイル名によってスタイルラベルが分かる場合、以下のようにしてスタイルベクトルを作ることができます(デフォルトのJVNVモデルのスタイルはこれで作成しています)。"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 8,
|
"execution_count": 8,
|
||||||
@@ -211,24 +221,9 @@
|
|||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"# JVNVコーパスの場合は正解はファイル名の最初の方から分かる。それを使って正解ラベルを作成\n",
|
"# JVNVコーパスの場合は正解はファイル名の最初の方から分かる。それを使って正解ラベルを作成\n",
|
||||||
"y_true = [name[3:6] for name in names]\n",
|
"label_dict = {\"ang\": 0, \"dis\": 1, \"fea\": 2, \"hap\": 3, \"sad\": 4, \"sur\": 5}\n",
|
||||||
"\n",
|
"\n",
|
||||||
"for i, y in enumerate(y_true):\n",
|
"y_true = [label_dict[name[3:6]] for name in names]"
|
||||||
" if y == \"ang\":\n",
|
|
||||||
" y_true[i] = 0\n",
|
|
||||||
" elif y == \"dis\":\n",
|
|
||||||
" y_true[i] = 1\n",
|
|
||||||
" elif y == \"fea\":\n",
|
|
||||||
" y_true[i] = 2\n",
|
|
||||||
" elif y == \"hap\":\n",
|
|
||||||
" y_true[i] = 3\n",
|
|
||||||
" elif y == \"sad\":\n",
|
|
||||||
" y_true[i] = 4\n",
|
|
||||||
" elif y == \"sur\":\n",
|
|
||||||
" y_true[i] = 5\n",
|
|
||||||
" else:\n",
|
|
||||||
" print(y)\n",
|
|
||||||
" raise ValueError"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"# Style-Bert-VITS2 (ver 2.0) のGoogle Colabでの学習\n",
|
"# Style-Bert-VITS2 (ver 2.1) のGoogle Colabでの学習\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Google Colab上でStyle-Bert-VITS2の学習を行うことができます。\n",
|
"Google Colab上でStyle-Bert-VITS2の学習を行うことができます。\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import enum
|
import enum
|
||||||
|
|
||||||
|
LATEST_VERSION: str = "2.1"
|
||||||
DEFAULT_STYLE: str = "Neutral"
|
DEFAULT_STYLE: str = "Neutral"
|
||||||
DEFAULT_STYLE_WEIGHT: float = 5.0
|
DEFAULT_STYLE_WEIGHT: float = 5.0
|
||||||
|
|
||||||
|
|||||||
@@ -67,5 +67,5 @@
|
|||||||
"use_spectral_norm": false,
|
"use_spectral_norm": false,
|
||||||
"gin_channels": 256
|
"gin_channels": 256
|
||||||
},
|
},
|
||||||
"version": "2.0.1"
|
"version": "2.1"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,5 +74,5 @@
|
|||||||
"initial_channel": 64
|
"initial_channel": 64
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "2.0.1-JP-Extra"
|
"version": "2.1-JP-Extra"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,16 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v2.1 (2024-02-07)
|
||||||
|
|
||||||
|
### 変更
|
||||||
|
- 学習の際、デフォルトではbfloat16オプションを使わないよう変更(学習が発散したり質が下がることがある模様)
|
||||||
|
- 学習の際のメモリ使用量を削減しようと頑張った
|
||||||
|
|
||||||
|
### バグ修正や改善
|
||||||
|
- 音声合成(やそのAPI)において、同時に別の話者が選択され音声合成がリクエストされた場合に発生するエラーを修正
|
||||||
|
- モデルマージ時に、そのレシピを`recipe.json`ファイルへ保存するように変更
|
||||||
|
- 「改行で分けて生成」がより感情が乗る旨の明記等、軽微な説明文の改善
|
||||||
|
|
||||||
## v2.0.1 (2024-02-05)
|
## v2.0.1 (2024-02-05)
|
||||||
|
|
||||||
軽微なバグ修正や改善
|
軽微なバグ修正や改善
|
||||||
|
|||||||
@@ -194,8 +194,8 @@ def run():
|
|||||||
pin_memory=True,
|
pin_memory=True,
|
||||||
collate_fn=collate_fn,
|
collate_fn=collate_fn,
|
||||||
batch_sampler=train_sampler,
|
batch_sampler=train_sampler,
|
||||||
# これもメモリ消費量を減らそうとしてコメントアウト(事前ロード量?)
|
persistent_workers=True,
|
||||||
# persistent_workers=True,
|
# これもメモリ消費量を減らそうとしてコメントアウト
|
||||||
# prefetch_factor=4,
|
# prefetch_factor=4,
|
||||||
) # DataLoader config could be adjusted.
|
) # DataLoader config could be adjusted.
|
||||||
eval_dataset = None
|
eval_dataset = None
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ from multiprocessing import cpu_count
|
|||||||
import gradio as gr
|
import gradio as gr
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
|
from common.constants import LATEST_VERSION
|
||||||
from common.log import logger
|
from common.log import logger
|
||||||
from common.subprocess_utils import run_script_with_log, second_elem_of
|
from common.subprocess_utils import run_script_with_log, second_elem_of
|
||||||
|
|
||||||
@@ -315,8 +316,8 @@ def train(model_name, skip_style=False, use_jp_extra=True, speedup=False):
|
|||||||
return True, "Success: 学習が完了しました"
|
return True, "Success: 学習が完了しました"
|
||||||
|
|
||||||
|
|
||||||
initial_md = """
|
initial_md = f"""
|
||||||
# Style-Bert-VITS2 ver 2.0 学習用WebUI
|
# Style-Bert-VITS2 ver {LATEST_VERSION} 学習用WebUI
|
||||||
|
|
||||||
## 使い方
|
## 使い方
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user