speechflow 2.0.4 → 2.1.1

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.
Files changed (56) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +47 -15
  3. package/etc/speechflow.yaml +20 -48
  4. package/etc/stx.conf +2 -2
  5. package/package.json +6 -6
  6. package/speechflow-cli/dst/speechflow-node-a2a-gtcrn-wt.d.ts +1 -0
  7. package/speechflow-cli/dst/speechflow-node-a2a-gtcrn-wt.js +60 -0
  8. package/speechflow-cli/dst/speechflow-node-a2a-gtcrn-wt.js.map +1 -0
  9. package/speechflow-cli/dst/speechflow-node-a2a-gtcrn.d.ts +15 -0
  10. package/speechflow-cli/dst/speechflow-node-a2a-gtcrn.js +234 -0
  11. package/speechflow-cli/dst/speechflow-node-a2a-gtcrn.js.map +1 -0
  12. package/speechflow-cli/dst/speechflow-node-a2a-meter.js +2 -2
  13. package/speechflow-cli/dst/speechflow-node-a2a-meter.js.map +1 -1
  14. package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js +42 -21
  15. package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js.map +1 -1
  16. package/speechflow-cli/dst/speechflow-node-t2t-deepl.js +1 -1
  17. package/speechflow-cli/dst/speechflow-node-t2t-deepl.js.map +1 -1
  18. package/speechflow-cli/dst/speechflow-node-t2t-profanity.js +26 -6
  19. package/speechflow-cli/dst/speechflow-node-t2t-profanity.js.map +1 -1
  20. package/speechflow-cli/dst/speechflow-node-t2t-sentence.d.ts +3 -2
  21. package/speechflow-cli/dst/speechflow-node-t2t-sentence.js +135 -51
  22. package/speechflow-cli/dst/speechflow-node-t2t-sentence.js.map +1 -1
  23. package/speechflow-cli/dst/speechflow-node-t2t-simulator.d.ts +11 -0
  24. package/speechflow-cli/dst/speechflow-node-t2t-simulator.js +128 -0
  25. package/speechflow-cli/dst/speechflow-node-t2t-simulator.js.map +1 -0
  26. package/speechflow-cli/dst/speechflow-util-queue.d.ts +9 -3
  27. package/speechflow-cli/dst/speechflow-util-queue.js +39 -17
  28. package/speechflow-cli/dst/speechflow-util-queue.js.map +1 -1
  29. package/speechflow-cli/etc/oxlint.jsonc +1 -0
  30. package/speechflow-cli/package.d/sherpa-onnx+1.12.25.patch +12 -0
  31. package/speechflow-cli/package.json +32 -26
  32. package/speechflow-cli/src/lib.d.ts +30 -4
  33. package/speechflow-cli/src/speechflow-node-a2a-gtcrn-wt.ts +68 -0
  34. package/speechflow-cli/src/speechflow-node-a2a-gtcrn.ts +219 -0
  35. package/speechflow-cli/src/speechflow-node-a2a-meter.ts +2 -2
  36. package/speechflow-cli/src/speechflow-node-a2t-deepgram.ts +48 -27
  37. package/speechflow-cli/src/speechflow-node-t2t-deepl.ts +1 -1
  38. package/speechflow-cli/src/speechflow-node-t2t-profanity.ts +30 -11
  39. package/speechflow-cli/src/speechflow-node-t2t-sentence.ts +152 -60
  40. package/speechflow-cli/src/speechflow-util-queue.ts +44 -19
  41. package/speechflow-ui-db/dst/app-font-fa-brands-400.woff2 +0 -0
  42. package/speechflow-ui-db/dst/app-font-fa-regular-400.woff2 +0 -0
  43. package/speechflow-ui-db/dst/app-font-fa-solid-900.woff2 +0 -0
  44. package/speechflow-ui-db/dst/app-font-fa-v4compatibility.woff2 +0 -0
  45. package/speechflow-ui-db/dst/index.css +1 -1
  46. package/speechflow-ui-db/dst/index.js +47 -46
  47. package/speechflow-ui-db/package.json +21 -18
  48. package/speechflow-ui-db/src/app.vue +64 -19
  49. package/speechflow-ui-st/dst/app-font-fa-brands-400.woff2 +0 -0
  50. package/speechflow-ui-st/dst/app-font-fa-regular-400.woff2 +0 -0
  51. package/speechflow-ui-st/dst/app-font-fa-solid-900.woff2 +0 -0
  52. package/speechflow-ui-st/dst/app-font-fa-v4compatibility.woff2 +0 -0
  53. package/speechflow-ui-st/dst/index.css +1 -1
  54. package/speechflow-ui-st/dst/index.js +65 -64
  55. package/speechflow-ui-st/package.json +22 -19
  56. package/speechflow-ui-st/src/app.vue +9 -8
