add_meta_data.py
1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env python3
from typing import Any, Dict
import onnx
def add_meta_data(filename: str, meta_data: Dict[str, Any]):
"""Add meta data to an ONNX model. It is changed in-place.
Args:
filename:
Filename of the ONNX model to be changed.
meta_data:
Key-value pairs.
"""
model = onnx.load(filename)
while len(model.metadata_props):
model.metadata_props.pop()
for key, value in meta_data.items():
meta = model.metadata_props.add()
meta.key = key
meta.value = str(value)
onnx.save(model, filename)
def main():
meta_data = {
"model_type": "matcha-tts",
"language": "Persian+English",
"voice": "fa",
"has_espeak": 1,
"jieba": 0,
"n_speakers": 1,
"sample_rate": 22050,
"version": 1,
"pad_id": 0,
"use_icefall": 0,
"model_author": "Ali Mahmoudi (@mah92)",
"maintainer": "k2-fsa",
"use_eos_bos": 0,
"num_ode_steps": 5,
"see_also": "https://github.com/k2-fsa/sherpa-onnx/issues/1779",
}
add_meta_data("./female/model.onnx", meta_data)
add_meta_data("./male/model.onnx", meta_data)
if __name__ == "__main__":
main()