@@ -21,6 +21,7 @@ def create_trained_model(
21
21
emb_ch : int ,
22
22
emb_output_layer : int ,
23
23
epoch : int ,
24
+ speaker_info : Optional [dict [str , int ]]
24
25
):
25
26
state_dict = OrderedDict ()
26
27
state_dict ["weight" ] = {}
@@ -47,7 +48,7 @@ def create_trained_model(
47
48
"upsample_rates" : [10 , 10 , 2 , 2 ],
48
49
"upsample_initial_channel" : 512 ,
49
50
"upsample_kernel_sizes" : [16 , 16 , 4 , 4 ],
50
- "spk_embed_dim" : 109 ,
51
+ "spk_embed_dim" : 109 if speaker_info is None else len ( speaker_info ) ,
51
52
"gin_channels" : 256 ,
52
53
"emb_channels" : emb_ch ,
53
54
"sr" : 40000 ,
@@ -72,7 +73,7 @@ def create_trained_model(
72
73
"upsample_rates" : [10 , 6 , 2 , 2 , 2 ],
73
74
"upsample_initial_channel" : 512 ,
74
75
"upsample_kernel_sizes" : [16 , 16 , 4 , 4 , 4 ],
75
- "spk_embed_dim" : 109 ,
76
+ "spk_embed_dim" : 109 if speaker_info is None else len ( speaker_info ) ,
76
77
"gin_channels" : 256 ,
77
78
"emb_channels" : emb_ch ,
78
79
"sr" : 48000 ,
@@ -97,7 +98,7 @@ def create_trained_model(
97
98
"upsample_rates" : [10 , 4 , 2 , 2 , 2 ],
98
99
"upsample_initial_channel" : 512 ,
99
100
"upsample_kernel_sizes" : [16 , 16 , 4 , 4 , 4 ],
100
- "spk_embed_dim" : 109 ,
101
+ "spk_embed_dim" : 109 if speaker_info is None else len ( speaker_info ) ,
101
102
"gin_channels" : 256 ,
102
103
"emb_channels" : emb_ch ,
103
104
"sr" : 32000 ,
@@ -109,6 +110,8 @@ def create_trained_model(
109
110
state_dict ["f0" ] = 1 if f0 else 0
110
111
state_dict ["embedder_name" ] = emb_name
111
112
state_dict ["embedder_output_layer" ] = emb_output_layer
113
+ if not speaker_info is None :
114
+ state_dict ["speaker_info" ] = {str (v ): str (k ) for k , v in speaker_info .items ()}
112
115
return state_dict
113
116
114
117
@@ -122,6 +125,7 @@ def save(
122
125
emb_output_layer : int ,
123
126
filepath : str ,
124
127
epoch : int ,
128
+ speaker_info : Optional [dict [str , int ]]
125
129
):
126
130
if hasattr (model , "module" ):
127
131
state_dict = model .module .state_dict ()
@@ -139,6 +143,7 @@ def save(
139
143
emb_ch ,
140
144
emb_output_layer ,
141
145
epoch ,
146
+ speaker_info
142
147
)
143
148
os .makedirs (os .path .dirname (filepath ), exist_ok = True )
144
149
torch .save (state_dict , filepath )
0 commit comments