@@ -0,0 +1,11 @@
1
+ import SpeechFlowNode from "./speechflow-node";
2
+ export default class SpeechFlowNodeT2TSimulator extends SpeechFlowNode {
3
+ static name: string;
4
+ constructor(id: string, cfg: {
5
+ [id: string]: any;
6
+ }, opts: {
7
+ [id: string]: any;
8
+ }, args: any[]);
9
+ open(): Promise<void>;
10
+ close(): Promise<void>;
11
+ }
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /*
3
+ ** SpeechFlow - Speech Processing Flow Graph
4
+ ** Copyright (c) 2024-2025 Dr. Ralf S. Engelschall <rse@engelschall.com>
5
+ ** Licensed under GPL 3.0 <https://spdx.org/licenses/GPL-3.0-only>
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ /* standard dependencies */
45
+ const node_stream_1 = __importDefault(require("node:stream"));
46
+ /* internal dependencies */
47
+ const speechflow_node_1 = __importDefault(require("./speechflow-node"));
48
+ const util = __importStar(require("./speechflow-util"));
49
+ /* SpeechFlow node for text-to-text simulation of intermediate results */
50
+ class SpeechFlowNodeT2TSimulator extends speechflow_node_1.default {
51
+ /* declare official node name */
52
+ static name = "t2t-simulator";
53
+ /* construct node */
54
+ constructor(id, cfg, opts, args) {
55
+ super(id, cfg, opts, args);
56
+ /* declare node configuration parameters */
57
+ this.configure({
58
+ repeat: { type: "number", pos: 0, val: 3 },
59
+ noise: { type: "number", pos: 1, val: 2 }
60
+ });
61
+ /* declare node input/output format */
62
+ this.input = "text";
63
+ this.output = "text";
64
+ }
65
+ /* open node */
66
+ async open() {
67
+ /* provide text noise injection */
68
+ const injectNoise = (text, count) => {
69
+ if (text.length === 0 || count <= 0)
70
+ return text;
71
+ const chars = text.split("");
72
+ const positions = new Set();
73
+ const attempts = Math.min(count, chars.length);
74
+ while (positions.size < attempts) {
75
+ const pos = Math.floor(Math.random() * chars.length);
76
+ positions.add(pos);
77
+ }
78
+ for (const pos of positions) {
79
+ const offset = Math.floor(Math.random() * 26);
80
+ const base = chars[pos] >= "A" && chars[pos] <= "Z" ? "A" : "a";
81
+ chars[pos] = String.fromCharCode(base.charCodeAt(0) + offset);
82
+ }
83
+ return chars.join("");
84
+ };
85
+ /* establish a transform stream and connect it to text simulation */
86
+ const repeat = this.params.repeat;
87
+ const noise = this.params.noise;
88
+ this.stream = new node_stream_1.default.Transform({
89
+ readableObjectMode: true,
90
+ writableObjectMode: true,
91
+ decodeStrings: false,
92
+ highWaterMark: 1,
93
+ transform(chunk, encoding, callback) {
94
+ if (Buffer.isBuffer(chunk.payload))
95
+ callback(new Error("invalid chunk payload type"));
96
+ else if (chunk.payload === "") {
97
+ this.push(chunk);
98
+ callback();
99
+ }
100
+ else {
101
+ /* emit "repeat" intermediate chunks with noise */
102
+ for (let i = 0; i < repeat; i++) {
103
+ const chunkIntermediate = chunk.clone();
104
+ chunkIntermediate.kind = "intermediate";
105
+ chunkIntermediate.payload = injectNoise(chunk.payload, noise);
106
+ this.push(chunkIntermediate);
107
+ }
108
+ /* emit the original chunk unmodified */
109
+ this.push(chunk);
110
+ callback();
111
+ }
112
+ },
113
+ final(callback) {
114
+ callback();
115
+ }
116
+ });
117
+ }
118
+ /* close node */
119
+ async close() {
120
+ /* shutdown stream */
121
+ if (this.stream !== null) {
122
+ await util.destroyStream(this.stream);
123
+ this.stream = null;
124
+ }
125
+ }
126
+ }
127
+ exports.default = SpeechFlowNodeT2TSimulator;
128
+ //# sourceMappingURL=speechflow-node-t2t-simulator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speechflow-node-t2t-simulator.js","sourceRoot":"","sources":["../src/speechflow-node-t2t-simulator.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,10 @@ export declare class QueuePointer<T extends QueueElement> extends EventEmitter {
23
23
  private name;
