echogarden 0.11.19 → 0.11.21

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.
@@ -8,6 +8,7 @@ import { Logger } from "../utilities/Logger.js";
8
8
  import { OpenPromise } from "../utilities/OpenPromise.js";
9
9
  import { getRandomHexString, logToStderr } from "../utilities/Utilities.js";
10
10
  import { getEmptyRawAudio, getRawAudioDuration } from "../audio/AudioUtilities.js";
11
+ import { Timer } from "../utilities/Timer.js";
11
12
  const traceEnabled = false;
12
13
  const log = traceEnabled ? logToStderr : () => { };
13
14
  export async function synthesize(text, trustedClientToken, voice = "Microsoft Server Speech Text to Speech Voice (en-US, AvaNeural)", ssmlPitchString = "+0Hz", ssmlRateString = "+0%", ssmlVolumeString = "+0%") {
@@ -31,12 +32,40 @@ export async function synthesize(text, trustedClientToken, voice = "Microsoft Se
31
32
  }
32
33
  async function requestSynthesis(text, trustedClientToken, voice = "Microsoft Server Speech Text to Speech Voice (en-US, AriaNeural)", ssmlPitchString = "+0Hz", ssmlRateString = "+0%", ssmlVolumeString = "+0%") {
33
34
  const synthesisOpenPromise = new OpenPromise();
35
+ let connectionFailed = false;
36
+ let responseComplete = false;
37
+ let lastReceievedMessageTime = Timer.currentTime;
38
+ function checkForRequestTimeout() {
39
+ if (responseComplete || connectionFailed) {
40
+ clearInterval(timeoutCheckInterval);
41
+ return;
42
+ }
43
+ if (!webSocket) {
44
+ return;
45
+ }
46
+ if (Timer.currentTime - lastReceievedMessageTime > 10000) {
47
+ clearInterval(timeoutCheckInterval);
48
+ removeWebSocketHandlers();
49
+ webSocket.close();
50
+ synthesisOpenPromise.reject(new Error(`WebSocket request timed out after 10 seconds without a message from the server`));
51
+ return;
52
+ }
53
+ }
54
+ let webSocket = undefined;
55
+ const timeoutCheckInterval = setInterval(checkForRequestTimeout, 1000);
34
56
  const requestId = getRandomHexString();
35
- const webSocket = await initializeWebsocketConnection(trustedClientToken);
57
+ try {
58
+ webSocket = await initializeWebsocketConnection(trustedClientToken);
59
+ }
60
+ catch (e) {
61
+ connectionFailed = true;
62
+ throw e;
63
+ }
36
64
  const receivedBinaryMessages = [];
37
65
  const receivedEventMessages = [];
38
66
  const audioChunks = [];
39
67
  const onMessage = (messageData, isBinary) => {
68
+ lastReceievedMessageTime = Timer.currentTime;
40
69
  if (isBinary) {
41
70
  const [header, audioChunk] = parseBinaryMessage(messageData);
42
71
  if (header['X-RequestId'] != requestId) {
@@ -66,24 +95,34 @@ async function requestSynthesis(text, trustedClientToken, voice = "Microsoft Ser
66
95
  }
67
96
  else if (header["Path"] == "turn.end") {
68
97
  const result = { audioData: Buffer.concat(audioChunks), events: receivedEventMessages };
69
- webSocket.off("message", onMessage);
70
- webSocket.off("error", onError);
71
- webSocket.off("close", onClose);
98
+ removeWebSocketHandlers();
72
99
  synthesisOpenPromise.resolve(result);
100
+ responseComplete = true;
73
101
  }
74
102
  }
75
103
  };
76
104
  const onError = (err) => {
77
105
  synthesisOpenPromise.reject(err);
106
+ removeWebSocketHandlers();
107
+ if (webSocket) {
108
+ webSocket.close();
109
+ }
78
110
  };
79
111
  const onClose = async (code, reason) => {
80
112
  log("WebSocket closed.");
81
113
  log(code);
82
114
  log(reason.toString());
83
115
  if (reason.length > 0) {
84
- synthesisOpenPromise.reject(`Websocket closed with code ${code}, reason: ${reason}`);
116
+ synthesisOpenPromise.reject(new Error(`Websocket closed with code ${code}, reason: ${reason}`));
85
117
  }
86
118
  };
119
+ function removeWebSocketHandlers() {
120
+ if (webSocket) {
121
+ webSocket.off("message", onMessage);
122
+ webSocket.off("error", onError);
123
+ webSocket.off("close", onClose);
124
+ }
125
+ }
87
126
  webSocket.on("message", onMessage);
88
127
  webSocket.on("error", onError);
89
128
  webSocket.on("close", onClose);
@@ -162,7 +201,7 @@ export async function initializeWebsocketConnection(trustedClientToken) {
162
201
  log(code);
163
202
  log(reason.toString());
164
203
  if (reason.length > 0) {
165
- requestOpenPromise.reject(`Websocket closed with code ${code}, reason: ${reason}`);
204
+ requestOpenPromise.reject(new Error(`Websocket closed with code ${code}, reason: ${reason}`));
166
205
  }
167
206
  };
168
207
  const onError = (err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"MicrosoftEdgeTTS.js","sourceRoot":"","sources":["../../src/synthesis/MicrosoftEdgeTTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MicrosoftEdgeTTS.js","sourceRoot":"","sources":["../../src/synthesis/MicrosoftEdgeTTS.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export declare class Logger {
3
3
  active: boolean;
4
4
  start(title: string, titleColor?: import("chalk").ChalkInstance): void;
5
5
  startAsync(title: string, yieldBeforeStart?: boolean, titleColor?: import("chalk").ChalkInstance): Promise<void>;
6
+ setAsActiveLogger(): void;
7
+ unsetAsActiveLogger(): void;
6
8
  end(): void;
7
9
  logDuration(message: any, startTime: number, titleColor?: import("chalk").ChalkInstance): void;
8
10
  logTitledMessage(title: string, content: string, titleColor?: import("chalk").ChalkInstance): void;
@@ -17,9 +17,16 @@ export class Logger {
17
17
  await yieldToEventLoop();
18
18
  }
19
19
  writeToStderr(`${titleColor(title)}.. `);
20
+ this.setAsActiveLogger();
21
+ this.timer.restart();
22
+ }
23
+ setAsActiveLogger() {
20
24
  this.active = true;
21
25
  currentActiveLogger = this;
22
- this.timer.restart();
26
+ }
27
+ unsetAsActiveLogger() {
28
+ this.active = false;
29
+ currentActiveLogger = null;
23
30
  }
24
31
  end() {
25
32
  if (this.active && currentActiveLogger == this) {
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utilities/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE7E,IAAI,mBAAmB,GAAkB,IAAI,CAAA;AAE7C,MAAM,OAAO,MAAM;IACV,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;IAC3B,MAAM,GAAG,KAAK,CAAA;IAEd,KAAK,CAAC,KAAa,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACjD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,gBAAgB,GAAG,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACrF,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChE,OAAM;QACP,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAA;QAEV,IAAI,gBAAgB,EAAE,CAAC;YACtB,MAAM,gBAAgB,EAAE,CAAA;QACzB,CAAC;QAED,aAAa,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,mBAAmB,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC;IAED,GAAG;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;YAE1C,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC9C,mBAAmB,GAAG,IAAI,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,WAAW,CAAC,OAAY,EAAE,SAAiB,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,GAAG,SAAS,CAAA;QAE9C,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QAC7E,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,GAAG,CAAC,OAAY;QACf,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChE,WAAW,CAAC,OAAO,CAAC,CAAA;QACrB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAY;QACjB,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChE,aAAa,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;IACF,CAAC;IAED,YAAY;QACX,OAAO,KAAK,CAAC,WAAW,CAAA;IACzB,CAAC;CACD;AAED,MAAM,UAAU,iBAAiB;IAChC,mBAAmB,GAAG,IAAI,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utilities/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE7E,IAAI,mBAAmB,GAAkB,IAAI,CAAA;AAE7C,MAAM,OAAO,MAAM;IACV,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;IAC3B,MAAM,GAAG,KAAK,CAAA;IAEd,KAAK,CAAC,KAAa,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACjD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,gBAAgB,GAAG,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACrF,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChE,OAAM;QACP,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAA;QAEV,IAAI,gBAAgB,EAAE,CAAC;YACtB,MAAM,gBAAgB,EAAE,CAAA;QACzB,CAAC;QAED,aAAa,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAExC,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,mBAAmB,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,mBAAmB,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED,GAAG;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;YAE1C,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC9C,mBAAmB,GAAG,IAAI,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,WAAW,CAAC,OAAY,EAAE,SAAiB,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,GAAG,SAAS,CAAA;QAE9C,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QAC7E,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,GAAG,CAAC,OAAY;QACf,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChE,WAAW,CAAC,OAAO,CAAC,CAAA;QACrB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAY;QACjB,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YAChE,aAAa,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;IACF,CAAC;IAED,YAAY;QACX,OAAO,KAAK,CAAC,WAAW,CAAA;IACzB,CAAC;CACD;AAED,MAAM,UAAU,iBAAiB;IAChC,mBAAmB,GAAG,IAAI,CAAA;AAC3B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  import { IncomingMessage } from 'node:http';
4
4
  import { RandomGenerator } from './RandomGenerator.js';
5
+ import { Logger } from './Logger.js';
5
6
  export declare function concatFloat32Arrays(arrays: Float32Array[]): Float32Array;
6
7
  export declare function shuffleArray<T>(array: T[], randomGen: RandomGenerator): T[];
7
8
  export declare function shuffleArrayInPlace<T>(array: T[], randomGen: RandomGenerator): T[];
@@ -84,3 +85,4 @@ export declare function getConsecutiveRepetitionScoreRelativeToFirstSubstring(to
84
85
  repeatCountForLength: number[];
85
86
  };
86
87
  export declare function resolveModuleScriptPath(moduleName: string): Promise<string>;
88
+ export declare function runOperationWithRetries<R>(operationFunc: () => Promise<R>, logger: Logger, opreationName?: string, delayBetweenRetries?: number, maxRetries?: number): Promise<R>;
@@ -1,6 +1,7 @@
1
1
  import * as readline from 'node:readline';
2
2
  import { inspect } from 'node:util';
3
3
  import { randomUUID, randomBytes } from 'node:crypto';
4
+ import chalk from 'chalk';
4
5
  const log = logToStderr;
5
6
  export function concatFloat32Arrays(arrays) {
6
7
  return concatTypedArrays(Float32Array, arrays);
@@ -426,8 +427,28 @@ export function getConsecutiveRepetitionScoreRelativeToFirstSubstring(tokens) {
426
427
  }
427
428
  export async function resolveModuleScriptPath(moduleName) {
428
429
  const { resolve } = await import('import-meta-resolve');
429
- const scriptPath = await resolve(moduleName, import.meta.url);
430
+ const scriptPath = resolve(moduleName, import.meta.url);
430
431
  const { fileURLToPath } = await import('url');
431
432
  return fileURLToPath(scriptPath);
432
433
  }
434
+ export async function runOperationWithRetries(operationFunc, logger, opreationName = "Operation", delayBetweenRetries = 2000, maxRetries = 200) {
435
+ for (let retryIndex = 1; retryIndex <= maxRetries; retryIndex++) {
436
+ try {
437
+ const result = await operationFunc();
438
+ return result;
439
+ }
440
+ catch (e) {
441
+ logger.setAsActiveLogger();
442
+ logger.logTitledMessage(`Error`, e.message, chalk.redBright);
443
+ logger.log(``);
444
+ logger.logTitledMessage(`${opreationName} failed`, `Trying again in ${delayBetweenRetries}ms..`, chalk.redBright);
445
+ await delay(delayBetweenRetries);
446
+ logger.log(``);
447
+ logger.logTitledMessage(`Starting retry attempt`, `${retryIndex} / ${maxRetries}`, chalk.yellowBright);
448
+ logger.log(``);
449
+ logger.unsetAsActiveLogger();
450
+ }
451
+ }
452
+ throw new Error(`${opreationName} failed after ${maxRetries} retry attempts`);
453
+ }
433
454
  //# sourceMappingURL=Utilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../../src/utilities/Utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../../src/utilities/Utilities.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "0.11.19",
3
+ "version": "0.11.21",
4
4
  "description": "An integrated speech toolset, providing a variety of synthesis, recognition, alignment, and other processing tools, designed to be directly accessible to end-users.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0",
@@ -54,8 +54,8 @@
54
54
  "echogarden": "./dist/cli/CLILauncher.js"
55
55
  },
56
56
  "dependencies": {
57
- "@aws-sdk/client-polly": "^3.515.0",
58
- "@aws-sdk/client-transcribe-streaming": "^3.518.0",
57
+ "@aws-sdk/client-polly": "^3.529.1",
58
+ "@aws-sdk/client-transcribe-streaming": "^3.529.1",
59
59
  "@echogarden/espeak-ng-emscripten": "^0.1.2",
60
60
  "@echogarden/fasttext-wasm": "^0.1.0",
61
61
  "@echogarden/flite-wasi": "^0.1.1",
@@ -84,7 +84,7 @@
84
84
  "jsdom": "^24.0.0",
85
85
  "json5": "^2.2.3",
86
86
  "kuromoji": "^0.1.2",
87
- "microsoft-cognitiveservices-speech-sdk": "^1.35.0",
87
+ "microsoft-cognitiveservices-speech-sdk": "^1.36.0",
88
88
  "moving-median": "^1.0.0",
89
89
  "msgpack-lite": "^0.1.26",
90
90
  "ndarray": "^1.0.19",
@@ -122,14 +122,14 @@
122
122
  "@types/msgpack-lite": "^0.1.11",
123
123
  "@types/ndarray": "^1.0.14",
124
124
  "@types/ndarray-ops": "^1.2.7",
125
- "@types/node": "^20.11.20",
125
+ "@types/node": "^20.11.25",
126
126
  "@types/recursive-readdir": "^2.2.4",
127
127
  "@types/tar": "^6.1.11",
128
128
  "@types/ws": "^8.5.10",
129
- "@typescript-eslint/eslint-plugin": "^7.0.2",
130
- "@typescript-eslint/parser": "^7.0.2",
131
- "eslint": "^8.56.0",
129
+ "@typescript-eslint/eslint-plugin": "^7.1.1",
130
+ "@typescript-eslint/parser": "^7.1.1",
131
+ "eslint": "^8.57.0",
132
132
  "ts-json-schema-generator": "^1.5.0",
133
- "typescript": "^5.3.3"
133
+ "typescript": "^5.4.2"
134
134
  }
135
135
  }
@@ -4,7 +4,7 @@ import { deepClone, extendDeep } from "../utilities/ObjectUtilities.js"
4
4
 
5
5
  import * as FFMpegTranscoder from "../codecs/FFMpegTranscoder.js"
6
6
 
7
- import { clip, convertHtmlToText, sha256AsHex, simplifyPunctuationCharacters, stringifyAndFormatJson, logToStderr, yieldToEventLoop } from "../utilities/Utilities.js"
7
+ import { clip, convertHtmlToText, sha256AsHex, simplifyPunctuationCharacters, stringifyAndFormatJson, logToStderr, yieldToEventLoop, delay, runOperationWithRetries } from "../utilities/Utilities.js"
8
8
  import { RawAudio, concatAudioSegments, downmixToMono, encodeWaveBuffer, getAudioPeakDecibels, getEmptyRawAudio, getRawAudioDuration, normalizeAudioLevel, trimAudioEnd, trimAudioStart } from "../audio/AudioUtilities.js"
9
9
  import { Logger } from "../utilities/Logger.js"
10
10
 
@@ -727,7 +727,10 @@ async function synthesizeSegment(text: string, options: SynthesisOptions) {
727
727
 
728
728
  logger.end()
729
729
 
730
- const { rawAudio, timeline: segmentTimeline } = await GoogleTranslateTTS.synthesizeLongText(text, language, options.googleTranslate?.tld, options.sentenceEndPause, options.segmentEndPause)
730
+ const { rawAudio, timeline: segmentTimeline } =
731
+ await runOperationWithRetries(
732
+ () => GoogleTranslateTTS.synthesizeLongText(text, language, options.googleTranslate?.tld, options.sentenceEndPause, options.segmentEndPause),
733
+ logger)
731
734
 
732
735
  synthesizedAudio = rawAudio
733
736
 
@@ -777,7 +780,10 @@ async function synthesizeSegment(text: string, options: SynthesisOptions) {
777
780
 
778
781
  logger.end()
779
782
 
780
- const { rawAudio, timeline: edgeTimeline } = await MicrosoftEdgeTTS.synthesize(text, trustedClientToken, voice, ssmlPitch, ssmlRate)
783
+ const { rawAudio, timeline: edgeTimeline } =
784
+ await runOperationWithRetries(
785
+ () => MicrosoftEdgeTTS.synthesize(text, trustedClientToken!, voice, ssmlPitch, ssmlRate),
786
+ logger)
781
787
 
782
788
  synthesizedAudio = rawAudio
783
789
  timeline = edgeTimeline
@@ -1212,6 +1218,8 @@ export const defaultSynthesisOptions: SynthesisOptions = {
1212
1218
  export async function requestVoiceList(options: VoiceListRequestOptions): Promise<RequestVoiceListResult> {
1213
1219
  options = extendDeep(defaultVoiceListRequestOptions, options)
1214
1220
 
1221
+ const logger = new Logger()
1222
+
1215
1223
  const cacheOptions = options.cache!
1216
1224
 
1217
1225
  let cacheDir = cacheOptions?.path
@@ -1456,7 +1464,10 @@ export async function requestVoiceList(options: VoiceListRequestOptions): Promis
1456
1464
  throw new Error("No trusted client token provided")
1457
1465
  }
1458
1466
 
1459
- const voices = await MicrosoftEdgeTTS.getVoiceList(trustedClientToken)
1467
+ const voices =
1468
+ await runOperationWithRetries(
1469
+ () => MicrosoftEdgeTTS.getVoiceList(trustedClientToken),
1470
+ logger)
1460
1471
 
1461
1472
  voiceList = voices.map((voice: any) => ({
1462
1473
  name: voice.Name,
package/src/cli/CLI.ts CHANGED
@@ -186,6 +186,8 @@ const commandHelp = [
186
186
  ` List installed Echogarden packages\n`,
187
187
  `${executableName} ${chalk.magentaBright('serve')} [options...]`,
188
188
  ` Start a server\n`,
189
+ `Options reference: ${chalk.blueBright('https://bit.ly/echogarden-options')}`
190
+ //` ${chalk.blueBright('https://github.com/echogarden-project/echogarden/blob/main/docs/Options.md')}`
189
191
  ]
190
192
 
191
193
  async function startWithArgs(parsedArgs: CLIArguments) {
@@ -688,24 +688,24 @@ export function softmax(logits: number[], temperature = 1.0) {
688
688
  }
689
689
  }
690
690
 
691
- const temperatureMultiplier = 1 / temperature
691
+ const temperatureReciprocal = 1 / (temperature + 1e-40)
692
692
 
693
693
  const result: number[] = []
694
694
 
695
695
  let sumOfExponentiatedValues = 0.0
696
696
 
697
697
  for (const value of logits) {
698
- const eToValue = Math.exp((value - maxValue) * temperatureMultiplier)
698
+ const eToValue = Math.exp((value - maxValue) * temperatureReciprocal)
699
699
 
700
700
  sumOfExponentiatedValues += eToValue
701
701
 
702
702
  result.push(eToValue)
703
703
  }
704
704
 
705
- const sumOfExponentiatedValuesMultiplier = 1 / (sumOfExponentiatedValues + 1e-40)
705
+ const sumOfExponentiatedValuesReciprocal = 1 / (sumOfExponentiatedValues + 1e-40)
706
706
 
707
707
  for (let i = 0; i < result.length; i++) {
708
- result[i] *= sumOfExponentiatedValuesMultiplier
708
+ result[i] *= sumOfExponentiatedValuesReciprocal
709
709
  }
710
710
 
711
711
  return result
@@ -789,6 +789,7 @@ export function sumExp(values: number[]) {
789
789
 
790
790
  export function logSoftmax(values: number[], minVal = 1e-40) {
791
791
  const softMaxOfValues = softmax(values)
792
+
792
793
  return logOfVector(softMaxOfValues, minVal)
793
794
  }
794
795
 
@@ -13,7 +13,7 @@ export async function synthesize(
13
13
  subscriptionKey: string,
14
14
  serviceRegion: string,
15
15
  languageCode = "en-US",
16
- voice = "Microsoft Server Speech Text to Speech Voice (en-US, AriaNeural)",
16
+ voice = "Microsoft Server Speech Text to Speech Voice (en-US, AvaNeural)",
17
17
  ssmlEnabled = false,
18
18
  ssmlPitchString = "+0Hz",
19
19
  ssmlRateString = "+0%") {
@@ -11,6 +11,7 @@ import { Logger } from "../utilities/Logger.js"
11
11
  import { OpenPromise } from "../utilities/OpenPromise.js"
12
12
  import { getRandomHexString, logToStderr } from "../utilities/Utilities.js"
13
13
  import { RawAudio, getEmptyRawAudio, getRawAudioDuration } from "../audio/AudioUtilities.js"
14
+ import { Timer } from "../utilities/Timer.js"
14
15
 
15
16
  const traceEnabled = false
16
17
 
@@ -61,15 +62,55 @@ async function requestSynthesis(
61
62
 
62
63
  const synthesisOpenPromise = new OpenPromise<SynthesisRequestResult>()
63
64
 
65
+ let connectionFailed = false
66
+ let responseComplete = false
67
+
68
+ let lastReceievedMessageTime = Timer.currentTime
69
+
70
+ function checkForRequestTimeout() {
71
+ if (responseComplete || connectionFailed) {
72
+ clearInterval(timeoutCheckInterval)
73
+
74
+ return
75
+ }
76
+
77
+ if (!webSocket) {
78
+ return
79
+ }
80
+
81
+ if (Timer.currentTime - lastReceievedMessageTime > 10000) {
82
+ clearInterval(timeoutCheckInterval)
83
+
84
+ removeWebSocketHandlers()
85
+ webSocket.close()
86
+
87
+ synthesisOpenPromise.reject(new Error(`WebSocket request timed out after 10 seconds without a message from the server`))
88
+
89
+ return
90
+ }
91
+ }
92
+
93
+ let webSocket: WebSocket = undefined as any
94
+
95
+ const timeoutCheckInterval = setInterval(checkForRequestTimeout, 1000)
96
+
64
97
  const requestId = getRandomHexString()
65
98
 
66
- const webSocket = await initializeWebsocketConnection(trustedClientToken)
99
+ try {
100
+ webSocket = await initializeWebsocketConnection(trustedClientToken)
101
+ } catch(e) {
102
+ connectionFailed = true
103
+
104
+ throw e
105
+ }
67
106
 
68
107
  const receivedBinaryMessages: Buffer[] = []
69
108
  const receivedEventMessages: any[] = []
70
109
  const audioChunks: Buffer[] = []
71
110
 
72
111
  const onMessage = (messageData: Buffer, isBinary: boolean) => {
112
+ lastReceievedMessageTime = Timer.currentTime
113
+
73
114
  if (isBinary) {
74
115
  const [header, audioChunk] = parseBinaryMessage(messageData)
75
116
 
@@ -108,17 +149,22 @@ async function requestSynthesis(
108
149
  else if (header["Path"] == "turn.end") {
109
150
  const result: SynthesisRequestResult = { audioData: Buffer.concat(audioChunks), events: receivedEventMessages }
110
151
 
111
- webSocket.off("message", onMessage)
112
- webSocket.off("error", onError)
113
- webSocket.off("close", onClose)
152
+ removeWebSocketHandlers()
114
153
 
115
154
  synthesisOpenPromise.resolve(result)
155
+ responseComplete = true
116
156
  }
117
157
  }
118
158
  }
119
159
 
120
160
  const onError = (err: Error) => {
121
161
  synthesisOpenPromise.reject(err)
162
+
163
+ removeWebSocketHandlers()
164
+
165
+ if (webSocket) {
166
+ webSocket.close()
167
+ }
122
168
  }
123
169
 
124
170
  const onClose = async (code: number, reason: Buffer) => {
@@ -127,7 +173,15 @@ async function requestSynthesis(
127
173
  log(reason.toString())
128
174
 
129
175
  if (reason.length > 0) {
130
- synthesisOpenPromise.reject(`Websocket closed with code ${code}, reason: ${reason}`)
176
+ synthesisOpenPromise.reject(new Error(`Websocket closed with code ${code}, reason: ${reason}`))
177
+ }
178
+ }
179
+
180
+ function removeWebSocketHandlers() {
181
+ if (webSocket) {
182
+ webSocket.off("message", onMessage)
183
+ webSocket.off("error", onError)
184
+ webSocket.off("close", onClose)
131
185
  }
132
186
  }
133
187
 
@@ -234,7 +288,7 @@ export async function initializeWebsocketConnection(trustedClientToken: string)
234
288
  log(reason.toString())
235
289
 
236
290
  if (reason.length > 0) {
237
- requestOpenPromise.reject(`Websocket closed with code ${code}, reason: ${reason}`)
291
+ requestOpenPromise.reject(new Error(`Websocket closed with code ${code}, reason: ${reason}`))
238
292
  }
239
293
  }
240
294
 
@@ -24,9 +24,20 @@ export class Logger {
24
24
  }
25
25
 
26
26
  writeToStderr(`${titleColor(title)}.. `)
27
+
28
+ this.setAsActiveLogger()
29
+
30
+ this.timer.restart()
31
+ }
32
+
33
+ setAsActiveLogger() {
27
34
  this.active = true
28
35
  currentActiveLogger = this
29
- this.timer.restart()
36
+ }
37
+
38
+ unsetAsActiveLogger() {
39
+ this.active = false
40
+ currentActiveLogger = null
30
41
  }
31
42
 
32
43
  end() {