echogarden 0.11.22 → 0.12.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 (68) hide show
  1. package/dist/api/API.d.ts +1 -0
  2. package/dist/api/API.js +1 -0
  3. package/dist/api/API.js.map +1 -1
  4. package/dist/api/GlobalOptions.d.ts +6 -0
  5. package/dist/api/GlobalOptions.js +17 -0
  6. package/dist/api/GlobalOptions.js.map +1 -0
  7. package/dist/audio/AudioPlayer.js +2 -1
  8. package/dist/audio/AudioPlayer.js.map +1 -1
  9. package/dist/audio/AudioUtilities.d.ts +4 -4
  10. package/dist/audio/AudioUtilities.js +27 -28
  11. package/dist/audio/AudioUtilities.js.map +1 -1
  12. package/dist/audio/SoxPath.js +18 -17
  13. package/dist/audio/SoxPath.js.map +1 -1
  14. package/dist/cli/CLI.js +2 -1
  15. package/dist/cli/CLI.js.map +1 -1
  16. package/dist/cli/CLILauncher.js +1 -1
  17. package/dist/cli/CLILauncher.js.map +1 -1
  18. package/dist/cli/CLIStarter.js +1 -1
  19. package/dist/cli/CLIStarter.js.map +1 -1
  20. package/dist/codecs/FFMpegTranscoder.js +45 -13
  21. package/dist/codecs/FFMpegTranscoder.js.map +1 -1
  22. package/dist/nlp/Lexicon.js +2 -1
  23. package/dist/nlp/Lexicon.js.map +1 -1
  24. package/dist/server/Worker.js +1 -1
  25. package/dist/server/Worker.js.map +1 -1
  26. package/dist/synthesis/FliteTTS.js +2 -1
  27. package/dist/synthesis/FliteTTS.js.map +1 -1
  28. package/dist/synthesis/VitsTTS.js +68 -0
  29. package/dist/synthesis/VitsTTS.js.map +1 -1
  30. package/dist/utilities/FileSystem.d.ts +0 -4
  31. package/dist/utilities/FileSystem.js +1 -33
  32. package/dist/utilities/FileSystem.js.map +1 -1
  33. package/dist/utilities/Locale.js +2 -1
  34. package/dist/utilities/Locale.js.map +1 -1
  35. package/dist/utilities/NdArrayUtilities.js +1 -0
  36. package/dist/utilities/NdArrayUtilities.js.map +1 -1
  37. package/dist/utilities/PackageManager.js +61 -38
  38. package/dist/utilities/PackageManager.js.map +1 -1
  39. package/dist/utilities/PathUtilities.d.ts +4 -0
  40. package/dist/utilities/PathUtilities.js +36 -0
  41. package/dist/utilities/PathUtilities.js.map +1 -0
  42. package/dist/utilities/TarballMaker.js +2 -1
  43. package/dist/utilities/TarballMaker.js.map +1 -1
  44. package/dist/utilities/Utilities.js +2 -2
  45. package/dist/utilities/Utilities.js.map +1 -1
  46. package/docs/API.md +25 -0
  47. package/docs/Engines.md +1 -1
  48. package/package.json +6 -6
  49. package/src/api/API.ts +1 -0
  50. package/src/api/GlobalOptions.ts +25 -0
  51. package/src/audio/AudioPlayer.ts +2 -1
  52. package/src/audio/AudioUtilities.ts +29 -29
  53. package/src/audio/SoxPath.ts +24 -17
  54. package/src/cli/CLI.ts +2 -1
  55. package/src/cli/CLILauncher.ts +1 -1
  56. package/src/cli/CLIStarter.ts +1 -1
  57. package/src/codecs/FFMpegTranscoder.ts +43 -14
  58. package/src/nlp/Lexicon.ts +2 -1
  59. package/src/server/Worker.ts +2 -2
  60. package/src/synthesis/FliteTTS.ts +2 -1
  61. package/src/synthesis/VitsTTS.ts +72 -0
  62. package/src/utilities/FileSystem.ts +2 -41
  63. package/src/utilities/Locale.ts +2 -1
  64. package/src/utilities/NdArrayUtilities.ts +1 -1
  65. package/src/utilities/PackageManager.ts +69 -44
  66. package/src/utilities/PathUtilities.ts +41 -0
  67. package/src/utilities/TarballMaker.ts +2 -1
  68. package/src/utilities/Utilities.ts +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"NdArrayUtilities.js","sourceRoot":"","sources":["../../src/utilities/NdArrayUtilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,WAAW,GAAG,GAAG;IACxE,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAuB,EAAE,KAAa;IACzE,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"NdArrayUtilities.js","sourceRoot":"","sources":["../../src/utilities/NdArrayUtilities.ts"],"names":[],"mappings":"AACA,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,WAAW,GAAG,GAAG;IACxE,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAuB,EAAE,KAAa;IACzE,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;AACF,CAAC"}
@@ -1,7 +1,8 @@
1
- import path from "node:path";
2
- import { downloadAndExtractTarball } from "./FileDownloader.js";
3
- import { getAppDataDir, getAppTempDir, ensureDir, existsSync, remove } from "./FileSystem.js";
4
- import { appName } from "../api/Common.js";
1
+ import path from 'node:path';
2
+ import { downloadAndExtractTarball } from './FileDownloader.js';
3
+ import { getAppDataDir, ensureDir, existsSync, remove } from './FileSystem.js';
4
+ import { appName } from '../api/Common.js';
5
+ import { getAppTempDir } from './PathUtilities.js';
5
6
  export async function loadPackage(packageName) {
6
7
  packageName = resolveToVersionedPackageNameIfNeeded(packageName);
7
8
  const packagesPath = await ensureAndGetPackagesDir();
@@ -26,7 +27,7 @@ export async function removePackage(packageName) {
26
27
  }
27
28
  export async function ensureAndGetPackagesDir() {
28
29
  const dataPath = getAppDataDir(appName);
29
- const packagesPath = path.join(dataPath, "packages");
30
+ const packagesPath = path.join(dataPath, 'packages');
30
31
  await ensureDir(packagesPath);
31
32
  return packagesPath;
32
33
  }
@@ -44,39 +45,61 @@ export function getVersionTagFromPackageName(packageName) {
44
45
  export function resolveVersionTagForUnversionedPackageName(unversionedPackageName) {
45
46
  return packageVersionTagResolutionLookup[unversionedPackageName] || defaultVersionTag;
46
47
  }
47
- const basePackageUrl = "https://huggingface.co/echogarden/echogarden-packages/resolve/main/";
48
- const defaultVersionTag = "20230718";
48
+ const basePackageUrl = 'https://huggingface.co/echogarden/echogarden-packages/resolve/main/';
49
+ const defaultVersionTag = '20230718';
49
50
  const packageVersionTagResolutionLookup = {
50
- "sox-14.4.2-linux-minimal": "20230802",
51
- "vits-de_DE-thorsten_emotional-medium": "20230808",
52
- "vits-en_GB-semaine-medium": "20230808",
53
- "vits-fr_FR-upmc-medium": "20230808",
54
- "vits-lb_LU-marylux-medium": "20230808",
55
- "vits-ro_RO-mihai-medium": "20230808",
56
- "vits-sr_RS-serbski_institut-medium": "20230808",
57
- "vits-tr_TR-dfki-medium": "20230808",
58
- "vits-cs_CZ-jirka-medium": "20230824",
59
- "vits-de_DE-thorsten-high": "20230824",
60
- "vits-hu_HU-anna-medium": "20230824",
61
- "vits-pt_PT-tugao-medium": "20230824",
62
- "vits-sk_SK-lili-medium": "20230824",
63
- "vits-tr_TR-fahrettin-medium": "20230824",
64
- "vits-ar_JO-kareem-medium": "20231022",
65
- "vits-cs_CZ-jirka-low": "20231022",
66
- "vits-en_US-hfc_male-medium": "20231022",
67
- "vits-en_US-libritts_r-medium": "20231022",
68
- "vits-hu_HU-imre-medium": "20231022",
69
- "vits-pl_PL-mc_speech-medium": "20231022",
70
- "whisper-tiny": "20231126",
71
- "whisper-tiny.en": "20231126",
72
- "whisper-base": "20231126",
73
- "whisper-base.en": "20231126",
74
- "whisper-small": "20231126",
75
- "whisper-small.en": "20231126",
76
- "whisper-medium": "20231126",
77
- "whisper-medium.en": "20231126",
78
- "whisper-large-v3": "20231126",
79
- "vits-ar_JO-kareem-low": "20231126",
80
- "vits-en_US-hfc_female-medium": "20231126",
51
+ 'sox-14.4.2-linux-minimal': '20230802',
52
+ 'vits-de_DE-thorsten_emotional-medium': '20230808',
53
+ 'vits-en_GB-semaine-medium': '20230808',
54
+ 'vits-fr_FR-upmc-medium': '20230808',
55
+ 'vits-lb_LU-marylux-medium': '20230808',
56
+ 'vits-ro_RO-mihai-medium': '20230808',
57
+ 'vits-sr_RS-serbski_institut-medium': '20230808',
58
+ 'vits-tr_TR-dfki-medium': '20230808',
59
+ 'vits-cs_CZ-jirka-medium': '20230824',
60
+ 'vits-de_DE-thorsten-high': '20230824',
61
+ 'vits-hu_HU-anna-medium': '20230824',
62
+ 'vits-pt_PT-tugao-medium': '20230824',
63
+ 'vits-sk_SK-lili-medium': '20230824',
64
+ 'vits-tr_TR-fahrettin-medium': '20230824',
65
+ 'vits-ar_JO-kareem-medium': '20231022',
66
+ 'vits-cs_CZ-jirka-low': '20231022',
67
+ 'vits-en_US-hfc_male-medium': '20231022',
68
+ 'vits-en_US-libritts_r-medium': '20231022',
69
+ 'vits-hu_HU-imre-medium': '20231022',
70
+ 'vits-pl_PL-mc_speech-medium': '20231022',
71
+ 'whisper-tiny': '20231126',
72
+ 'whisper-tiny.en': '20231126',
73
+ 'whisper-base': '20231126',
74
+ 'whisper-base.en': '20231126',
75
+ 'whisper-small': '20231126',
76
+ 'whisper-small.en': '20231126',
77
+ 'whisper-medium': '20231126',
78
+ 'whisper-medium.en': '20231126',
79
+ 'whisper-large-v3': '20231126',
80
+ 'vits-ar_JO-kareem-low': '20231126',
81
+ 'vits-en_US-hfc_female-medium': '20231126',
82
+ 'ffmpeg-6.0-win32-x64': '20240316',
83
+ 'ffmpeg-6.0-win32-ia32': '20240316',
84
+ 'ffmpeg-6.0-darwin-x64': '20240316',
85
+ 'ffmpeg-6.0-darwin-arm64': '20240316',
86
+ 'ffmpeg-6.0-linux-x64': '20240316',
87
+ 'ffmpeg-6.0-linux-ia32': '20240316',
88
+ 'ffmpeg-6.0-linux-arm64': '20240316',
89
+ 'ffmpeg-6.0-linux-arm': '20240316',
90
+ 'ffmpeg-6.0-freebsd-x64': '20240316',
91
+ 'vits-de_DE-mls-medium': '20240316',
92
+ 'vits-en_GB-cori-high': '20240316',
93
+ 'vits-en_US-kristin-medium': '20240316',
94
+ 'vits-en_US-ljspeech-high': '20240316',
95
+ 'vits-en_US-ljspeech-medium': '20240316',
96
+ 'vits-es_MX-claude-high': '20240316',
97
+ 'vits-fa_IR-amir-medium': '20240316',
98
+ 'vits-fa_IR-gyro-medium': '20240316',
99
+ 'vits-fr_FR-mls-medium': '20240316',
100
+ 'vits-fr_FR-tom-medium': '20240316',
101
+ 'vits-nl_NL-mls-medium': '20240316',
102
+ 'vits-sl_SI-artur-medium': '20240316',
103
+ 'vits-tr_TR-fettah-medium': '20240316',
81
104
  };
82
105
  //# sourceMappingURL=PackageManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/utilities/PackageManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/utilities/PackageManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function getModuleRootDir(): string;
2
+ export declare function resolveToModuleRootDir(relativePath: string): string;
3
+ export declare function getLowercaseFileExtension(filename: string): string;
4
+ export declare function getAppTempDir(appName: string): string;
@@ -0,0 +1,36 @@
1
+ import path from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ import * as os from 'node:os';
4
+ export function getModuleRootDir() {
5
+ const currentScriptDir = path.dirname(fileURLToPath(import.meta.url));
6
+ return path.resolve(currentScriptDir, '..', '..');
7
+ }
8
+ export function resolveToModuleRootDir(relativePath) {
9
+ return path.resolve(getModuleRootDir(), relativePath);
10
+ }
11
+ export function getLowercaseFileExtension(filename) {
12
+ const fileExtensionIndex = filename.lastIndexOf(".");
13
+ if (fileExtensionIndex == -1) {
14
+ return "";
15
+ }
16
+ return filename.substring(fileExtensionIndex + 1).toLowerCase();
17
+ }
18
+ export function getAppTempDir(appName) {
19
+ let tempDir;
20
+ const platform = process.platform;
21
+ const homeDir = os.homedir();
22
+ if (platform == "win32") {
23
+ tempDir = path.join(homeDir, "AppData", "Local", "Temp", appName);
24
+ }
25
+ else if (platform == "darwin") {
26
+ tempDir = path.join(homeDir, "Library", "Caches", appName);
27
+ }
28
+ else if (platform == "linux") {
29
+ tempDir = path.join(homeDir, ".cache", appName);
30
+ }
31
+ else {
32
+ throw new Error(`Unsupport platform ${platform}`);
33
+ }
34
+ return tempDir;
35
+ }
36
+ //# sourceMappingURL=PathUtilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PathUtilities.js","sourceRoot":"","sources":["../../src/utilities/PathUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7B,MAAM,UAAU,gBAAgB;IAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACrE,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,YAAY,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACzD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAEpD,IAAI,kBAAkB,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAA;IACV,CAAC;IAED,OAAO,QAAQ,CAAC,SAAS,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC5C,IAAI,OAAe,CAAA;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAE5B,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC;SAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACjC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;SAAM,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QAChC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import path from "path";
2
2
  import { createTarball } from "./Compression.js";
3
- import { ensureDir, existsSync, getAppTempDir, move, readdir, stat } from "./FileSystem.js";
3
+ import { ensureDir, existsSync, move, readdir, stat } from "./FileSystem.js";
4
4
  import { ensureAndGetPackagesDir } from "./PackageManager.js";
5
5
  import { appName } from "../api/Common.js";
6
6
  import { getRandomHexString } from "./Utilities.js";
7
+ import { getAppTempDir } from "./PathUtilities.js";
7
8
  const tarballDir = "../resources/tarballs";
8
9
  export async function makeTarballsForInstalledPackages(skipIfExists = false) {
9
10
  const packagesDir = await ensureAndGetPackagesDir();
@@ -1 +1 @@
1
- {"version":3,"file":"TarballMaker.js","sourceRoot":"","sources":["../../src/utilities/TarballMaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TarballMaker.js","sourceRoot":"","sources":["../../src/utilities/TarballMaker.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
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';
5
- import { shouldCancelCurrentTask } from '../server/Worker.js';
6
4
  const log = logToStderr;
7
5
  export function concatFloat32Arrays(arrays) {
8
6
  return concatTypedArrays(Float32Array, arrays);
@@ -433,12 +431,14 @@ export async function resolveModuleScriptPath(moduleName) {
433
431
  return fileURLToPath(scriptPath);
434
432
  }
435
433
  export async function runOperationWithRetries(operationFunc, logger, opreationName = "Operation", delayBetweenRetries = 2000, maxRetries = 200) {
434
+ const { default: chalk } = await import('chalk');
436
435
  for (let retryIndex = 1; retryIndex <= maxRetries; retryIndex++) {
437
436
  try {
438
437
  const result = await operationFunc();
439
438
  return result;
440
439
  }
441
440
  catch (e) {
441
+ const { shouldCancelCurrentTask } = await import('../server/Worker.js');
442
442
  if (shouldCancelCurrentTask()) {
443
443
  throw new Error("Canceled");
444
444
  }
@@ -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":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGrD,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACzD,OAAO,iBAAiB,CAAe,YAAY,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,iBAAiB,CAAI,gBAAqB,EAAE,MAAa;IACjE,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,WAAW,IAAI,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAEhD,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;IACrB,CAAC;IAED,OAAU,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,KAAU,EAAE,SAA0B;IACrE,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,KAAU,EAAE,SAA0B;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAA;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAA;QAE/D,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;QAC7B,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAA;IAC3B,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACzD,OAAO,IAAI;SACT,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SAEpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAY;IACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAY;IACzC,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,aAAa,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;SAAM,CAAC;QACP,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;IACpC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAY;IACvC,aAAa,CAAC,OAAO,CAAC,CAAA;IACtB,aAAa,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAQ;IACnC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,CAAC;KACV,CAAC,CAAA;IAEF,OAAO,eAAe,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK;IACnE,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,GAAG,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEpD,IAAI,SAAS,EAAE,CAAC;QACf,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IACxB,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAM,GAAG,IAAI;IAC1C,IAAI,IAAI,GAAG,UAAU,EAAY,CAAA;IAEjC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,GAAa,EAAE,WAAgC;IAC1E,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,UAAoB;IAC9D,OAAO,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,UAAoB;IAC7D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEpC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,QAAkB;IAC9D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA;QACZ,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,MAAM,GAAG,CAAC;IACpD,MAAM,UAAU,GAAG,EAAE,IAAI,MAAM,CAAA;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,MAAc;IACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,YAAY,CAAC,OAAO,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAsB;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;IAE9B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACjC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAQ;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAAoB;IAChD,IAAI,gBAAgB,GAAG,YAAY,CAAA;IAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACpD,gBAAgB,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,CAAA;IAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAA;IACjD,gBAAgB,IAAI,OAAO,GAAG,EAAE,CAAA;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAC5C,gBAAgB,IAAI,OAAO,CAAA;IAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAExD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC/C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAE5E,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAkF,EAAE,gBAAgB,GAAG,GAAG;IACnI,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,gBAAgB,GAAG,6BAA6B,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAA;AAClP,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAkE,EAAE,gBAAgB,GAAG,GAAG;IAClH,OAAO,GAAG,6BAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,6BAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,gBAAgB,GAAG,6BAA6B,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAA;AAC5L,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW,EAAE,aAAqB;IAC/E,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAErB,IAAI,WAAW,GAAG,GAAG,GAAG,EAAE,CAAA;IAE1B,OAAO,WAAW,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QAC3C,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;IAChC,CAAC;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,GAAW;IACrD,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACxE,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,GAAW;IACxD,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG;IACtE,MAAM,YAAY,GAAa,EAAE,CAAA;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,YAAY,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,GAAW;IAC1D,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAI,GAAmB;IAC1D,MAAM,GAAG,GAAyB,EAAE,CAAA;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACjB,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAI,GAAyB;IAClE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAA;IAEhC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAO,GAAG,CAAC;IACtC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE;QACrD,OAAO,EAAE,CAAA;IACV,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AACb,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE;QACvD,OAAO,EAAE,CAAA;IACV,CAAC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC/C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAM,EAAE,EAAE;QAC3C,GAAG,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAA;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC;QAC1C,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAA;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,WAAwB;IACxE,SAAS,WAAW,CAAC,QAAQ,GAAG,CAAC;QAChC,IAAI,WAAW,EAAE,CAAC;YACjB,WAAW,EAAE,CAAA;QACd,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE1C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAE9B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACzC,IAAI,GAAG,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC1B,WAAW,CAAC,CAAC,CAAC,CAAA;YACf,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;gBACzC,WAAW,CAAC,CAAC,CAAC,CAAA;YACf,CAAC;QACF,CAAC,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,eAAgC;IACzE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAa,EAAE,CAAA;QAE3B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACjC,MAAM,CAAC,CAAC,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAkB,EAAE,QAAgB;IACrE,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa;IAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEpE,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IAClD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAEjE,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAEhD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE;QAC1B,QAAQ,EAAE,IAAI;QAEd,SAAS,EAAE;YACV,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;YAChD,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;YACnC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACjD,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACjD,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACjD,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACjD,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE;SAC/D;KACD,CAAC,CAAA;IAEF,OAAO,IAAI,IAAI,EAAE,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAiB,EAAE,WAAW,GAAG,GAAG;IAChF,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,GAAG,GAAG,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACvD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAA;IAE7C,OAAO,aAAa,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,KAAoB,EAAE,YAAe;IACtE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,YAAY,CAAA;IACpB,CAAC;SAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,qBAA6B;IAC7E,IAAI,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAA;IAE7C,KAAK,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5D,IAAI,qBAAqB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YACrC,IAAI,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,UAAU,GAAG,CAAC,CAAA;gBAEd,SAAQ;YACT,CAAC;iBAAM,CAAC;gBACP,MAAK;YACN,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACvD,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IAEvD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACxC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,KAAK,MAAM,SAAS,IAAI,GAAG,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACzB,CAAC;QAED,UAAU,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAExB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,MAA2B;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE1C,MAAM,kBAAkB,GAAa,EAAE,CAAA;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACvD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;YACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;YAE1C,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;gBACnC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACP,MAAK;YACN,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;IAEtE,IAAI,aAAa,GAAG,CAAC,CAAC,CAAA;IACtB,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACtB,aAAa,GAAG,CAAC,CAAA;YACjB,QAAQ,GAAG,KAAK,CAAA;QACjB,CAAC;IACF,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,qDAAqD,CAAC,MAA2B;IAChG,SAAS,wBAAwB,CAAC,GAAW;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAA;QAEb,KAAK,IAAI,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBACrC,OAAO,KAAK,CAAA;gBACb,CAAC;YACF,CAAC;YAED,KAAK,IAAI,CAAC,CAAA;QACX,CAAC;QAED,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAE/C,MAAM,oBAAoB,GAAa,EAAE,CAAA;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,IAAI,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC;QAC7D,oBAAoB,CAAC,SAAS,CAAC,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;IAExE,IAAI,cAAc,GAAG,CAAC,CAAC,CAAA;IACvB,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACtB,cAAc,GAAG,CAAC,CAAA;YAClB,QAAQ,GAAG,KAAK,CAAA;QACjB,CAAC;IACF,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAAkB;IAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAEvD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEvD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAA;IAE7C,OAAO,aAAa,CAAC,UAAU,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,aAA+B,EAC/B,MAAc,EACd,aAAa,GAAG,WAAW,EAC3B,mBAAmB,GAAG,IAAI,EAC1B,UAAU,GAAG,GAAG;IAEhB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;IAEhD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;QACjE,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;YAEpC,OAAO,MAAM,CAAA;QACd,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACjB,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;YAEvE,IAAI,uBAAuB,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;YAC5B,CAAC;YAED,MAAM,CAAC,iBAAiB,EAAE,CAAA;YAE1B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YAC5D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACd,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAa,SAAS,EAAE,mBAAmB,mBAAmB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YAEjH,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAA;YAEhC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACd,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,GAAG,UAAU,MAAM,UAAU,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;YACtG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAEd,MAAM,CAAC,mBAAmB,EAAE,CAAA;QAC7B,CAAC;IACF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,iBAAiB,UAAU,iBAAiB,CAAC,CAAA;AAC9E,CAAC"}
package/docs/API.md CHANGED
@@ -248,6 +248,31 @@ Converts subtitles to a timeline.
248
248
 
249
249
  Timeline object.
250
250
 
251
+ ## Global options
252
+
253
+ ### `setGlobalOption(key, value)`
254
+
255
+ Set a global option.
256
+
257
+ Supported keys:
258
+
259
+ * `'ffmpegPath'`: override FFMpeg executable path
260
+ * `'soxPath'`: override SoX executable path
261
+
262
+ ### `getGlobalOption(key)`
263
+
264
+ Get a global option.
265
+
266
+ Supported keys:
267
+
268
+ * `'ffmpegPath'`: get FFMpeg executable path
269
+ * `'soxPath'`: get SoX executable path
270
+
271
+ #### Returns:
272
+
273
+ The value associated with the given key.
274
+
251
275
  ## TODO
252
276
 
253
277
  Expose more methods that may be useful for developers, like phonemization, etc.
278
+
package/docs/Engines.md CHANGED
@@ -4,7 +4,7 @@
4
4
  ## Text to speech
5
5
 
6
6
  **Offline**:
7
- * [VITS](https://github.com/jaywalnut310/vits) (`vits`): a high-quality end-to-end neural speech synthesis architecture. Available models were trained by Michael Hansen as part of his [Piper speech synthesis system](https://github.com/rhasspy/piper). Currently there are 104 voices, in a range of languages, including English (US, UK), Spanish (ES, MX), Portuguese (PT, BR), Italian, French, German, Dutch (NL, BE), Swedish, Norwegian, Danish, Finnish, Polish, Greek, Romanian, Serbian, Czech, Hungarian, Slovak, Turkish, Arabic, Russian, Ukrainian, Catalan, Luxemburgish, Icelandic, Swahili, Kazakh, Georgian, Nepali, Vietnamese and Chinese. You can listen to audio samples of all voices and languages in [Piper's samples page](https://rhasspy.github.io/piper-samples/).
7
+ * [VITS](https://github.com/jaywalnut310/vits) (`vits`): a high-quality end-to-end neural speech synthesis architecture. Available models were trained by Michael Hansen as part of his [Piper speech synthesis system](https://github.com/rhasspy/piper). Currently there are 117 voices, in a range of languages, including English (US, UK), Spanish (ES, MX), Portuguese (PT, BR), Italian, French, German, Dutch (NL, BE), Swedish, Norwegian, Danish, Finnish, Polish, Greek, Romanian, Serbian, Czech, Hungarian, Slovak, Slovenian, Turkish, Arabic, Farsi, Russian, Ukrainian, Catalan, Luxemburgish, Icelandic, Swahili, Kazakh, Georgian, Nepali, Vietnamese and Chinese. You can listen to audio samples of all voices and languages in [Piper's samples page](https://rhasspy.github.io/piper-samples/).
8
8
  * [SVOX Pico](https://github.com/naggety/picotts) (`pico`): a legacy diphone-based synthesis engine. Supports English (US, UK), Spanish, Italian, French, and German.
9
9
  * [Flite](https://github.com/festvox/flite) (`flite`): a legacy diphone-based synthesis engine. Supports English (US, Scottish), and several Indic languages: Hindi, Bengali, Marathi, Telugu, Tamil, Gujarati, Kannada and Punjabi.
10
10
  * [eSpeak-NG](https://github.com/espeak-ng/espeak-ng/) (`espeak`): a lightweight "robot" sounding formant-based synthesizer. Supports 100+ languages. Extensively used internally for speech alignment, phonemization, and other internal tasks.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "0.11.22",
3
+ "version": "0.12.1",
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.529.1",
58
- "@aws-sdk/client-transcribe-streaming": "^3.529.1",
57
+ "@aws-sdk/client-polly": "^3.535.0",
58
+ "@aws-sdk/client-transcribe-streaming": "^3.535.0",
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",
@@ -121,12 +121,12 @@
121
121
  "@types/msgpack-lite": "^0.1.11",
122
122
  "@types/ndarray": "^1.0.14",
123
123
  "@types/ndarray-ops": "^1.2.7",
124
- "@types/node": "^20.11.25",
124
+ "@types/node": "^20.11.28",
125
125
  "@types/recursive-readdir": "^2.2.4",
126
126
  "@types/tar": "^6.1.11",
127
127
  "@types/ws": "^8.5.10",
128
- "@typescript-eslint/eslint-plugin": "^7.1.1",
129
- "@typescript-eslint/parser": "^7.1.1",
128
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
129
+ "@typescript-eslint/parser": "^7.2.0",
130
130
  "eslint": "^8.57.0",
131
131
  "ts-json-schema-generator": "^1.5.0",
132
132
  "typescript": "^5.4.2"
package/src/api/API.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /// <reference path="../typings/Fillers.d.ts" />
2
2
 
3
3
  export * from "./Common.js"
4
+ export * from "./GlobalOptions.js"
4
5
  export * from "./Synthesis.js"
5
6
  export * from "./Recognition.js"
6
7
  export * from "./Alignment.js"
@@ -0,0 +1,25 @@
1
+ export function getGlobalOption<K extends keyof GlobalOptions>(key: K): GlobalOptions[K] {
2
+ if (!Object.keys(globalOptions).includes(key)) {
3
+ throw new Error(`Unknown global option key '${key}'`)
4
+ }
5
+
6
+ return globalOptions[key]
7
+ }
8
+
9
+ export function setGlobalOption<K extends keyof GlobalOptions>(key: K, value: GlobalOptions[K]) {
10
+ if (!Object.keys(globalOptions).includes(key)) {
11
+ throw new Error(`Unknown global option key '${key}'`)
12
+ }
13
+
14
+ globalOptions[key] = value as any
15
+ }
16
+
17
+ export interface GlobalOptions {
18
+ ffmpegPath?: string
19
+ soxPath?: string
20
+ }
21
+
22
+ const globalOptions = {
23
+ ffmpegPath: undefined,
24
+ soxPath: undefined
25
+ }
@@ -11,12 +11,13 @@ import { getRandomHexString, waitTimeout, writeToStderr } from '../utilities/Uti
11
11
  import { encodeToAudioBuffer } from './AudioBufferConversion.js'
12
12
  import { OpenPromise } from '../utilities/OpenPromise.js'
13
13
  import { Timeline, addWordTextOffsetsToTimeline } from '../utilities/Timeline.js'
14
- import { getAppTempDir, outputFile, readAndParseJsonFile, readFile, remove } from '../utilities/FileSystem.js'
14
+ import { outputFile, readAndParseJsonFile, readFile, remove } from '../utilities/FileSystem.js'
15
15
  import { tryResolvingSoxPath } from './SoxPath.js'
16
16
  import { SignalChannel } from '../utilities/SignalChannel.js'
17
17
  import { deepClone } from '../utilities/ObjectUtilities.js'
18
18
  import { appName } from '../api/Common.js'
19
19
  import path from 'node:path'
20
+ import { getAppTempDir } from '../utilities/PathUtilities.js'
20
21
 
21
22
  export async function playAudioFileWithTimelineFile(audioFilename: string, timelineFileName: string, transcriptFileName?: string) {
22
23
  const rawAudio = await FFMpegTranscoder.decodeToChannels(audioFilename, 48000, 1)
@@ -42,12 +42,12 @@ export function trimAudioEnd(audioSamples: Float32Array, targetEndSilentSampleCo
42
42
  }
43
43
 
44
44
  export function getStartingSilentSampleCount(audioSamples: Float32Array, amplitudeThresholdDecibels = defaultSilenceThresholdDecibels) {
45
- const minSampleValue = decibelsToGain(amplitudeThresholdDecibels)
45
+ const minSampleAmplitude = decibelsToGainFactor(amplitudeThresholdDecibels)
46
46
 
47
47
  let silentSampleCount = 0
48
48
 
49
49
  for (let i = 0; i < audioSamples.length - 1; i++) {
50
- if (Math.abs(audioSamples[i]) > minSampleValue) {
50
+ if (Math.abs(audioSamples[i]) > minSampleAmplitude) {
51
51
  break
52
52
  }
53
53
 
@@ -58,12 +58,12 @@ export function getStartingSilentSampleCount(audioSamples: Float32Array, amplitu
58
58
  }
59
59
 
60
60
  export function getEndingSilentSampleCount(audioSamples: Float32Array, amplitudeThresholdDecibels = defaultSilenceThresholdDecibels) {
61
- const minSampleValue = decibelsToGain(amplitudeThresholdDecibels)
61
+ const minSampleAmplitude = decibelsToGainFactor(amplitudeThresholdDecibels)
62
62
 
63
63
  let silentSampleCount = 0
64
64
 
65
65
  for (let i = audioSamples.length - 1; i >= 0; i--) {
66
- if (Math.abs(audioSamples[i]) > minSampleValue) {
66
+ if (Math.abs(audioSamples[i]) > minSampleAmplitude) {
67
67
  break
68
68
  }
69
69
 
@@ -83,14 +83,14 @@ export function downmixToMonoAndNormalize(rawAudio: RawAudio, targetPeakDb = -3)
83
83
  export function normalizeAudioLevel(rawAudio: RawAudio, targetPeakDb = -3, maxIncreaseDb = 30): RawAudio {
84
84
  //rawAudio = correctDCBias(rawAudio)
85
85
 
86
- const targetPeakSampleValue = decibelsToGain(targetPeakDb)
87
- const maxMultiplier = decibelsToGain(maxIncreaseDb)
86
+ const targetPeakAmplitude = decibelsToGainFactor(targetPeakDb)
87
+ const maxGainFactor = decibelsToGainFactor(maxIncreaseDb)
88
88
 
89
- const maxAbsoluteSampleValue = getAudioPeakGain(rawAudio.audioChannels)
89
+ const peakAmplitude = getAudioPeakAmplitude(rawAudio.audioChannels)
90
90
 
91
- const multiplier = Math.min(targetPeakSampleValue / maxAbsoluteSampleValue, maxMultiplier)
91
+ const gainFactor = Math.min(targetPeakAmplitude / peakAmplitude, maxGainFactor)
92
92
 
93
- return applyGain(rawAudio, multiplier)
93
+ return applyGain(rawAudio, gainFactor)
94
94
  }
95
95
 
96
96
  export function correctDCBias(rawAudio: RawAudio): RawAudio {
@@ -120,21 +120,19 @@ export function correctDCBias(rawAudio: RawAudio): RawAudio {
120
120
  }
121
121
 
122
122
  export function applyGainDecibels(rawAudio: RawAudio, decibelGain: number): RawAudio {
123
- return applyGain(rawAudio, decibelsToGain(decibelGain))
123
+ return applyGain(rawAudio, decibelsToGainFactor(decibelGain))
124
124
  }
125
125
 
126
- export function applyGain(rawAudio: RawAudio, gain: number): RawAudio {
126
+ export function applyGain(rawAudio: RawAudio, gainFactor: number): RawAudio {
127
127
  const outputAudioChannels: Float32Array[] = []
128
128
 
129
- const multiplier = gain
130
-
131
129
  for (const channelSamples of rawAudio.audioChannels) {
132
130
  const sampleCount = channelSamples.length
133
131
 
134
132
  const outputChannelSamples = new Float32Array(sampleCount)
135
133
 
136
134
  for (let i = 0; i < sampleCount; i++) {
137
- outputChannelSamples[i] = channelSamples[i] * multiplier
135
+ outputChannelSamples[i] = channelSamples[i] * gainFactor
138
136
  }
139
137
 
140
138
  outputAudioChannels.push(outputChannelSamples)
@@ -158,19 +156,19 @@ export function downmixToMono(rawAudio: RawAudio): RawAudio {
158
156
  }
159
157
 
160
158
  export function getAudioPeakDecibels(audioChannels: Float32Array[]) {
161
- return gainToDecibels(getAudioPeakGain(audioChannels))
159
+ return gainFactorToDecibels(getAudioPeakAmplitude(audioChannels))
162
160
  }
163
161
 
164
- export function getAudioPeakGain(audioChannels: Float32Array[]) {
165
- let maxAbsoluteSampleValue = 0.00001
162
+ export function getAudioPeakAmplitude(audioChannels: Float32Array[]) {
163
+ let maxAmplitude = 0.00001
166
164
 
167
165
  for (const channelSamples of audioChannels) {
168
166
  for (const sample of channelSamples) {
169
- maxAbsoluteSampleValue = Math.max(maxAbsoluteSampleValue, Math.abs(sample))
167
+ maxAmplitude = Math.max(maxAmplitude, Math.abs(sample))
170
168
  }
171
169
  }
172
170
 
173
- return maxAbsoluteSampleValue
171
+ return maxAmplitude
174
172
  }
175
173
 
176
174
  export function mixAudio(rawAudio1: RawAudio, rawAudio2: RawAudio) {
@@ -252,7 +250,7 @@ export function fadeAudioInOut(rawAudio: RawAudio, fadeTime: number): RawAudio {
252
250
  const fadeSampleCount = Math.floor(rawAudio.sampleRate * fadeTime)
253
251
  const gainReductionPerFrameDecibels = -60 / fadeSampleCount
254
252
 
255
- const gainReductionPerFrameMultiplier = decibelsToGain(gainReductionPerFrameDecibels)
253
+ const gainReductionPerFrameFactor = decibelsToGainFactor(gainReductionPerFrameDecibels)
256
254
 
257
255
  const outAudioChannels = rawAudio.audioChannels.map(channel => channel.slice())
258
256
 
@@ -261,18 +259,20 @@ export function fadeAudioInOut(rawAudio: RawAudio, fadeTime: number): RawAudio {
261
259
  continue
262
260
  }
263
261
 
264
- let multiplier = 1.0
262
+ let factor = 1.0
265
263
 
266
264
  for (let i = fadeSampleCount - 1; i >= 0; i--) {
267
- channel[i] *= multiplier
268
- multiplier *= gainReductionPerFrameMultiplier
265
+ channel[i] *= factor
266
+
267
+ factor *= gainReductionPerFrameFactor
269
268
  }
270
269
 
271
- multiplier = 1.0
270
+ factor = 1.0
272
271
 
273
272
  for (let i = channel.length - fadeSampleCount; i < channel.length; i++) {
274
- channel[i] *= multiplier
275
- multiplier *= gainReductionPerFrameMultiplier
273
+ channel[i] *= factor
274
+
275
+ factor *= gainReductionPerFrameFactor
276
276
  }
277
277
  }
278
278
 
@@ -352,11 +352,11 @@ export async function ensureRawAudio(input: AudioSourceParam, outSampleRate?: nu
352
352
  // Unit conversion
353
353
  ////////////////////////////////////////////////////////////////////////////////////////////////
354
354
 
355
- export function gainToDecibels(gain: number) {
356
- return gain <= 0.00001 ? -100 : (20.0 * Math.log10(gain))
355
+ export function gainFactorToDecibels(gainFactor: number) {
356
+ return gainFactor <= 0.00001 ? -100 : (20.0 * Math.log10(gainFactor))
357
357
  }
358
358
 
359
- export function decibelsToGain(decibels: number) {
359
+ export function decibelsToGainFactor(decibels: number) {
360
360
  return decibels <= -100.0 ? 0 : Math.pow(10, 0.05 * decibels)
361
361
  }
362
362