hama-js 1.3.13 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/assets/{asr_waveform_fp16.onnx → asr_waveform.hama} +0 -0
- package/dist/{node/assets/decoder_step.onnx → browser/assets/decoder_step.hama} +0 -0
- package/dist/{node/assets/encoder.onnx → browser/assets/encoder.hama} +0 -0
- package/dist/browser/assets/hama.wasm +0 -0
- package/dist/browser/browser.js +49 -196
- package/dist/browser/browser.js.map +1 -1
- package/dist/browser/engine.browser.js +12 -0
- package/dist/browser/engine.browser.js.map +1 -0
- package/dist/browser/engine.js +146 -0
- package/dist/browser/engine.js.map +1 -0
- package/dist/node/asr.js +18 -67
- package/dist/node/asr.js.map +1 -1
- package/dist/node/assets/{asr_waveform_fp16.onnx → asr_waveform.hama} +0 -0
- package/dist/{browser/assets/decoder_step.onnx → node/assets/decoder_step.hama} +0 -0
- package/dist/{browser/assets/encoder.onnx → node/assets/encoder.hama} +0 -0
- package/dist/node/assets/hama.wasm +0 -0
- package/dist/node/engine.browser.js +12 -0
- package/dist/node/engine.browser.js.map +1 -0
- package/dist/node/engine.js +146 -0
- package/dist/node/engine.js.map +1 -0
- package/dist/node/engine.node.js +26 -0
- package/dist/node/engine.node.js.map +1 -0
- package/dist/node/index.js +35 -162
- package/dist/node/index.js.map +1 -1
- package/dist/types/asr.d.ts +2 -5
- package/dist/types/browser.d.ts +5 -8
- package/dist/types/engine.browser.d.ts +2 -0
- package/dist/types/engine.d.ts +40 -0
- package/dist/types/engine.node.d.ts +4 -0
- package/dist/types/index.d.ts +3 -3
- package/package.json +10 -10
package/dist/node/index.js
CHANGED
|
@@ -1,37 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { InferenceSession, Tensor } from "onnxruntime-node";
|
|
1
|
+
import { HamaEngine } from "./engine.js";
|
|
2
|
+
import { loadWasm, resolveModelBytes } from "./engine.node.js";
|
|
5
3
|
import { buildDisplayIpa, decodeIdsToResult, decoderIds, encodeText, prepareTextForPrediction, } from "./tokenizer.js";
|
|
6
4
|
import { pronunciationReplaceWithModel, pronunciationScanWithModel, } from "./pronunciation.js";
|
|
7
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
-
const defaultModelPath = path.join(__dirname, "assets", "g2p_fp16.onnx");
|
|
9
|
-
const defaultEncoderModelPath = path.join(__dirname, "assets", "encoder.onnx");
|
|
10
|
-
const defaultDecoderStepModelPath = path.join(__dirname, "assets", "decoder_step.onnx");
|
|
11
5
|
let defaultPronunciationModelPromise = null;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return fallback;
|
|
18
|
-
}
|
|
19
|
-
const matches = available.filter((name) => name.startsWith(`${primary}.`) || name.startsWith(primary));
|
|
20
|
-
if (matches.length === 1)
|
|
21
|
-
return matches[0];
|
|
22
|
-
if (matches.length > 1) {
|
|
23
|
-
const numeric = matches.filter((name) => name.startsWith(`${primary}.`));
|
|
24
|
-
if (numeric.length === 1)
|
|
25
|
-
return numeric[0];
|
|
26
|
-
return matches[0];
|
|
27
|
-
}
|
|
28
|
-
throw new Error(`Could not resolve ONNX tensor name for '${primary}'. Available: ${available.join(", ")}`);
|
|
6
|
+
let enginePromise = null;
|
|
7
|
+
const getEngine = () => {
|
|
8
|
+
if (enginePromise == null)
|
|
9
|
+
enginePromise = loadWasm().then((w) => HamaEngine.fromBytes(w));
|
|
10
|
+
return enginePromise;
|
|
29
11
|
};
|
|
30
12
|
export class G2PNodeModel {
|
|
31
|
-
constructor(
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
13
|
+
constructor(engine, encHandle, decHandle, opts) {
|
|
14
|
+
this.engine = engine;
|
|
15
|
+
this.encHandle = encHandle;
|
|
16
|
+
this.decHandle = decHandle;
|
|
35
17
|
this.maxInputLen = opts.maxInputLen;
|
|
36
18
|
this.maxOutputLen = opts.maxOutputLen;
|
|
37
19
|
}
|
|
@@ -39,36 +21,19 @@ export class G2PNodeModel {
|
|
|
39
21
|
if ((options.encoderModelPath === undefined) !== (options.decoderStepModelPath === undefined)) {
|
|
40
22
|
throw new Error("encoderModelPath and decoderStepModelPath must be provided together");
|
|
41
23
|
}
|
|
42
|
-
let resolvedModelPath = options.modelPath ?? defaultModelPath;
|
|
43
|
-
let resolvedEncoderPath = options.encoderModelPath ?? defaultEncoderModelPath;
|
|
44
|
-
let resolvedDecoderStepPath = options.decoderStepModelPath ?? defaultDecoderStepModelPath;
|
|
45
|
-
if (options.modelPath &&
|
|
46
|
-
fs.existsSync(options.modelPath) &&
|
|
47
|
-
fs.statSync(options.modelPath).isDirectory()) {
|
|
48
|
-
resolvedEncoderPath = path.join(options.modelPath, "encoder.onnx");
|
|
49
|
-
resolvedDecoderStepPath = path.join(options.modelPath, "decoder_step.onnx");
|
|
50
|
-
resolvedModelPath = path.join(options.modelPath, "g2p_fp16.onnx");
|
|
51
|
-
}
|
|
52
24
|
const opts = {
|
|
53
|
-
modelPath:
|
|
54
|
-
encoderModelPath:
|
|
55
|
-
decoderStepModelPath:
|
|
25
|
+
modelPath: options.modelPath ?? "",
|
|
26
|
+
encoderModelPath: options.encoderModelPath ?? "",
|
|
27
|
+
decoderStepModelPath: options.decoderStepModelPath ?? "",
|
|
56
28
|
maxInputLen: options.maxInputLen ?? 128,
|
|
57
|
-
// Retained for API compatibility; autoregressive ONNX sets output length in-graph.
|
|
58
29
|
maxOutputLen: options.maxOutputLen ?? 32,
|
|
59
30
|
};
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
InferenceSession.create(opts.decoderStepModelPath, sessionOptions),
|
|
67
|
-
]);
|
|
68
|
-
return new G2PNodeModel({ encoderSession, decoderStepSession }, opts);
|
|
69
|
-
}
|
|
70
|
-
const session = await InferenceSession.create(opts.modelPath, sessionOptions);
|
|
71
|
-
return new G2PNodeModel({ session }, opts);
|
|
31
|
+
const engine = await getEngine();
|
|
32
|
+
const encBytes = resolveModelBytes(options.encoderModelPath ?? options.modelPath, "encoder.hama");
|
|
33
|
+
const decBytes = resolveModelBytes(options.decoderStepModelPath ?? options.modelPath, "decoder_step.hama");
|
|
34
|
+
const encHandle = engine.loadEncoder(encBytes);
|
|
35
|
+
const decHandle = engine.loadDecoder(decBytes);
|
|
36
|
+
return new G2PNodeModel(engine, encHandle, decHandle, opts);
|
|
72
37
|
}
|
|
73
38
|
async predict(text, options = {}) {
|
|
74
39
|
const splitDelimiter = options.splitDelimiter ?? /\s+/u;
|
|
@@ -117,116 +82,29 @@ export class G2PNodeModel {
|
|
|
117
82
|
alignments: [],
|
|
118
83
|
};
|
|
119
84
|
}
|
|
120
|
-
|
|
121
|
-
return this.predictSingleSplit(prepared.modelText, text, prepared.charIndexMap, baseCharIndex, preserveLiterals);
|
|
122
|
-
}
|
|
123
|
-
if (!this.session) {
|
|
124
|
-
throw new Error("No ONNX session initialized");
|
|
125
|
-
}
|
|
126
|
-
const encoded = encodeText(prepared.modelText, this.maxInputLen);
|
|
127
|
-
const inputIds = new BigInt64Array(encoded.ids);
|
|
128
|
-
const inputLengths = new BigInt64Array([BigInt(encoded.length || 1)]);
|
|
129
|
-
const feeds = {
|
|
130
|
-
input_ids: new Tensor("int64", inputIds, [1, this.maxInputLen]),
|
|
131
|
-
input_lengths: new Tensor("int64", inputLengths, [1]),
|
|
132
|
-
};
|
|
133
|
-
const outputs = await this.session.run(feeds);
|
|
134
|
-
const decoded = outputs.decoded_ids.data;
|
|
135
|
-
const attn = outputs.attn_indices.data;
|
|
136
|
-
const rawResult = decodeIdsToResult(decoded, attn, encoded.positionMap);
|
|
137
|
-
const relativeAlignments = rawResult.alignments.map((alignment, idx) => ({
|
|
138
|
-
phoneme: alignment.phoneme,
|
|
139
|
-
phonemeIndex: idx,
|
|
140
|
-
charIndex: alignment.charIndex >= 0 && alignment.charIndex < prepared.charIndexMap.length
|
|
141
|
-
? prepared.charIndexMap[alignment.charIndex]
|
|
142
|
-
: -1,
|
|
143
|
-
}));
|
|
144
|
-
return {
|
|
145
|
-
ipa: rawResult.ipa,
|
|
146
|
-
displayIpa: preserveLiterals === "punct"
|
|
147
|
-
? buildDisplayIpa(rawResult.ipa, relativeAlignments, text)
|
|
148
|
-
: rawResult.ipa,
|
|
149
|
-
alignments: relativeAlignments.map((alignment, idx) => ({
|
|
150
|
-
phoneme: alignment.phoneme,
|
|
151
|
-
phonemeIndex: idx,
|
|
152
|
-
charIndex: alignment.charIndex < 0 ? alignment.charIndex : alignment.charIndex + baseCharIndex,
|
|
153
|
-
})),
|
|
154
|
-
};
|
|
85
|
+
return this.predictSingleSplit(prepared.modelText, text, prepared.charIndexMap, baseCharIndex, preserveLiterals);
|
|
155
86
|
}
|
|
156
|
-
|
|
157
|
-
if (!this.encoderSession || !this.decoderStepSession) {
|
|
158
|
-
throw new Error("Split ONNX sessions are not initialized");
|
|
159
|
-
}
|
|
87
|
+
predictSingleSplit(text, originalText, charIndexMap, baseCharIndex, preserveLiterals) {
|
|
160
88
|
const encoded = encodeText(text, this.maxInputLen);
|
|
161
89
|
const inputIds = new BigInt64Array(encoded.ids);
|
|
162
|
-
const
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
input_lengths: new Tensor("int64", inputLengths, [1]),
|
|
166
|
-
};
|
|
167
|
-
const encoderOutputs = await this.encoderSession.run(encoderFeeds);
|
|
168
|
-
const encoderOutputNames = this.encoderSession.outputNames;
|
|
169
|
-
const decoderInputNames = this.decoderStepSession.inputNames;
|
|
170
|
-
const decoderOutputNames = this.decoderStepSession.outputNames;
|
|
171
|
-
const encNames = {
|
|
172
|
-
encoder_outputs: resolveName(encoderOutputNames, "encoder_outputs"),
|
|
173
|
-
projected_keys: resolveName(encoderOutputNames, "projected_keys"),
|
|
174
|
-
encoder_mask: resolveName(encoderOutputNames, "encoder_mask"),
|
|
175
|
-
hidden: resolveName(encoderOutputNames, "hidden"),
|
|
176
|
-
prev_attn: resolveName(encoderOutputNames, "prev_attn"),
|
|
177
|
-
};
|
|
178
|
-
const decIn = {
|
|
179
|
-
decoder_input_ids: resolveName(decoderInputNames, "decoder_input_ids"),
|
|
180
|
-
encoder_outputs: resolveName(decoderInputNames, "encoder_outputs"),
|
|
181
|
-
projected_keys: resolveName(decoderInputNames, "projected_keys"),
|
|
182
|
-
encoder_mask: resolveName(decoderInputNames, "encoder_mask"),
|
|
183
|
-
prev_attn: resolveName(decoderInputNames, "prev_attn", "prev_attn_in"),
|
|
184
|
-
hidden: resolveName(decoderInputNames, "hidden", "hidden_in"),
|
|
185
|
-
positions: resolveName(decoderInputNames, "positions"),
|
|
186
|
-
};
|
|
187
|
-
const decOut = {
|
|
188
|
-
next_token_ids: resolveName(decoderOutputNames, "next_token_ids"),
|
|
189
|
-
hidden: resolveName(decoderOutputNames, "hidden_out", "hidden"),
|
|
190
|
-
prev_attn: resolveName(decoderOutputNames, "prev_attn_out", "prev_attn"),
|
|
191
|
-
attn_argmax: resolveName(decoderOutputNames, "attn_argmax"),
|
|
192
|
-
};
|
|
193
|
-
const encoderStates = {
|
|
194
|
-
encoder_outputs: encoderOutputs[encNames.encoder_outputs],
|
|
195
|
-
projected_keys: encoderOutputs[encNames.projected_keys],
|
|
196
|
-
encoder_mask: encoderOutputs[encNames.encoder_mask],
|
|
197
|
-
hidden: encoderOutputs[encNames.hidden],
|
|
198
|
-
prev_attn: encoderOutputs[encNames.prev_attn],
|
|
199
|
-
};
|
|
200
|
-
const srcLen = Number(encoderStates.encoder_outputs.dims[1] ?? 0);
|
|
201
|
-
const positions = new Float32Array(srcLen);
|
|
202
|
-
for (let i = 0; i < srcLen; i++)
|
|
90
|
+
const enc = this.engine.encoderRun(this.encHandle, inputIds, encoded.length || 1);
|
|
91
|
+
const positions = new Float32Array(enc.T);
|
|
92
|
+
for (let i = 0; i < enc.T; i++)
|
|
203
93
|
positions[i] = i;
|
|
204
|
-
|
|
205
|
-
let
|
|
206
|
-
let
|
|
207
|
-
let prevAttn = encoderStates.prev_attn;
|
|
94
|
+
let hidden = enc.hidden;
|
|
95
|
+
let prevAttn = enc.prevAttn;
|
|
96
|
+
let token = decoderIds.sos;
|
|
208
97
|
const decoded = [];
|
|
209
98
|
const attnIndices = [];
|
|
210
99
|
for (let step = 0; step < this.maxOutputLen; step++) {
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
[decIn.positions]: positionsTensor,
|
|
219
|
-
});
|
|
220
|
-
const nextToken = firstInt64(stepOutputs[decOut.next_token_ids]);
|
|
221
|
-
const attnIdx = firstInt64(stepOutputs[decOut.attn_argmax]);
|
|
222
|
-
decoded.push(nextToken);
|
|
223
|
-
attnIndices.push(attnIdx);
|
|
224
|
-
hidden = stepOutputs[decOut.hidden];
|
|
225
|
-
prevAttn = stepOutputs[decOut.prev_attn];
|
|
226
|
-
decoderInput = new Tensor("int64", new BigInt64Array([nextToken]), [1, 1]);
|
|
227
|
-
if (nextToken === BigInt(decoderIds.eos)) {
|
|
100
|
+
const out = this.engine.decoderStep(this.decHandle, token, enc.encoderOutputs, enc.projectedKeys, enc.mask, prevAttn, hidden, positions);
|
|
101
|
+
decoded.push(out.nextToken);
|
|
102
|
+
attnIndices.push(out.attnArgmax);
|
|
103
|
+
hidden = out.hiddenOut;
|
|
104
|
+
prevAttn = out.prevOut;
|
|
105
|
+
token = out.nextToken;
|
|
106
|
+
if (token === decoderIds.eos)
|
|
228
107
|
break;
|
|
229
|
-
}
|
|
230
108
|
}
|
|
231
109
|
const rawResult = decodeIdsToResult(decoded, attnIndices, encoded.positionMap);
|
|
232
110
|
const relativeAlignments = rawResult.alignments.map((alignment, idx) => ({
|
|
@@ -249,11 +127,6 @@ export class G2PNodeModel {
|
|
|
249
127
|
};
|
|
250
128
|
}
|
|
251
129
|
}
|
|
252
|
-
const firstInt64 = (tensor) => {
|
|
253
|
-
const data = tensor.data;
|
|
254
|
-
const value = data[0];
|
|
255
|
-
return typeof value === "bigint" ? value : BigInt(Math.trunc(Number(value)));
|
|
256
|
-
};
|
|
257
130
|
const escapeRegex = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
258
131
|
const toGlobalRegex = (delimiter) => {
|
|
259
132
|
if (typeof delimiter === "string") {
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,EAEV,wBAAwB,GAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAKL,6BAA6B,EAI7B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAgB5B,IAAI,gCAAgC,GAAiC,IAAI,CAAC;AAC1E,IAAI,aAAa,GAA+B,IAAI,CAAC;AAErD,MAAM,SAAS,GAAG,GAAwB,EAAE;IAC1C,IAAI,aAAa,IAAI,IAAI;QAAE,aAAa,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,OAAO,YAAY;IAOvB,YAAoB,MAAkB,EAAE,SAAiB,EAAE,SAAiB,EAAE,IAA0B;QACtG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAsB,EAAE;QAC1C,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,IAAI,GAAyB;YACjC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;YAChD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,EAAE;YACxD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;SACzC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAC3G,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,UAA0B,EAAE;QACtD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC;QACxD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC;QACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC;QAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAC7B,IAAI,CAAC,aAAa,CAChB,OAAO,CAAC,IAAI,EACZ,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,EAC5C,gBAAgB,CACjB,CACF,CACF,CAAC;QAEF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACzC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC9C,UAAU,CAAC,IAAI,CAAC;oBACd,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,YAAY,EAAE,UAAU,CAAC,MAAM;oBAC/B,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAY,EACZ,KAAwC,EACxC,UAAoC,EAAE;QAEtC,OAAO,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,IAAY,EACZ,KAAwC,EACxC,UAAuC,EAAE;QAEzC,OAAO,6BAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,IAAY,EACZ,aAAqB,EACrB,gBAAsC;QAEtC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAClE,IAAI,gBAAgB,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,OAAO;gBACL,GAAG,EAAE,EAAE;gBACP,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvE,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACnH,CAAC;IAEO,kBAAkB,CACxB,IAAY,EACZ,YAAoB,EACpB,YAAsB,EACtB,aAAqB,EACrB,gBAAsC;QAEtC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAElF,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE;YAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACxB,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC5B,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CACjC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CACpG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC;YACvB,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;YACvB,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;YACtB,IAAI,KAAK,KAAK,UAAU,CAAC,GAAG;gBAAE,MAAM;QACtC,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/E,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,YAAY,EAAE,GAAG;YACjB,SAAS,EACP,SAAS,CAAC,SAAS,IAAI,CAAC,IAAI,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM;gBACnE,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC;gBACnC,CAAC,CAAC,CAAC,CAAC;SACT,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,UAAU,EACR,gBAAgB,KAAK,OAAO;gBAC1B,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,YAAY,CAAC;gBAClE,CAAC,CAAC,SAAS,CAAC,GAAG;YACnB,UAAU,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACtD,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,YAAY,EAAE,GAAG;gBACjB,SAAS,EACP,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,GAAG,aAAa;aACtF,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAE5F,MAAM,aAAa,GAAG,CAAC,SAA0B,EAAU,EAAE;IAC3D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC;IACtF,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,IAAY,EACZ,SAAiC,EACe,EAAE;IAClD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IAEpB,MAAM,QAAQ,GAAmD,EAAE,CAAC;IACpE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC7B,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,cAAsB,EAAU,EAAE;IACvE,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,cAAc,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,cAAc,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,GAA0B,EAAE;IAC/D,IAAI,gCAAgC,IAAI,IAAI,EAAE,CAAC;QAC7C,gCAAgC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,gCAAgC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,IAAY,EACZ,KAAwC,EACxC,UAAoC,EAAE,EACJ,EAAE,CACpC,0BAA0B,CAAC,MAAM,4BAA4B,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,IAAY,EACZ,KAAwC,EACxC,UAAuC,EAAE,EACJ,EAAE,CACvC,6BAA6B,CAAC,MAAM,4BAA4B,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAE5F,OAAO,EACL,YAAY,EACZ,eAAe,GAChB,MAAM,UAAU,CAAC"}
|
package/dist/types/asr.d.ts
CHANGED
|
@@ -29,7 +29,8 @@ export declare const decodeCtcTokens: (frameTokenIds: readonly number[], decoder
|
|
|
29
29
|
words: string[][];
|
|
30
30
|
};
|
|
31
31
|
export declare class ASRNodeModel {
|
|
32
|
-
private readonly
|
|
32
|
+
private readonly engine;
|
|
33
|
+
private readonly handle;
|
|
33
34
|
private readonly decoderTokens;
|
|
34
35
|
private readonly blankId;
|
|
35
36
|
private readonly unkId;
|
|
@@ -39,10 +40,6 @@ export declare class ASRNodeModel {
|
|
|
39
40
|
private readonly unkBias;
|
|
40
41
|
private readonly collapseRepeats;
|
|
41
42
|
private readonly sampleRate;
|
|
42
|
-
private readonly waveformInputName;
|
|
43
|
-
private readonly waveformLengthsInputName;
|
|
44
|
-
private readonly logProbsOutputName;
|
|
45
|
-
private readonly outLengthsOutputName;
|
|
46
43
|
private constructor();
|
|
47
44
|
static create(options?: ASRNodeOptions): Promise<ASRNodeModel>;
|
|
48
45
|
get inputFormat(): "waveform";
|
package/dist/types/browser.d.ts
CHANGED
|
@@ -43,9 +43,9 @@ export declare const decodeCtcTokens: (frameTokenIds: readonly number[], decoder
|
|
|
43
43
|
words: string[][];
|
|
44
44
|
};
|
|
45
45
|
export declare class G2PBrowserModel {
|
|
46
|
-
private
|
|
47
|
-
private
|
|
48
|
-
private
|
|
46
|
+
private readonly engine;
|
|
47
|
+
private readonly encHandle;
|
|
48
|
+
private readonly decHandle;
|
|
49
49
|
private readonly options;
|
|
50
50
|
private constructor();
|
|
51
51
|
static create(options?: BrowserOptions): Promise<G2PBrowserModel>;
|
|
@@ -57,7 +57,8 @@ export declare class G2PBrowserModel {
|
|
|
57
57
|
private predictSingleSplit;
|
|
58
58
|
}
|
|
59
59
|
export declare class ASRBrowserModel {
|
|
60
|
-
private readonly
|
|
60
|
+
private readonly engine;
|
|
61
|
+
private readonly handle;
|
|
61
62
|
private readonly decoderTokens;
|
|
62
63
|
private readonly blankId;
|
|
63
64
|
private readonly unkId;
|
|
@@ -67,10 +68,6 @@ export declare class ASRBrowserModel {
|
|
|
67
68
|
private readonly unkBias;
|
|
68
69
|
private readonly collapseRepeats;
|
|
69
70
|
private readonly sampleRate;
|
|
70
|
-
private readonly waveformInputName;
|
|
71
|
-
private readonly waveformLengthsInputName;
|
|
72
|
-
private readonly logProbsOutputName;
|
|
73
|
-
private readonly outLengthsOutputName;
|
|
74
71
|
private constructor();
|
|
75
72
|
static create(options?: ASRBrowserOptions): Promise<ASRBrowserModel>;
|
|
76
73
|
get inputFormat(): "waveform";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const ENC_FEAT = 192;
|
|
2
|
+
export declare const ENC_HID = 96;
|
|
3
|
+
export declare const DEC_HID = 96;
|
|
4
|
+
export declare const ASR_VOCAB = 191;
|
|
5
|
+
export interface EncoderOut {
|
|
6
|
+
encoderOutputs: Float32Array;
|
|
7
|
+
projectedKeys: Float32Array;
|
|
8
|
+
hidden: Float32Array;
|
|
9
|
+
mask: Uint8Array;
|
|
10
|
+
prevAttn: Float32Array;
|
|
11
|
+
T: number;
|
|
12
|
+
}
|
|
13
|
+
export interface DecoderOut {
|
|
14
|
+
nextToken: number;
|
|
15
|
+
attnArgmax: number;
|
|
16
|
+
hiddenOut: Float32Array;
|
|
17
|
+
prevOut: Float32Array;
|
|
18
|
+
}
|
|
19
|
+
export declare class HamaEngine {
|
|
20
|
+
private ex;
|
|
21
|
+
private constructor();
|
|
22
|
+
static fromBytes(wasm: Uint8Array): Promise<HamaEngine>;
|
|
23
|
+
private writeBytes;
|
|
24
|
+
private writeF32;
|
|
25
|
+
private writeI64;
|
|
26
|
+
private readF32;
|
|
27
|
+
private readU8;
|
|
28
|
+
private readI64;
|
|
29
|
+
private loadModel;
|
|
30
|
+
loadEncoder(bytes: Uint8Array): number;
|
|
31
|
+
loadDecoder(bytes: Uint8Array): number;
|
|
32
|
+
loadAsr(bytes: Uint8Array): number;
|
|
33
|
+
encoderRun(h: number, ids: BigInt64Array, length: number): EncoderOut;
|
|
34
|
+
decoderStep(h: number, token: number, eo: Float32Array, pk: Float32Array, mask: Uint8Array, prev: Float32Array, hidden: Float32Array, positions: Float32Array): DecoderOut;
|
|
35
|
+
asrRun(h: number, wav: Float32Array): {
|
|
36
|
+
logProbs: Float32Array;
|
|
37
|
+
T: number;
|
|
38
|
+
outLength: number;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function loadWasm(): Promise<Uint8Array>;
|
|
2
|
+
/** Resolve `.hama` weight bytes from an explicit path (a `.hama` file, a sibling
|
|
3
|
+
* of a `.onnx` path, or a directory containing the asset) or the packaged asset. */
|
|
4
|
+
export declare function resolveModelBytes(pathOrDir: string | undefined, asset: string): Uint8Array;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -13,9 +13,9 @@ export interface PredictOptions {
|
|
|
13
13
|
preserveLiterals?: PreserveLiteralsMode;
|
|
14
14
|
}
|
|
15
15
|
export declare class G2PNodeModel {
|
|
16
|
-
private
|
|
17
|
-
private
|
|
18
|
-
private
|
|
16
|
+
private engine;
|
|
17
|
+
private encHandle;
|
|
18
|
+
private decHandle;
|
|
19
19
|
private maxInputLen;
|
|
20
20
|
private maxOutputLen;
|
|
21
21
|
private constructor();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hama-js",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"description": "G2P + phoneme-ASR inference for Node, Bun, and browsers, powered by a self-contained WASM engine (no onnxruntime).",
|
|
5
5
|
"homepage": "https://hamalnp.org",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -88,10 +88,12 @@
|
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
90
|
"scripts": {
|
|
91
|
-
"build": "bun run build:node && bun run build:browser",
|
|
91
|
+
"build": "bun run build:wasm && bun run build:node && bun run build:browser",
|
|
92
|
+
"build:wasm": "(cd ../zig && zig build wasm -Doptimize=ReleaseSmall) && cp ../zig/zig-out/bin/hama.wasm src/assets/hama.wasm",
|
|
92
93
|
"build:node": "tsc -p tsconfig.node.json && rm -rf dist/node/assets && mkdir -p dist/node/assets && cp -R src/assets/. dist/node/assets",
|
|
93
94
|
"build:browser": "tsc -p tsconfig.browser.json && rm -rf dist/browser/assets && mkdir -p dist/browser/assets && cp -R src/assets/. dist/browser/assets",
|
|
94
95
|
"test": "bun test",
|
|
96
|
+
"prepublishOnly": "bun run build",
|
|
95
97
|
"validate:model": "bun run scripts/validate-model.ts",
|
|
96
98
|
"validate:model:split": "bun run scripts/validate-split-model.ts",
|
|
97
99
|
"validate:asr": "bun run scripts/validate-asr-model.ts",
|
|
@@ -105,9 +107,10 @@
|
|
|
105
107
|
"keywords": [
|
|
106
108
|
"asr",
|
|
107
109
|
"g2p",
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
110
|
+
"phoneme",
|
|
111
|
+
"wasm",
|
|
112
|
+
"zig",
|
|
113
|
+
"bun"
|
|
111
114
|
],
|
|
112
115
|
"author": "Seongmin Park",
|
|
113
116
|
"license": "Apache-2.0",
|
|
@@ -118,9 +121,6 @@
|
|
|
118
121
|
"node-record-lpcm16": "^1.0.1",
|
|
119
122
|
"typescript": "^5.9.3"
|
|
120
123
|
},
|
|
121
|
-
"dependencies": {
|
|
122
|
-
"onnxruntime-node": "^1.23.2",
|
|
123
|
-
"onnxruntime-web": "^1.23.2"
|
|
124
|
-
},
|
|
124
|
+
"dependencies": {},
|
|
125
125
|
"packageManager": "bun@1.1.0"
|
|
126
126
|
}
|