24
24
  private queue;
25
25
  private index;
26
+ private silence;
26
27
  constructor(name: string, queue: Queue<T>);
28
+ silent(silence: boolean): void;
29
+ notify(event: string, info: any): void;
27
30
  maxPosition(): number;
28
31
  position(index?: number): number;
29
32
  walk(num: number): void;
@@ -31,10 +34,10 @@ export declare class QueuePointer<T extends QueueElement> extends EventEmitter {
31
34
  walkBackwardUntil(type: T["type"]): void;
32
35
  searchForward(type: T["type"]): number;
33
36
  searchBackward(type: T["type"]): number;
34
- peek(position?: number): T;
35
- read(): T;
37
+ peek(position?: number): T | undefined;
38
+ read(): T | undefined;
36
39
  slice(size?: number): T[];
37
- touch(): void;
40
+ touch(position?: number): void;
38
41
  append(element: T): void;
39
42
  insert(element: T): void;
40
43
  delete(): void;
@@ -42,7 +45,10 @@ export declare class QueuePointer<T extends QueueElement> extends EventEmitter {
42
45
  export declare class Queue<T extends QueueElement> extends EventEmitter {
43
46
  elements: T[];
44
47
  private pointers;
48
+ private silence;
45
49
  constructor();
50
+ silent(silence: boolean): void;
51
+ notify(event: string, info: any): void;
46
52
  pointerUse(name: string): QueuePointer<T>;
47
53
  pointerDelete(name: string): void;
48
54
  trim(): void;
@@ -127,6 +127,7 @@ class QueuePointer extends node_events_1.EventEmitter {
127
127
  queue;
128
128
  /* internal state */
129
129
  index = 0;
130
+ silence = false;
130
131
  /* construction */
131
132
  constructor(name, queue) {
132
133
  super();
@@ -134,6 +135,15 @@ class QueuePointer extends node_events_1.EventEmitter {
134
135
  this.queue = queue;
135
136
  this.setMaxListeners(100);
136
137
  }
138
+ /* control silence operation */
139
+ silent(silence) {
140
+ this.silence = silence;
141
+ }
142
+ /* notify about operation */
143
+ notify(event, info) {
144
+ if (!this.silence)
145
+ this.emit(event, info);
146
+ }
137
147
  /* positioning operations */
138
148
  maxPosition() {
139
149
  return this.queue.elements.length;
@@ -141,7 +151,7 @@ class QueuePointer extends node_events_1.EventEmitter {
141
151
  position(index) {
142
152
  if (index !== undefined) {
143
153
  this.index = Math.max(0, Math.min(index, this.queue.elements.length));
144
- this.emit("position", this.index);
154
+ this.notify("position", this.index);
145
155
  }
146
156
  return this.index;
147
157
  }
@@ -152,19 +162,19 @@ class QueuePointer extends node_events_1.EventEmitter {
152
162
  else if (num < 0)
153
163
  this.index = Math.max(this.index + num, 0);
154
164
  if (this.index !== indexOld)
155
- this.emit("position", { start: this.index });
165
+ this.notify("position", { start: this.index });
156
166
  }
157
167
  walkForwardUntil(type) {
158
168
  while (this.index < this.queue.elements.length
159
169
  && this.queue.elements[this.index].type !== type)
160
170
  this.index++;
161
- this.emit("position", { start: this.index });
171
+ this.notify("position", { start: this.index });
162
172
  }
163
173
  walkBackwardUntil(type) {
164
174
  while (this.index > 0
165
175
  && this.queue.elements[this.index].type !== type)
166
176
  this.index--;
167
- this.emit("position", { start: this.index });
177
+ this.notify("position", { start: this.index });
168
178
  }
169
179
  /* search operations */
170
180
  searchForward(type) {
@@ -172,7 +182,7 @@ class QueuePointer extends node_events_1.EventEmitter {
172
182
  while (position < this.queue.elements.length
173
183
  && this.queue.elements[position].type !== type)
174
184
  position++;
175
- this.emit("search", { start: this.index, end: position });
185
+ this.notify("search", { start: this.index, end: position });
176
186
  return position;
177
187
  }
178
188
  searchBackward(type) {
@@ -180,7 +190,7 @@ class QueuePointer extends node_events_1.EventEmitter {
180
190
  while (position > 0
181
191
  && this.queue.elements[position].type !== type)
182
192
  position--;
183
- this.emit("search", { start: position, end: this.index });
193
+ this.notify("search", { start: position, end: this.index });
184
194
  return position;
185
195
  }
186
196
  /* reading operations */
@@ -189,14 +199,14 @@ class QueuePointer extends node_events_1.EventEmitter {
189
199
  position = this.index;
190
200
  position = Math.max(0, Math.min(position, this.queue.elements.length));
191
201
  const element = this.queue.elements[position];
192
- this.queue.emit("read", { start: position, end: position });
202
+ this.queue.notify("read", { start: position, end: position });
193
203
  return element;
194
204
  }
195
205
  read() {
196
206
  const element = this.queue.elements[this.index];
197
207
  if (this.index < this.queue.elements.length)
198
208
  this.index++;
199
- this.queue.emit("read", { start: this.index - 1, end: this.index - 1 });
209
+ this.queue.notify("read", { start: this.index - 1, end: this.index - 1 });
200
210
  return element;
201
211
  }
202
212
  slice(size) {
@@ -211,29 +221,31 @@ class QueuePointer extends node_events_1.EventEmitter {
211
221
  slice = this.queue.elements.slice(this.index);
212
222
  this.index = this.queue.elements.length;
213
223
  }
214
- this.queue.emit("read", { start, end: this.index });
224
+ this.queue.notify("read", { start, end: this.index });
215
225
  return slice;
216
226
  }
217
227
  /* writing operations */
218
- touch() {
219
- if (this.index >= this.queue.elements.length)
220
- throw new Error("cannot touch after last element");
221
- this.queue.emit("write", { start: this.index, end: this.index + 1 });
228
+ touch(position) {
229
+ if (position === undefined)
230
+ position = this.index;
231
+ if (position >= this.queue.elements.length)
232
+ throw new Error(`cannot touch after last element ${position} ${this.queue.elements.length}`);
233
+ this.queue.notify("write", { start: position, end: position, op: "touch" });
222
234
  }
223
235
  append(element) {
224
236
  this.queue.elements.push(element);
225
237
  this.index = this.queue.elements.length;
226
- this.queue.emit("write", { start: this.index - 1, end: this.index - 1 });
238
+ this.queue.notify("write", { start: this.index - 1, end: this.index - 1, op: "append" });
227
239
  }
228
240
  insert(element) {
229
241
  this.queue.elements.splice(this.index, 0, element);
230
- this.queue.emit("write", { start: this.index - 1, end: this.index });
242
+ this.queue.notify("write", { start: this.index, end: this.index, op: "insert" });
231
243
  }
232
244
  delete() {
233
245
  if (this.index >= this.queue.elements.length)
234
246
  throw new Error("cannot delete after last element");
235
247
  this.queue.elements.splice(this.index, 1);
236
- this.queue.emit("write", { start: this.index, end: this.index });
248
+ this.queue.notify("write", { start: this.index, end: this.index, op: "delete" });
237
249
  }
238
250
  }
239
251
  exports.QueuePointer = QueuePointer;
@@ -241,10 +253,18 @@ exports.QueuePointer = QueuePointer;
241
253
  class Queue extends node_events_1.EventEmitter {
242
254
  elements = [];
243
255
  pointers = new Map();
256
+ silence = false;
244
257
  constructor() {
245
258
  super();
246
259
  this.setMaxListeners(100);
247
260
  }
261
+ silent(silence) {
262
+ this.silence = silence;
263
+ }
264
+ notify(event, info) {
265
+ if (!this.silence)
266
+ this.emit(event, info);
267
+ }
248
268
  pointerUse(name) {
249
269
  if (!this.pointers.has(name))
250
270
  this.pointers.set(name, new QueuePointer(name, this));
@@ -258,15 +278,17 @@ class Queue extends node_events_1.EventEmitter {
258
278
  trim() {
259
279
  /* determine minimum pointer position */
260
280
  let min = this.elements.length;
261
- for (const pointer of this.pointers.values())
281
+ for (const pointer of this.pointers.values()) {
262
282
  if (min > pointer.position())
263
283
  min = pointer.position();
284
+ }
264
285
  /* trim the maximum amount of first elements */
265
286
  if (min > 0) {
266
287
  this.elements.splice(0, min);
267
288
  /* shift all pointers */
268
289
  for (const pointer of this.pointers.values())
269
290
  pointer.position(pointer.position() - min);
291
+ this.notify("write", { start: 0, end: min, op: "trim" });
270
292
  }
271
293
  }
272
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"speechflow-util-queue.js","sourceRoot":"","sources":["../src/speechflow-util-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speechflow-util-queue.js","sourceRoot":"","sources":["../src/speechflow-util-queue.ts"],"names":[],"mappings":"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"}
@@ -134,6 +134,7 @@
134
134
  "capitalized-comments": "off",
135
135
  "no-inline-comments": "off",
136
136
  "max-statements": "off",
137
+ "no-duplicate-imports": "off",
137
138
 
138
139
  "complexity": [ "error", { "max": 35 } ],
139
140
  "complexity/max-cyclomatic": [ "error", { "max": 30 } ],
@@ -0,0 +1,12 @@
1
+ diff --git a/node_modules/sherpa-onnx/sherpa-onnx-speech-enhancement.js b/node_modules/sherpa-onnx/sherpa-onnx-speech-enhancement.js
2
+ index 3ee5a77..2aab4a2 100644
3
+ --- a/node_modules/sherpa-onnx/sherpa-onnx-speech-enhancement.js
4
+ +++ b/node_modules/sherpa-onnx/sherpa-onnx-speech-enhancement.js
5
+ @@ -101,7 +101,6 @@ function initSherpaOnnxOfflineSpeechDenoiserConfig(config, Module) {
6
+
7
+ class OfflineSpeechDenoiser {
8
+ constructor(configObj, Module) {
9
+ - console.log(configObj)
10
+ const config = initSherpaOnnxOfflineSpeechDenoiserConfig(configObj, Module)
11
+ // Module._MyPrint(config.ptr);
12
+ const handle = Module._SherpaOnnxCreateOfflineSpeechDenoiser(config.ptr);
@@ -24,21 +24,23 @@
24
24
  "shell-parser": "1.0.0",
25
25
  "@deepgram/sdk": "4.11.3",
26
26
  "deepl-node": "1.24.0",
27
- "@elevenlabs/elevenlabs-js": "2.31.0",
27
+ "@elevenlabs/elevenlabs-js": "2.36.0",
28
28
  "get-stream": "9.0.1",
29
- "@dotenvx/dotenvx": "1.51.4",
29
+ "@dotenvx/dotenvx": "1.52.0",
30
30
  "speex-resampler": "3.0.1",
31
31
  "@sapphi-red/speex-preprocess-wasm": "0.4.0",
32
32
  "@shiguredo/rnnoise-wasm": "2025.1.5",
33
- "@aws-sdk/client-transcribe-streaming": "3.971.0",
34
- "@aws-sdk/client-translate": "3.971.0",
35
- "@aws-sdk/client-polly": "3.971.0",
33
+ "sherpa-onnx": "1.12.25",
34
+ "axios": "1.13.5",
35
+ "@aws-sdk/client-transcribe-streaming": "3.992.0",
36
+ "@aws-sdk/client-translate": "3.992.0",
37
+ "@aws-sdk/client-polly": "3.992.0",
36
38
  "@google-cloud/translate": "9.3.0",
37
39
  "@google-cloud/speech": "7.2.1",
38
40
  "@google-cloud/text-to-speech": "6.4.0",
39
- "node-web-audio-api": "1.0.7",
41
+ "node-web-audio-api": "1.0.8",
40
42
  "object-path": "0.11.8",
41
- "glob": "13.0.0",
43
+ "glob": "13.0.5",
42
44
  "ws": "8.19.0",
43
45
  "bufferutil": "4.1.0",
44
46
  "utf-8-validate": "6.0.6",
@@ -49,24 +51,23 @@
49
51
  "hapi-plugin-websocket": "2.4.11",
50
52
  "@opensumi/reconnecting-websocket": "4.4.0",
51
53
  "ollama": "0.6.3",
52
- "openai": "6.16.0",
53
- "@anthropic-ai/sdk": "0.71.2",
54
- "@google/genai": "1.37.0",
54
+ "openai": "6.22.0",
55
+ "@anthropic-ai/sdk": "0.75.0",
56
+ "@google/genai": "1.41.0",
55
57
  "@rse/ffmpeg": "1.4.2",
56
58
  "ffmpeg-stream": "1.0.1",
57
59
  "installed-packages": "1.0.13",
58
60
  "syspath": "1.0.8",
59
61
  "wav": "1.0.2",
60
- "mqtt": "5.14.1",
62
+ "mqtt": "5.15.0",
61
63
  "vban": "1.5.6",
62
- "cbor2": "2.0.1",
64
+ "cbor2": "2.2.1",
63
65
  "arktype": "2.1.29",
64
66
  "pure-uuid": "2.0.0",
65
67
  "wavefile": "11.0.0",
66
68
  "audio-inspect": "0.0.4",
67
69
  "@huggingface/transformers": "3.8.1",
68
- "@huggingface/hub": "2.7.1",
69
- "onnxruntime-node": "1.20.1",
70
+ "@huggingface/hub": "2.10.1",
70
71
  "kokoro-js": "1.2.1",
71
72
  "@ericedouard/vad-node-realtime": "0.2.0",
72
73
  "osc-js": "2.4.1",
@@ -74,26 +75,27 @@
74
75
  "node-interval-tree": "2.1.2",
75
76
  "wrap-text": "1.0.10",
76
77
  "bad-words-next": "3.2.0",
78
+ "@2toad/profanity": "3.2.0",
77
79
  "cli-table3": "0.6.5",
78
80
  "mkdirp": "3.0.1",
79
- "@soundtouchjs/audio-worklet": "0.2.1",
80
- "werift": "0.22.2",
81
+ "@soundtouchjs/audio-worklet": "0.3.0",
82
+ "werift": "0.22.8",
81
83
  "@discordjs/opus": "0.10.0",
82
84
  "@rse/stx": "1.1.4"
83
85
  },
84
86
  "devDependencies": {
85
- "eslint": "9.39.2",
86
- "@eslint/js": "9.39.2",
87
+ "eslint": "10.0.0",
88
+ "@eslint/js": "10.0.1",
87
89
  "neostandard": "0.12.2",
88
90
  "eslint-plugin-promise": "7.2.1",
89
91
  "eslint-plugin-import": "2.32.0",
90
92
  "eslint-plugin-node": "11.1.0",
91
- "typescript-eslint": "8.53.0",
92
- "@typescript-eslint/eslint-plugin": "8.53.0",
93
- "@typescript-eslint/parser": "8.53.0",
94
- "oxlint": "1.39.0",
95
- "oxlint-plugin-complexity": "0.2.0",
96
- "eslint-plugin-oxlint": "1.39.0",
93
+ "typescript-eslint": "8.56.0",
94
+ "@typescript-eslint/eslint-plugin": "8.56.0",
95
+ "@typescript-eslint/parser": "8.56.0",
96
+ "oxlint": "1.48.0",
97
+ "oxlint-plugin-complexity": "2.0.0",
98
+ "eslint-plugin-oxlint": "1.48.0",
97
99
 
98
100
  "@types/node": "24.10.1",
99
101
  "@types/yargs": "17.0.35",
@@ -110,13 +112,17 @@
110
112
  "stmux": "1.8.11",
111
113
  "nodemon": "3.1.11",
112
114
  "shx": "0.4.0",
113
- "@yao-pkg/pkg": "6.12.0",
115
+ "@yao-pkg/pkg": "6.14.0",
114
116
  "typescript": "5.9.3",
115
117
  "delay-cli": "3.0.0",
116
118
  "cross-env": "10.1.0"
117
119
  },
118
120
  "overrides": {
119
- "@huggingface/transformers": { "onnxruntime-node": "1.22.0" }
121
+ "@huggingface/transformers": { "onnxruntime-node": "1.22.0", "onnxruntime-web": "1.22.0" },
122
+ "@ericedouard/vad-node-realtime": { "onnxruntime-node": "1.22.0", "onnxruntime-web": "1.22.0" },
123
+ "eslint-plugin-promise": { "eslint": ">=9.0.0" },
124
+ "eslint-plugin-import": { "eslint": ">=9.0.0" },
125
+ "neostandard": { "eslint": ">=9.0.0" }
120
126
  },
121
127
  "upd": [
122
128
  "!onnxruntime-node",
@@ -13,7 +13,7 @@ declare module "node:stream" {
13
13
  }
14
14
 
15
15
  /* type definitions for AudioWorkletProcessor */
16
- declare interface AudioWorkletProcessor {
16
+ declare interface AudioWorkletProcessorType {
17
17
  readonly port: MessagePort
18
18
  process(
19
19
  inputs: Float32Array[][],
@@ -22,8 +22,8 @@ declare interface AudioWorkletProcessor {
22
22
  ): boolean
23
23
  }
24
24
  declare const AudioWorkletProcessor: {
25
- prototype: AudioWorkletProcessor
26
- new(): AudioWorkletProcessor
25
+ prototype: AudioWorkletProcessorType
26
+ new(): AudioWorkletProcessorType
27
27
  }
28
28
  declare interface AudioParamDescriptor {
29
29
  name: string
@@ -34,7 +34,7 @@ declare interface AudioParamDescriptor {
34
34
  }
35
35
  declare function registerProcessor (
36
36
  name: string,
37
- processorCtor: new (...args: any[]) => AudioWorkletProcessor
37
+ processorCtor: new (...args: any[]) => AudioWorkletProcessorType
38
38
  ): void
39
39
 
40
40
  /* type definition for "shell-parser" */
@@ -42,5 +42,31 @@ declare module "shell-parser" {
42
42
  export default function shellParser (command: string): string[]
43
43
  }
44
44
 
45
+ /* type definition for "sherpa-onnx" */
46
+ declare module "sherpa-onnx" {
47
+ export interface SherpaOnnxDenoiserConfig {
48
+ model: {
49
+ gtcrn: {
50
+ model: string
51
+ }
52
+ },
53
+ numThreads?: number,
54
+ provider?: string,
55
+ debug?: number
56
+ }
57
+ export interface SherpaOnnxAudioOutput {
58
+ samples: Float32Array
59
+ sampleRate: number
60
+ }
61
+ export interface SherpaOnnxOfflineSpeechDenoiser {
62
+ run(samples: Float32Array, sampleRate: number): SherpaOnnxAudioOutput
63
+ }
64
+ export interface SherpaOnnxModule {
65
+ createOfflineSpeechDenoiser(config: SherpaOnnxDenoiserConfig): SherpaOnnxOfflineSpeechDenoiser
66
+ }
67
+ const SherpaOnnx: SherpaOnnxModule
68
+ export default SherpaOnnx
69
+ }
70
+
45
71
  /* eslint-enable no-unused-vars */
46
72