echogarden 0.2.5 → 0.2.6

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.
@@ -1,10 +1,10 @@
1
1
  import { WebSocketServer, WebSocket } from 'ws';
2
2
  import { encode as encodeMsgPack, decode as decodeMsgPack } from 'msgpack-lite';
3
- import { Worker } from 'node:worker_threads';
4
3
  import { logToStderr } from '../utilities/Utilities.js';
5
4
  import { OpenPromise } from '../utilities/OpenPromise.js';
6
- import { resolveToModuleRootDir, readFile, existsSync } from '../utilities/FileSystem.js';
5
+ import { readFile, existsSync } from '../utilities/FileSystem.js';
7
6
  import { extendDeep } from '../utilities/ObjectUtilities.js';
7
+ import { sendMessageToWorker, addListenerToWorkerMessages } from './Worker.js';
8
8
  const log = logToStderr;
9
9
  export async function startWebSocketServer(serverOptions, onStarted) {
10
10
  serverOptions = extendDeep(defaultServerOptions, serverOptions);
@@ -32,8 +32,8 @@ export async function startWebSocketServer(serverOptions, onStarted) {
32
32
  }
33
33
  const wss = new WebSocketServer(wsServerOptions);
34
34
  const requestIdToWebSocket = new Map();
35
- const worker = new Worker(resolveToModuleRootDir("dist/server/Worker.js"));
36
- worker.on("message", (message) => {
35
+ //const worker = new Worker(resolveToModuleRootDir("dist/server/WorkerStarter.js"))
36
+ addListenerToWorkerMessages((message) => {
37
37
  if (!message.requestId) {
38
38
  throw new Error("Worker message doesn't have a request ID");
39
39
  }
@@ -73,7 +73,7 @@ export async function startWebSocketServer(serverOptions, onStarted) {
73
73
  return;
74
74
  }
75
75
  requestIdToWebSocket.set(requestId, ws);
76
- worker.postMessage(incomingMessage);
76
+ sendMessageToWorker(incomingMessage);
77
77
  });
78
78
  ws.on('error', (e) => {
79
79
  log(e);
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,5 @@ setupUnhandledExceptionListeners();
5
5
  setupProgramTerminationListeners(() => {
6
6
  log('');
7
7
  });
8
- await startWebSocketServer({}, (options) => {
9
- });
8
+ await startWebSocketServer({}, (options) => { });
10
9
  //# sourceMappingURL=ServerStarter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerStarter.js","sourceRoot":"","sources":["../../src/server/ServerStarter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AAC3H,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,gCAAgC,EAAE,CAAA;AAElC,gCAAgC,CAAC,GAAG,EAAE;IACrC,GAAG,CAAC,EAAE,CAAC,CAAA;AACR,CAAC,CAAC,CAAA;AAEF,MAAM,oBAAoB,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE;AAC3C,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"ServerStarter.js","sourceRoot":"","sources":["../../src/server/ServerStarter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AAC3H,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,gCAAgC,EAAE,CAAA;AAElC,gCAAgC,CAAC,GAAG,EAAE;IACrC,GAAG,CAAC,EAAE,CAAC,CAAA;AACR,CAAC,CAAC,CAAA;AAEF,MAAM,oBAAoB,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA"}
@@ -3,7 +3,7 @@ import { RawAudio } from "../audio/AudioUtilities.js";
3
3
  import { RecognitionOptions, RecognitionResult } from "../api/Recognition.js";
4
4
  import { AlignmentOptions, AlignmentResult } from "../api/Alignment.js";
5
5
  import { SpeechTranslationOptions, SpeechTranslationResult } from "../api/Translation.js";
6
- export declare function processMessage(message: WorkerRequestMessage, postMessage: PostMessageFunc): Promise<void>;
6
+ export declare function processMessage(message: WorkerRequestMessage, sendMessage: MessageFunc): Promise<void>;
7
7
  export interface SynthesizeSegmentsRequestMessage extends WorkerMessageBase {
8
8
  messageType: "SynthesizeSegmentsRequest";
9
9
  segments: string[];
@@ -50,8 +50,10 @@ export interface SpeechTranslationRequestMessage extends WorkerMessageBase {
50
50
  export interface SpeechTranslationResponseMessage extends WorkerMessageBase, SpeechTranslationResult {
51
51
  messageType: "SpeechTranslationResponse";
52
52
  }
53
+ export declare function sendMessageToWorker(message: any): void;
54
+ export declare function addListenerToWorkerMessages(handler: MessageFunc): void;
53
55
  export type WorkerRequestMessage = SynthesizeSegmentsRequestMessage | VoiceListRequestMessage | RecognitionRequestMessage | AlignmentRequestMessage | SpeechTranslationRequestMessage;
54
56
  export interface WorkerMessageBase {
55
57
  messageType: string;
56
58
  }
57
- export type PostMessageFunc = (response: any) => void;
59
+ export type MessageFunc = (message: any) => void;
@@ -1,70 +1,70 @@
1
1
  import { requestVoiceList, synthesizeSegments } from "../api/Synthesis.js";
2
2
  import { Queue } from "../utilities/Queue.js";
3
- import { isMainThread, parentPort } from 'node:worker_threads';
4
3
  import { logToStderr } from "../utilities/Utilities.js";
5
4
  import { recognize } from "../api/Recognition.js";
6
5
  import { align } from "../api/Alignment.js";
7
6
  import { translateSpeech } from "../api/Translation.js";
8
7
  const log = logToStderr;
9
- function startIfInWorkerThread() {
10
- if (isMainThread || !parentPort) {
8
+ const messageChannel = new MessageChannel();
9
+ messageChannel.port1.start();
10
+ messageChannel.port2.start();
11
+ addListenerToClientMessages((message) => {
12
+ enqueueAndProcessIfIdle(message);
13
+ });
14
+ const messageQueue = new Queue();
15
+ let isProcessing = false;
16
+ function enqueueAndProcessIfIdle(message) {
17
+ messageQueue.enqueue(message);
18
+ processQueueIfIdle();
19
+ }
20
+ async function processQueueIfIdle() {
21
+ if (isProcessing) {
11
22
  return;
12
23
  }
13
- const messageQueue = new Queue();
14
- let isProcessing = false;
15
- async function processQueueIfIdle() {
16
- if (isProcessing) {
17
- return;
24
+ isProcessing = true;
25
+ while (!messageQueue.isEmpty) {
26
+ const incomingMessage = messageQueue.dequeue();
27
+ const requestId = incomingMessage.requestId;
28
+ function sendMessage(outgoingMessage) {
29
+ sendMessageToClient({
30
+ requestId,
31
+ ...outgoingMessage,
32
+ });
33
+ }
34
+ try {
35
+ await processMessage(incomingMessage, sendMessage);
18
36
  }
19
- isProcessing = true;
20
- while (!messageQueue.isEmpty) {
21
- const incomingMessage = messageQueue.dequeue();
22
- const requestId = incomingMessage.requestId;
23
- function postMessage(outgoingMessage) {
24
- parentPort?.postMessage({
25
- requestId,
26
- ...outgoingMessage,
27
- });
28
- }
29
- try {
30
- await processMessage(incomingMessage, postMessage);
31
- }
32
- catch (e) {
33
- log(`${e}`);
34
- parentPort?.postMessage({
35
- requestId,
36
- messageType: "Error",
37
- error: e
38
- });
39
- }
37
+ catch (e) {
38
+ log(`${e}`);
39
+ sendMessageToClient({
40
+ requestId,
41
+ messageType: "Error",
42
+ error: e
43
+ });
40
44
  }
41
- isProcessing = false;
42
45
  }
43
- parentPort.on("message", (message) => {
44
- messageQueue.enqueue(message);
45
- processQueueIfIdle();
46
- });
46
+ isProcessing = false;
47
47
  }
48
- export async function processMessage(message, postMessage) {
48
+ export async function processMessage(message, sendMessage) {
49
49
  switch (message.messageType) {
50
50
  case "SynthesizeSegmentsRequest": {
51
- await processSynthesizeSegmentsRequest(message, postMessage);
51
+ await processSynthesizeSegmentsRequest(message, sendMessage);
52
52
  break;
53
53
  }
54
54
  case "VoiceListRequest": {
55
- await processVoiceListRequest(message, postMessage);
55
+ await processVoiceListRequest(message, sendMessage);
56
56
  break;
57
57
  }
58
58
  case "RecognitionRequest": {
59
- await processRecognitionRequest(message, postMessage);
59
+ await processRecognitionRequest(message, sendMessage);
60
60
  break;
61
61
  }
62
62
  case "AlignmentRequest": {
63
- await processAlignmentRequest(message, postMessage);
63
+ await processAlignmentRequest(message, sendMessage);
64
64
  break;
65
65
  }
66
66
  case "SpeechTranslationRequest": {
67
- await processSpeechTranslationRequest(message, postMessage);
67
+ await processSpeechTranslationRequest(message, sendMessage);
68
68
  break;
69
69
  }
70
70
  default: {
@@ -75,69 +75,86 @@ export async function processMessage(message, postMessage) {
75
75
  ///////////////////////////////////////////////////////////////////////////////////////////////
76
76
  // Synthesis operations
77
77
  ///////////////////////////////////////////////////////////////////////////////////////////////
78
- async function processSynthesizeSegmentsRequest(message, postMessage) {
78
+ async function processSynthesizeSegmentsRequest(message, sendMessage) {
79
79
  async function onSegment(eventData) {
80
80
  const responseMessage = {
81
81
  messageType: "SynthesisSegmentEvent",
82
82
  ...eventData
83
83
  };
84
- postMessage(responseMessage);
84
+ sendMessage(responseMessage);
85
85
  }
86
86
  async function onSentence(eventData) {
87
87
  const responseMessage = {
88
88
  messageType: "SynthesisSentenceEvent",
89
89
  ...eventData
90
90
  };
91
- postMessage(responseMessage);
91
+ sendMessage(responseMessage);
92
92
  }
93
93
  const result = await synthesizeSegments(message.segments, message.options, onSegment, onSentence);
94
94
  const responseMessage = {
95
95
  messageType: "SynthesizeSegmentsResponse",
96
96
  ...result
97
97
  };
98
- postMessage(responseMessage);
98
+ sendMessage(responseMessage);
99
99
  }
100
- async function processVoiceListRequest(message, postMessage) {
100
+ async function processVoiceListRequest(message, sendMessage) {
101
101
  const result = await requestVoiceList(message.options);
102
102
  const responseMessage = {
103
103
  messageType: "VoiceListResponse",
104
104
  ...result
105
105
  };
106
- postMessage(responseMessage);
106
+ sendMessage(responseMessage);
107
107
  }
108
108
  ///////////////////////////////////////////////////////////////////////////////////////////////
109
109
  // Recognition operations
110
110
  ///////////////////////////////////////////////////////////////////////////////////////////////
111
- async function processRecognitionRequest(message, postMessage) {
111
+ async function processRecognitionRequest(message, sendMessage) {
112
112
  const result = await recognize(message.inputRawAudio, message.options);
113
113
  const responseMessage = {
114
114
  messageType: "RecognitionResponse",
115
115
  ...result
116
116
  };
117
- postMessage(responseMessage);
117
+ sendMessage(responseMessage);
118
118
  }
119
119
  ///////////////////////////////////////////////////////////////////////////////////////////////
120
120
  // Alignment operations
121
121
  ///////////////////////////////////////////////////////////////////////////////////////////////
122
- async function processAlignmentRequest(message, postMessage) {
122
+ async function processAlignmentRequest(message, sendMessage) {
123
123
  const result = await align(message.inputRawAudio, message.transcript, message.options);
124
124
  const responseMessage = {
125
125
  messageType: "AlignmentResponse",
126
126
  ...result
127
127
  };
128
- postMessage(responseMessage);
128
+ sendMessage(responseMessage);
129
129
  }
130
130
  ///////////////////////////////////////////////////////////////////////////////////////////////
131
131
  // Speech translation operations
132
132
  ///////////////////////////////////////////////////////////////////////////////////////////////
133
- async function processSpeechTranslationRequest(message, postMessage) {
133
+ async function processSpeechTranslationRequest(message, sendMessage) {
134
134
  const result = await translateSpeech(message.inputRawAudio, message.options);
135
135
  const responseMessage = {
136
136
  messageType: "SpeechTranslationResponse",
137
137
  ...result
138
138
  };
139
- postMessage(responseMessage);
139
+ sendMessage(responseMessage);
140
+ }
141
+ ///////////////////////////////////////////////////////////////////////////////////////////////
142
+ // Messaging methods
143
+ ///////////////////////////////////////////////////////////////////////////////////////////////
144
+ export function sendMessageToWorker(message) {
145
+ messageChannel.port1.postMessage(message);
146
+ }
147
+ export function addListenerToWorkerMessages(handler) {
148
+ messageChannel.port1.addEventListener('message', (event) => {
149
+ handler(event.data);
150
+ });
151
+ }
152
+ function sendMessageToClient(message) {
153
+ messageChannel.port2.postMessage(message);
154
+ }
155
+ function addListenerToClientMessages(handler) {
156
+ messageChannel.port2.addEventListener('message', (event) => {
157
+ handler(event.data);
158
+ });
140
159
  }
141
- // Start worker if running in worker thread
142
- startIfInWorkerThread();
143
160
  //# sourceMappingURL=Worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../src/server/Worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../src/server/Worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import { isMainThread, parentPort } from 'node:worker_threads';
2
+ import { sendMessageToWorker, addListenerToWorkerMessages } from './Worker.js';
3
+ function startIfInWorkerThread() {
4
+ if (isMainThread || !parentPort) {
5
+ return;
6
+ }
7
+ addListenerToWorkerMessages((message) => {
8
+ parentPort?.postMessage(message);
9
+ });
10
+ parentPort.on("message", (message) => {
11
+ sendMessageToWorker(message);
12
+ });
13
+ }
14
+ // Start worker if running in worker thread
15
+ startIfInWorkerThread();
16
+ //# sourceMappingURL=WorkerStarter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerStarter.js","sourceRoot":"","sources":["../../src/server/WorkerStarter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAE9E,SAAS,qBAAqB;IAC7B,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE;QAChC,OAAM;KACN;IAED,2BAA2B,CAAC,CAAC,OAAO,EAAE,EAAE;QACvC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAY,EAAE,EAAE;QACzC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACH,CAAC;AAED,2CAA2C;AAC3C,qBAAqB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "An integrated speech toolbox designed with end-users in mind.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0-only",
@@ -55,8 +55,8 @@
55
55
  "echogarden": "./dist/cli/CLILauncher.js"
56
56
  },
57
57
  "dependencies": {
58
- "@aws-sdk/client-polly": "^3.332.0",
59
- "@aws-sdk/client-transcribe-streaming": "^3.332.0",
58
+ "@aws-sdk/client-polly": "^3.341.0",
59
+ "@aws-sdk/client-transcribe-streaming": "^3.341.0",
60
60
  "@echogarden/espeak-ng-emscripten": "^0.1.2",
61
61
  "@echogarden/fasttext-wasm": "^0.1.0",
62
62
  "@echogarden/flite-wasi": "^0.1.1",
@@ -85,17 +85,17 @@
85
85
  "html-to-text": "^9.0.5",
86
86
  "import-meta-resolve": "^3.0.0",
87
87
  "jieba-wasm": "^0.0.2",
88
- "jsdom": "^22.0.0",
88
+ "jsdom": "^22.1.0",
89
89
  "kuromoji": "^0.1.2",
90
90
  "microsoft-cognitiveservices-speech-sdk": "^1.28.0",
91
91
  "moving-median": "^1.0.0",
92
92
  "msgpack-lite": "^0.1.26",
93
93
  "ndarray": "^1.0.19",
94
94
  "ndarray-ops": "^1.2.2",
95
- "onnxruntime-node": "^1.14.0",
95
+ "onnxruntime-node": "^1.15.0",
96
96
  "sam-js": "^0.2.1",
97
- "tar": "^6.1.14",
98
- "tinyld": "^1.3.3",
97
+ "tar": "^6.1.15",
98
+ "tinyld": "^1.3.4",
99
99
  "ws": "^8.13.0",
100
100
  "wtf_wikipedia": "^10.1.5",
101
101
  "xregexp": "^5.1.1"
@@ -123,13 +123,13 @@
123
123
  "@types/msgpack-lite": "^0.1.8",
124
124
  "@types/ndarray": "^1.0.11",
125
125
  "@types/ndarray-ops": "^1.2.4",
126
- "@types/node": "^20.1.5",
126
+ "@types/node": "^20.2.5",
127
127
  "@types/recursive-readdir": "^2.2.1",
128
128
  "@types/tar": "^6.1.5",
129
129
  "@types/ws": "^8.5.4",
130
- "@typescript-eslint/eslint-plugin": "^5.59.6",
131
- "@typescript-eslint/parser": "^5.59.6",
132
- "eslint": "^8.40.0",
130
+ "@typescript-eslint/eslint-plugin": "^5.59.7",
131
+ "@typescript-eslint/parser": "^5.59.7",
132
+ "eslint": "^8.41.0",
133
133
  "ts-json-schema-generator": "^1.2.0",
134
134
  "typescript": "^5.0.4"
135
135
  }