* Add files via upload * Add files via upload * Add files via upload * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
57 lines
1.7 KiB
Python
57 lines
1.7 KiB
Python
from models_onnx import SynthesizerTrn
|
|
import utils
|
|
from text.symbols import symbols
|
|
import os
|
|
import json
|
|
|
|
|
|
def export_onnx(export_path, model_path, config_path):
|
|
hps = utils.get_hparams_from_file(config_path)
|
|
net_g = SynthesizerTrn(
|
|
len(symbols),
|
|
hps.data.filter_length // 2 + 1,
|
|
hps.train.segment_size // hps.data.hop_length,
|
|
n_speakers=hps.data.n_speakers,
|
|
**hps.model,
|
|
)
|
|
_ = net_g.eval()
|
|
_ = utils.load_checkpoint(model_path, net_g, None, skip_optimizer=True)
|
|
net_g.export_onnx(export_path)
|
|
|
|
spklist = []
|
|
for key in hps.data.spk2id.keys():
|
|
spklist.append(key)
|
|
|
|
MoeVSConf = {
|
|
"Folder": f"{export_path}",
|
|
"Name": f"{export_path}",
|
|
"Type": "BertVits",
|
|
"Symbol": symbols,
|
|
"Cleaner": "",
|
|
"Rate": hps.data.sampling_rate,
|
|
"CharaMix": True,
|
|
"Characters": spklist,
|
|
"LanguageMap": {"ZH": [0, 0], "JP": [1, 6], "EN": [2, 8]},
|
|
"Dict": "BasicDict",
|
|
"BertPath": [
|
|
"chinese-roberta-wwm-ext-large",
|
|
"deberta-v2-large-japanese",
|
|
"bert-base-japanese-v3",
|
|
],
|
|
}
|
|
|
|
with open(f"onnx/{export_path}.json", "w") as MoeVsConfFile:
|
|
json.dump(MoeVSConf, MoeVsConfFile, indent=4)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print(symbols)
|
|
export_path = "HimenoSena"
|
|
model_path = "G_53000.pth"
|
|
config_path = "config.json"
|
|
if not os.path.exists("onnx"):
|
|
os.makedirs("onnx")
|
|
if not os.path.exists(f"onnx/{export_path}"):
|
|
os.makedirs(f"onnx/{export_path}")
|
|
export_onnx(export_path, model_path, config_path)
|