|
38 | 38 | SHERPA_ONNX_DELETE_C_STR(c.model.kitten.voices); \ |
39 | 39 | SHERPA_ONNX_DELETE_C_STR(c.model.kitten.tokens); \ |
40 | 40 | SHERPA_ONNX_DELETE_C_STR(c.model.kitten.data_dir); \ |
41 | | - \ |
| 41 | + \ |
| 42 | + SHERPA_ONNX_DELETE_C_STR(c.model.zipvoice.tokens); \ |
| 43 | + SHERPA_ONNX_DELETE_C_STR(c.model.zipvoice.encoder); \ |
| 44 | + SHERPA_ONNX_DELETE_C_STR(c.model.zipvoice.decoder); \ |
| 45 | + SHERPA_ONNX_DELETE_C_STR(c.model.zipvoice.vocoder); \ |
| 46 | + SHERPA_ONNX_DELETE_C_STR(c.model.zipvoice.data_dir); \ |
| 47 | + SHERPA_ONNX_DELETE_C_STR(c.model.zipvoice.lexicon); \ |
| 48 | + \ |
42 | 49 | SHERPA_ONNX_DELETE_C_STR(c.model.kokoro.model); \ |
43 | 50 | SHERPA_ONNX_DELETE_C_STR(c.model.kokoro.voices); \ |
44 | 51 | SHERPA_ONNX_DELETE_C_STR(c.model.kokoro.tokens); \ |
@@ -202,6 +209,30 @@ static SherpaOnnxOfflineTtsKittenModelConfig GetOfflineTtsKittenModelConfig( |
202 | 209 | return c; |
203 | 210 | } |
204 | 211 |
|
| 212 | +static SherpaOnnxOfflineTtsZipvoiceModelConfig |
| 213 | +GetOfflineTtsZipvoiceModelConfig(Napi::Object obj) { |
| 214 | + SherpaOnnxOfflineTtsZipvoiceModelConfig c; |
| 215 | + memset(&c, 0, sizeof(c)); |
| 216 | + |
| 217 | + if (!obj.Has("zipvoice") || !obj.Get("zipvoice").IsObject()) { |
| 218 | + return c; |
| 219 | + } |
| 220 | + |
| 221 | + Napi::Object o = obj.Get("zipvoice").As<Napi::Object>(); |
| 222 | + SHERPA_ONNX_ASSIGN_ATTR_STR(tokens, tokens); |
| 223 | + SHERPA_ONNX_ASSIGN_ATTR_STR(encoder, encoder); |
| 224 | + SHERPA_ONNX_ASSIGN_ATTR_STR(decoder, decoder); |
| 225 | + SHERPA_ONNX_ASSIGN_ATTR_STR(vocoder, vocoder); |
| 226 | + SHERPA_ONNX_ASSIGN_ATTR_STR(data_dir, dataDir); |
| 227 | + SHERPA_ONNX_ASSIGN_ATTR_STR(lexicon, lexicon); |
| 228 | + SHERPA_ONNX_ASSIGN_ATTR_FLOAT(feat_scale, featScale); |
| 229 | + SHERPA_ONNX_ASSIGN_ATTR_FLOAT(t_shift, tShift); |
| 230 | + SHERPA_ONNX_ASSIGN_ATTR_FLOAT(target_rms, targetRms); |
| 231 | + SHERPA_ONNX_ASSIGN_ATTR_FLOAT(guidance_scale, guidanceScale); |
| 232 | + |
| 233 | + return c; |
| 234 | +} |
| 235 | + |
205 | 236 | static SherpaOnnxOfflineTtsPocketModelConfig GetOfflineTtsPocketModelConfig( |
206 | 237 | Napi::Object obj) { |
207 | 238 | SherpaOnnxOfflineTtsPocketModelConfig c; |
@@ -268,6 +299,7 @@ static SherpaOnnxOfflineTtsModelConfig GetOfflineTtsModelConfig( |
268 | 299 | c.matcha = GetOfflineTtsMatchaModelConfig(o); |
269 | 300 | c.kokoro = GetOfflineTtsKokoroModelConfig(o); |
270 | 301 | c.kitten = GetOfflineTtsKittenModelConfig(o); |
| 302 | + c.zipvoice = GetOfflineTtsZipvoiceModelConfig(o); |
271 | 303 | c.pocket = GetOfflineTtsPocketModelConfig(o); |
272 | 304 | c.supertonic = GetOfflineTtsSupertonicModelConfig(o); |
273 | 305 |
|
|
0 commit comments