@@ -3,6 +3,11 @@ function freeConfig(config) {
3
3
if ( 'buffer' in config ) {
4
4
_free ( config . buffer ) ;
5
5
}
6
+
7
+ if ( 'config' in config ) {
8
+ freeConfig ( config . config )
9
+ }
10
+
6
11
_free ( config . ptr ) ;
7
12
}
8
13
@@ -18,7 +23,7 @@ function initSherpaOnnxOfflineTtsVitsModelConfig(config) {
18
23
let buffer = _malloc ( n ) ;
19
24
20
25
let len = 7 * 4 ;
21
- let ptr = _malloc ( 7 * 4 ) ;
26
+ let ptr = _malloc ( len ) ;
22
27
23
28
let offset = 0 ;
24
29
stringToUTF8 ( config . model , buffer + offset , modelLen ) ;
@@ -55,16 +60,50 @@ function initSherpaOnnxOfflineTtsVitsModelConfig(config) {
55
60
}
56
61
}
57
62
63
+ function initSherpaOnnxOfflineTtsModelConfig ( config ) {
64
+ let vitsModelConfig =
65
+ initSherpaOnnxOfflineTtsVitsModelConfig ( config . offlineTtsVitsModelConfig ) ;
66
+
67
+ let len = vitsModelConfig . len + 3 * 4 ;
68
+ let ptr = _malloc ( len ) ;
69
+
70
+ let offset = 0 ;
71
+ Module . _CopyHeap ( vitsModelConfig . ptr , vitsModelConfig . len , ptr + offset ) ;
72
+ offset += vitsModelConfig . len ;
73
+
74
+ Module . setValue ( ptr + offset , config . numThreads , 'i32' ) ;
75
+ offset += 4 ;
76
+
77
+ Module . setValue ( ptr + offset , config . debug , 'i32' ) ;
78
+ offset += 4 ;
79
+
80
+ let providerLen = lengthBytesUTF8 ( config . provider ) + 1 ;
81
+ let buffer = _malloc ( providerLen ) ;
82
+ stringToUTF8 ( config . provider , buffer , providerLen ) ;
83
+ Module . setValue ( ptr + offset , buffer , 'i8*' ) ;
84
+
85
+ return {
86
+ buffer : buffer , ptr : ptr , len : len , config : vitsModelConfig ,
87
+ }
88
+ }
89
+
58
90
function initSherpaOnnxOfflineTts ( ) {
59
- let offlineTtsVitsModelConfig = initSherpaOnnxOfflineTtsVitsModelConfig ( {
91
+ let offlineTtsVitsModelConfig = {
60
92
model : './model.onnx' ,
61
93
lexicon : './lexicon.txt' ,
62
94
tokens : './tokens.txt' ,
63
95
dataDir : './espeak-ng-data' ,
64
96
noiseScale : 0.667 ,
65
97
noiseScaleW : 0.8 ,
66
98
lengthScale : 1.0 ,
99
+ } ;
100
+ let offlineTtsModelConfig = initSherpaOnnxOfflineTtsModelConfig ( {
101
+ offlineTtsVitsModelConfig : offlineTtsVitsModelConfig ,
102
+ numThreads : 1 ,
103
+ debug : 1 ,
104
+ provider : 'cpu' ,
67
105
} )
68
106
console . log ( offlineTtsVitsModelConfig )
69
- Module . _MyPrint ( offlineTtsVitsModelConfig . ptr ) ;
107
+ console . log ( offlineTtsModelConfig )
108
+ Module . _MyPrint ( offlineTtsModelConfig . ptr ) ;
70
109
}
0 commit comments