echogarden 1.8.7 → 2.0.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 (309) hide show
  1. package/README.md +23 -18
  2. package/data/schemas/options.json +52 -47
  3. package/dist/alignment/DTWSequenceAlignment.d.ts +1 -1
  4. package/dist/alignment/DTWSequenceAlignment.js +5 -5
  5. package/dist/alignment/DTWSequenceAlignment.js.map +1 -1
  6. package/dist/alignment/SpeechAlignment.js +6 -6
  7. package/dist/alignment/SpeechAlignment.js.map +1 -1
  8. package/dist/api/Alignment.d.ts +1 -1
  9. package/dist/api/Alignment.js +49 -11
  10. package/dist/api/Alignment.js.map +1 -1
  11. package/dist/api/Denoising.d.ts +4 -2
  12. package/dist/api/Denoising.js +65 -13
  13. package/dist/api/Denoising.js.map +1 -1
  14. package/dist/api/SourceSeparation.js +9 -6
  15. package/dist/api/SourceSeparation.js.map +1 -1
  16. package/dist/api/SpeechLanguageDetection.js +4 -4
  17. package/dist/api/SpeechLanguageDetection.js.map +1 -1
  18. package/dist/api/Synthesis.d.ts +2 -2
  19. package/dist/api/Synthesis.js +10 -7
  20. package/dist/api/Synthesis.js.map +1 -1
  21. package/dist/api/VoiceActivityDetection.js +2 -2
  22. package/dist/api/VoiceActivityDetection.js.map +1 -1
  23. package/dist/audio/AudioBufferConversion.d.ts +2 -2
  24. package/dist/audio/AudioBufferConversion.js +77 -43
  25. package/dist/audio/AudioBufferConversion.js.map +1 -1
  26. package/dist/audio/AudioPlayer.d.ts +7 -5
  27. package/dist/audio/AudioPlayer.js +135 -49
  28. package/dist/audio/AudioPlayer.js.map +1 -1
  29. package/dist/audio/AudioUtilities.d.ts +4 -3
  30. package/dist/audio/AudioUtilities.js +30 -15
  31. package/dist/audio/AudioUtilities.js.map +1 -1
  32. package/dist/audio/SoxPath.js +3 -3
  33. package/dist/audio/SoxPath.js.map +1 -1
  34. package/dist/build-tools/MakeTarballsForInstalledPackages.js +3 -3
  35. package/dist/build-tools/MakeTarballsForInstalledPackages.js.map +1 -1
  36. package/dist/cli/CLI.js +30 -36
  37. package/dist/cli/CLI.js.map +1 -1
  38. package/dist/cli/CLIConfigFile.js +2 -2
  39. package/dist/cli/CLIConfigFile.js.map +1 -1
  40. package/dist/cli/CLIOptions.d.ts +2 -0
  41. package/dist/cli/CLIOptions.js +1 -1
  42. package/dist/cli/CLIOptions.js.map +1 -1
  43. package/dist/codecs/FFMpegTranscoder.d.ts +3 -3
  44. package/dist/codecs/FFMpegTranscoder.js +6 -6
  45. package/dist/codecs/FFMpegTranscoder.js.map +1 -1
  46. package/dist/codecs/TIMITCodec.d.ts +1 -1
  47. package/dist/codecs/TIMITCodec.js +4 -3
  48. package/dist/codecs/TIMITCodec.js.map +1 -1
  49. package/dist/codecs/WaveCodec.d.ts +3 -3
  50. package/dist/codecs/WaveCodec.js +37 -34
  51. package/dist/codecs/WaveCodec.js.map +1 -1
  52. package/dist/data-structures/DynamicTypedArray.d.ts +17 -0
  53. package/dist/data-structures/DynamicTypedArray.js +47 -0
  54. package/dist/data-structures/DynamicTypedArray.js.map +1 -0
  55. package/dist/data-structures/Queue.js.map +1 -0
  56. package/dist/data-structures/WindowedList.js.map +1 -0
  57. package/dist/denoising/NSNet2.d.ts +26 -0
  58. package/dist/denoising/NSNet2.js +128 -0
  59. package/dist/denoising/NSNet2.js.map +1 -0
  60. package/dist/denoising/RNNoise.js +3 -3
  61. package/dist/denoising/RNNoise.js.map +1 -1
  62. package/dist/dsp/FFT.d.ts +6 -1
  63. package/dist/dsp/FFT.js +17 -0
  64. package/dist/dsp/FFT.js.map +1 -1
  65. package/dist/encodings/Ascii.d.ts +10 -0
  66. package/dist/encodings/Ascii.js +41 -0
  67. package/dist/encodings/Ascii.js.map +1 -0
  68. package/dist/encodings/Base64.d.ts +5 -0
  69. package/dist/encodings/Base64.js +114 -0
  70. package/dist/encodings/Base64.js.map +1 -0
  71. package/dist/encodings/Hex.d.ts +3 -0
  72. package/dist/encodings/Hex.js +52 -0
  73. package/dist/encodings/Hex.js.map +1 -0
  74. package/dist/encodings/HtmlEscape.d.ts +1 -0
  75. package/dist/encodings/HtmlEscape.js +30 -0
  76. package/dist/encodings/HtmlEscape.js.map +1 -0
  77. package/dist/{utilities → encodings}/LEB128.d.ts +1 -1
  78. package/dist/{utilities → encodings}/LEB128.js +4 -4
  79. package/dist/encodings/LEB128.js.map +1 -0
  80. package/dist/{utilities → encodings}/LPVarInt.d.ts +1 -1
  81. package/dist/{utilities → encodings}/LPVarInt.js +6 -6
  82. package/dist/encodings/LPVarInt.js.map +1 -0
  83. package/dist/encodings/TextEncodingsCommon.d.ts +4 -0
  84. package/dist/encodings/TextEncodingsCommon.js +2 -0
  85. package/dist/encodings/TextEncodingsCommon.js.map +1 -0
  86. package/dist/encodings/Utf16.d.ts +10 -0
  87. package/dist/encodings/Utf16.js +36 -0
  88. package/dist/encodings/Utf16.js.map +1 -0
  89. package/dist/encodings/Utf32.d.ts +4 -0
  90. package/dist/encodings/Utf32.js +32 -0
  91. package/dist/encodings/Utf32.js.map +1 -0
  92. package/dist/encodings/Utf8.d.ts +10 -0
  93. package/dist/encodings/Utf8.js +97 -0
  94. package/dist/encodings/Utf8.js.map +1 -0
  95. package/dist/math/MedianFilter.d.ts +0 -1
  96. package/dist/math/MedianFilter.js +0 -10
  97. package/dist/math/MedianFilter.js.map +1 -1
  98. package/dist/nlp/JapaneseSegmentation.js +2 -2
  99. package/dist/nlp/JapaneseSegmentation.js.map +1 -1
  100. package/dist/recognition/GoogleCloudSTT.js +2 -1
  101. package/dist/recognition/GoogleCloudSTT.js.map +1 -1
  102. package/dist/recognition/SileroSTT.js +3 -3
  103. package/dist/recognition/SileroSTT.js.map +1 -1
  104. package/dist/recognition/VoskSTT.js +3 -3
  105. package/dist/recognition/VoskSTT.js.map +1 -1
  106. package/dist/recognition/WhisperCppSTT.js +4 -5
  107. package/dist/recognition/WhisperCppSTT.js.map +1 -1
  108. package/dist/recognition/WhisperSTT.js +8 -7
  109. package/dist/recognition/WhisperSTT.js.map +1 -1
  110. package/dist/server/Client.d.ts +1 -1
  111. package/dist/server/Client.js +2 -1
  112. package/dist/server/Client.js.map +1 -1
  113. package/dist/server/Server.js +5 -4
  114. package/dist/server/Server.js.map +1 -1
  115. package/dist/server/Worker.js +1 -1
  116. package/dist/server/Worker.js.map +1 -1
  117. package/dist/source-separation/MDXNetSourceSeparation.js +1 -1
  118. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
  119. package/dist/speech-search/DTWSpeechSearch.d.ts +1 -1
  120. package/dist/speech-search/DTWSpeechSearch.js +25 -6
  121. package/dist/speech-search/DTWSpeechSearch.js.map +1 -1
  122. package/dist/subtitles/Subtitles.js +2 -2
  123. package/dist/subtitles/Subtitles.js.map +1 -1
  124. package/dist/synthesis/AzureCognitiveServicesTTS.js +19 -20
  125. package/dist/synthesis/AzureCognitiveServicesTTS.js.map +1 -1
  126. package/dist/synthesis/CoquiServerTTS.js +1 -1
  127. package/dist/synthesis/CoquiServerTTS.js.map +1 -1
  128. package/dist/synthesis/ElevenlabsTTS.js +1 -1
  129. package/dist/synthesis/ElevenlabsTTS.js.map +1 -1
  130. package/dist/synthesis/EspeakTTS.d.ts +0 -1
  131. package/dist/synthesis/EspeakTTS.js +2 -11
  132. package/dist/synthesis/EspeakTTS.js.map +1 -1
  133. package/dist/synthesis/FliteTTS.js +8 -9
  134. package/dist/synthesis/FliteTTS.js.map +1 -1
  135. package/dist/synthesis/GoogleCloudTTS.d.ts +1 -1
  136. package/dist/synthesis/GoogleCloudTTS.js +2 -1
  137. package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
  138. package/dist/synthesis/GoogleTranslateTTS.d.ts +1 -1
  139. package/dist/synthesis/GoogleTranslateTTS.js +4 -3
  140. package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
  141. package/dist/synthesis/MicrosoftEdgeTTS.js +34 -9
  142. package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
  143. package/dist/synthesis/SapiTTS.js +1 -1
  144. package/dist/synthesis/SapiTTS.js.map +1 -1
  145. package/dist/synthesis/StreamlabsPollyTTS.d.ts +1 -1
  146. package/dist/synthesis/StreamlabsPollyTTS.js +1 -1
  147. package/dist/synthesis/StreamlabsPollyTTS.js.map +1 -1
  148. package/dist/synthesis/SvoxPicoTTS.js +6 -6
  149. package/dist/synthesis/SvoxPicoTTS.js.map +1 -1
  150. package/dist/synthesis/VitsTTS.js +2 -2
  151. package/dist/synthesis/VitsTTS.js.map +1 -1
  152. package/dist/tests/Test.js +1 -47
  153. package/dist/tests/Test.js.map +1 -1
  154. package/dist/text-language-detection/FastTextLanguageDetection.js +2 -2
  155. package/dist/text-language-detection/FastTextLanguageDetection.js.map +1 -1
  156. package/dist/text-translation/GoogleTranslateTextTranslation.js +1 -1
  157. package/dist/text-translation/GoogleTranslateTextTranslation.js.map +1 -1
  158. package/dist/typings/TypedArray.d.ts +4 -0
  159. package/dist/typings/TypedArray.js +2 -0
  160. package/dist/typings/TypedArray.js.map +1 -0
  161. package/dist/utilities/BinaryArrayConversion.d.ts +12 -22
  162. package/dist/utilities/BinaryArrayConversion.js +40 -90
  163. package/dist/utilities/BinaryArrayConversion.js.map +1 -1
  164. package/dist/utilities/BinaryUtilities.d.ts +13 -0
  165. package/dist/utilities/BinaryUtilities.js +113 -0
  166. package/dist/utilities/BinaryUtilities.js.map +1 -0
  167. package/dist/utilities/Compression.js +7 -6
  168. package/dist/utilities/Compression.js.map +1 -1
  169. package/dist/utilities/FileDownloader.js +26 -47
  170. package/dist/utilities/FileDownloader.js.map +1 -1
  171. package/dist/utilities/FileReader.d.ts +14 -0
  172. package/dist/utilities/FileReader.js +71 -0
  173. package/dist/utilities/FileReader.js.map +1 -0
  174. package/dist/utilities/FileSystem.d.ts +19 -16
  175. package/dist/utilities/FileSystem.js +170 -109
  176. package/dist/utilities/FileSystem.js.map +1 -1
  177. package/dist/utilities/FileWriter.d.ts +12 -0
  178. package/dist/utilities/FileWriter.js +60 -0
  179. package/dist/utilities/FileWriter.js.map +1 -0
  180. package/dist/utilities/NpmUtilities.d.ts +1 -0
  181. package/dist/utilities/NpmUtilities.js +14 -0
  182. package/dist/utilities/NpmUtilities.js.map +1 -0
  183. package/dist/utilities/PackageManager.js +7 -5
  184. package/dist/utilities/PackageManager.js.map +1 -1
  185. package/dist/utilities/PathUtilities.d.ts +8 -0
  186. package/dist/utilities/PathUtilities.js +28 -7
  187. package/dist/utilities/PathUtilities.js.map +1 -1
  188. package/dist/utilities/SignalChannel.d.ts +3 -1
  189. package/dist/utilities/SignalChannel.js +9 -5
  190. package/dist/utilities/SignalChannel.js.map +1 -1
  191. package/dist/utilities/StringBuilder.d.ts +10 -0
  192. package/dist/utilities/StringBuilder.js +39 -0
  193. package/dist/utilities/StringBuilder.js.map +1 -0
  194. package/dist/utilities/StringUtilities.js.map +1 -1
  195. package/dist/utilities/TarballMaker.js +6 -7
  196. package/dist/utilities/TarballMaker.js.map +1 -1
  197. package/dist/utilities/Timer.js +2 -2
  198. package/dist/utilities/Timer.js.map +1 -1
  199. package/dist/utilities/Utilities.d.ts +11 -5
  200. package/dist/utilities/Utilities.js +69 -33
  201. package/dist/utilities/Utilities.js.map +1 -1
  202. package/dist/utilities/VirtualFileReadStream.d.ts +3 -3
  203. package/dist/utilities/VirtualFileReadStream.js.map +1 -1
  204. package/dist/utilities/WasmMemoryManager.d.ts +5 -2
  205. package/dist/utilities/WasmMemoryManager.js +15 -4
  206. package/dist/utilities/WasmMemoryManager.js.map +1 -1
  207. package/docs/API.md +1 -1
  208. package/docs/CLI.md +1 -1
  209. package/docs/Licenses.md +3 -0
  210. package/docs/Options.md +9 -3
  211. package/docs/Tasklist.md +0 -1
  212. package/docs/Technical.md +2 -2
  213. package/package.json +22 -25
  214. package/src/alignment/DTWSequenceAlignment.ts +5 -5
  215. package/src/alignment/SpeechAlignment.ts +6 -6
  216. package/src/api/Alignment.ts +65 -12
  217. package/src/api/Denoising.ts +97 -17
  218. package/src/api/SourceSeparation.ts +11 -8
  219. package/src/api/SpeechLanguageDetection.ts +4 -4
  220. package/src/api/Synthesis.ts +15 -11
  221. package/src/api/VoiceActivityDetection.ts +2 -2
  222. package/src/audio/AudioBufferConversion.ts +84 -45
  223. package/src/audio/AudioPlayer.ts +155 -53
  224. package/src/audio/AudioUtilities.ts +38 -22
  225. package/src/audio/SoxPath.ts +3 -3
  226. package/src/build-tools/MakeTarballsForInstalledPackages.ts +3 -3
  227. package/src/cli/CLI.ts +30 -36
  228. package/src/cli/CLIConfigFile.ts +2 -2
  229. package/src/cli/CLIOptions.ts +4 -1
  230. package/src/codecs/FFMpegTranscoder.ts +11 -11
  231. package/src/codecs/TIMITCodec.ts +5 -4
  232. package/src/codecs/WaveCodec.ts +42 -39
  233. package/src/data-structures/DynamicTypedArray.ts +64 -0
  234. package/src/denoising/NSNet2.ts +182 -0
  235. package/src/denoising/RNNoise.ts +3 -3
  236. package/src/dsp/FFT.ts +21 -1
  237. package/src/encodings/Ascii.ts +60 -0
  238. package/src/encodings/Base64.ts +157 -0
  239. package/src/encodings/Hex.ts +67 -0
  240. package/src/encodings/HtmlEscape.ts +39 -0
  241. package/src/{utilities → encodings}/LEB128.ts +4 -4
  242. package/src/{utilities → encodings}/LPVarInt.ts +6 -6
  243. package/src/encodings/TextEncodingsCommon.ts +4 -0
  244. package/src/encodings/Utf16.ts +52 -0
  245. package/src/encodings/Utf32.ts +44 -0
  246. package/src/encodings/Utf8.ts +117 -0
  247. package/src/math/MedianFilter.ts +0 -16
  248. package/src/nlp/JapaneseSegmentation.ts +2 -2
  249. package/src/recognition/GoogleCloudSTT.ts +2 -1
  250. package/src/recognition/SileroSTT.ts +3 -3
  251. package/src/recognition/VoskSTT.ts +3 -3
  252. package/src/recognition/WhisperCppSTT.ts +4 -5
  253. package/src/recognition/WhisperSTT.ts +8 -7
  254. package/src/server/Client.ts +4 -3
  255. package/src/server/Server.ts +6 -5
  256. package/src/server/Worker.ts +1 -1
  257. package/src/source-separation/MDXNetSourceSeparation.ts +1 -1
  258. package/src/speech-search/DTWSpeechSearch.ts +36 -7
  259. package/src/subtitles/Subtitles.ts +3 -3
  260. package/src/synthesis/AzureCognitiveServicesTTS.ts +20 -18
  261. package/src/synthesis/CoquiServerTTS.ts +2 -2
  262. package/src/synthesis/ElevenlabsTTS.ts +1 -1
  263. package/src/synthesis/EspeakTTS.ts +2 -18
  264. package/src/synthesis/FliteTTS.ts +8 -10
  265. package/src/synthesis/GoogleCloudTTS.ts +3 -2
  266. package/src/synthesis/GoogleTranslateTTS.ts +5 -4
  267. package/src/synthesis/MicrosoftEdgeTTS.ts +49 -18
  268. package/src/synthesis/SapiTTS.ts +1 -1
  269. package/src/synthesis/StreamlabsPollyTTS.ts +1 -1
  270. package/src/synthesis/SvoxPicoTTS.ts +8 -8
  271. package/src/synthesis/VitsTTS.ts +2 -2
  272. package/src/tests/Test.ts +1 -60
  273. package/src/text-language-detection/FastTextLanguageDetection.ts +2 -2
  274. package/src/text-translation/GoogleTranslateTextTranslation.ts +1 -1
  275. package/src/typings/Fillers.d.ts +2 -10
  276. package/src/typings/TypedArray.ts +5 -0
  277. package/src/utilities/BinaryArrayConversion.ts +51 -125
  278. package/src/utilities/BinaryUtilities.ts +138 -0
  279. package/src/utilities/Compression.ts +7 -6
  280. package/src/utilities/FileDownloader.ts +27 -52
  281. package/src/utilities/FileReader.ts +89 -0
  282. package/src/utilities/FileSystem.ts +213 -120
  283. package/src/utilities/FileWriter.ts +72 -0
  284. package/src/utilities/NpmUtilities.ts +23 -0
  285. package/src/utilities/PackageManager.ts +8 -5
  286. package/src/utilities/PathUtilities.ts +36 -7
  287. package/src/utilities/SignalChannel.ts +14 -7
  288. package/src/utilities/StringBuilder.ts +45 -0
  289. package/src/utilities/StringUtilities.ts +2 -0
  290. package/src/utilities/TarballMaker.ts +6 -7
  291. package/src/utilities/Timer.ts +4 -2
  292. package/src/utilities/Utilities.ts +80 -45
  293. package/src/utilities/VirtualFileReadStream.ts +5 -5
  294. package/src/utilities/WasmMemoryManager.ts +20 -6
  295. package/tsconfig.json +96 -0
  296. package/dist/utilities/DynamicUint8Array.d.ts +0 -9
  297. package/dist/utilities/DynamicUint8Array.js +0 -31
  298. package/dist/utilities/DynamicUint8Array.js.map +0 -1
  299. package/dist/utilities/LEB128.js.map +0 -1
  300. package/dist/utilities/LPVarInt.js.map +0 -1
  301. package/dist/utilities/Queue.js.map +0 -1
  302. package/dist/utilities/WindowedList.js.map +0 -1
  303. package/src/utilities/DynamicUint8Array.ts +0 -39
  304. /package/dist/{utilities → data-structures}/Queue.d.ts +0 -0
  305. /package/dist/{utilities → data-structures}/Queue.js +0 -0
  306. /package/dist/{utilities → data-structures}/WindowedList.d.ts +0 -0
  307. /package/dist/{utilities → data-structures}/WindowedList.js +0 -0
  308. /package/src/{utilities → data-structures}/Queue.ts +0 -0
  309. /package/src/{utilities → data-structures}/WindowedList.ts +0 -0
@@ -1,34 +1,147 @@
1
1
  import * as fsExtra from 'fs-extra/esm';
2
2
  import gracefulFS from 'graceful-fs';
3
3
  import * as os from 'node:os';
4
- import path from 'node:path';
5
4
  import { promisify } from 'node:util';
6
- import { OpenPromise } from './OpenPromise.js';
7
- import { getRandomHexString } from './Utilities.js';
5
+ import { getRandomHexString, parseJson, stringifyAndFormatJson } from './Utilities.js';
8
6
  import { appName } from '../api/Common.js';
9
- import { getAppTempDir } from './PathUtilities.js';
10
- import { writeFile as nodeFsWriteFile } from 'node:fs/promises';
11
- export const readFile = promisify(gracefulFS.readFile);
12
- //export const gracefulFsWriteFile = promisify(gracefulFS.writeFile)
13
- export const readdir = promisify(gracefulFS.readdir);
14
- export const stat = promisify(gracefulFS.stat);
7
+ import { getAppTempDir, getDirName, joinPath, normalizePath, parsePath } from './PathUtilities.js';
8
+ import { createDynamicUint8Array } from '../data-structures/DynamicTypedArray.js';
9
+ import { ChunkedUtf8Decoder } from '../encodings/Utf8.js';
10
+ import { FileWriter } from './FileWriter.js';
11
+ import { FileReader } from './FileReader.js';
15
12
  export const open = promisify(gracefulFS.open);
16
13
  export const close = promisify(gracefulFS.close);
14
+ export const read = promisify(gracefulFS.read);
15
+ export const write = promisify(gracefulFS.write);
16
+ export const existsSync = gracefulFS.existsSync;
17
+ export const stat = promisify(gracefulFS.stat);
17
18
  export const chmod = promisify(gracefulFS.chmod);
18
- export const copyFile = promisify(gracefulFS.copyFile);
19
19
  export const access = promisify(gracefulFS.access);
20
- export const createReadStream = gracefulFS.createReadStream;
21
- export const createWriteStream = gracefulFS.createWriteStream;
22
- export const existsSync = gracefulFS.existsSync;
20
+ export const readdir = promisify(gracefulFS.readdir);
21
+ export const copyFile = promisify(gracefulFS.copyFile);
23
22
  export const remove = fsExtra.remove;
24
23
  export const copy = fsExtra.copy;
25
- // const outputFile = fsExtra.outputFile
26
- export async function readDirRecursive(dir, fileFilter) {
24
+ ///////////////////////////////////////////////////////////////////////////////////////////
25
+ // File read operations
26
+ ///////////////////////////////////////////////////////////////////////////////////////////
27
+ export async function readFileAsBinary(filePath) {
28
+ const chunkSize = 2 ** 20;
29
+ const fileInfo = await stat(filePath);
30
+ const fileSize = fileInfo.size;
31
+ const fileReader = new FileReader(filePath);
32
+ const buffer = new Uint8Array(chunkSize);
33
+ const result = createDynamicUint8Array(fileSize);
34
+ while (!fileReader.isFinished) {
35
+ const chunk = await fileReader.readChunk(buffer);
36
+ result.addArray(chunk);
37
+ }
38
+ return result.toTypedArray();
39
+ }
40
+ export async function readFileAsUtf8(filePath) {
41
+ const chunkSize = 2 ** 20;
42
+ const fileReader = new FileReader(filePath);
43
+ const buffer = new Uint8Array(chunkSize);
44
+ const result = new ChunkedUtf8Decoder();
45
+ while (!fileReader.isFinished) {
46
+ const chunk = await fileReader.readChunk(buffer);
47
+ result.writeChunk(chunk);
48
+ }
49
+ return result.toString();
50
+ }
51
+ export async function readAndParseJsonFile(jsonFilePath, useJson5 = false) {
52
+ const textContent = await readFileAsUtf8(jsonFilePath);
53
+ return parseJson(textContent, useJson5);
54
+ }
55
+ ///////////////////////////////////////////////////////////////////////////////////////////
56
+ // File write operations
57
+ ///////////////////////////////////////////////////////////////////////////////////////////
58
+ export async function writeFile(filePath, content) {
59
+ if (content instanceof Uint8Array) {
60
+ return writeBinaryFile(filePath, content);
61
+ }
62
+ else if (typeof content === 'string') {
63
+ return writeUtf8File(filePath, content);
64
+ }
65
+ else {
66
+ throw new Error(`Content can only be a Uint8Array or string`);
67
+ }
68
+ }
69
+ export async function writeBinaryFile(filePath, content) {
70
+ const maxChunkSize = 2 ** 20;
71
+ const fileDir = getDirName(filePath);
72
+ await ensureDir(fileDir);
73
+ const fileWriter = new FileWriter(filePath);
74
+ let readOffset = 0;
75
+ while (true) {
76
+ const chunk = content.subarray(readOffset, readOffset + maxChunkSize);
77
+ if (chunk.length === 0) {
78
+ break;
79
+ }
80
+ await fileWriter.write(chunk);
81
+ readOffset += chunk.length;
82
+ }
83
+ await fileWriter.dispose();
84
+ }
85
+ export async function writeUtf8File(filePath, content) {
86
+ const maxChunkSize = 2 ** 20;
87
+ const fileDir = getDirName(filePath);
88
+ await ensureDir(fileDir);
89
+ const fileWriter = new FileWriter(filePath);
90
+ const textEncoder = new TextEncoder();
91
+ let readOffset = 0;
92
+ while (true) {
93
+ const stringChunk = content.substring(readOffset, readOffset + maxChunkSize);
94
+ if (stringChunk.length === 0) {
95
+ break;
96
+ }
97
+ const chunk = textEncoder.encode(stringChunk);
98
+ await fileWriter.write(chunk);
99
+ readOffset += stringChunk.length;
100
+ }
101
+ await fileWriter.dispose();
102
+ }
103
+ export async function writeJsonFile(filePath, content, useJson5 = false) {
104
+ const textContent = await stringifyAndFormatJson(content, useJson5);
105
+ await writeUtf8File(filePath, textContent);
106
+ }
107
+ export async function writeFileSafe(filePath, content) {
108
+ const tempDir = getAppTempDir(appName);
109
+ const tempFilePath = joinPath(tempDir, `${getRandomHexString(16)}.partial`);
110
+ await writeFile(tempFilePath, content);
111
+ await move(tempFilePath, filePath);
112
+ }
113
+ ///////////////////////////////////////////////////////////////////////////////////////////
114
+ // Directory operations
115
+ ///////////////////////////////////////////////////////////////////////////////////////////
116
+ export async function ensureDir(dirPath) {
117
+ dirPath = normalizePath(dirPath);
118
+ if (existsSync(dirPath)) {
119
+ const dirStats = await stat(dirPath);
120
+ if (!dirStats.isDirectory()) {
121
+ throw new Error(`The path '${dirPath}' exists but is not a directory.`);
122
+ }
123
+ }
124
+ else {
125
+ return fsExtra.ensureDir(dirPath);
126
+ }
127
+ }
128
+ export async function testDirectoryIsWritable(dir) {
129
+ const testFileName = joinPath(dir, getRandomHexString(16));
130
+ try {
131
+ await fsExtra.createFile(testFileName);
132
+ await remove(testFileName);
133
+ }
134
+ catch (e) {
135
+ return false;
136
+ }
137
+ return true;
138
+ }
139
+ export async function readDirRecursive(dir, pathFilter) {
27
140
  if (!(await stat(dir)).isDirectory()) {
28
141
  throw new Error(`'${dir}' is not a directory`);
29
142
  }
30
143
  const filenamesInDir = await readdir(dir);
31
- const filesInDir = filenamesInDir.map(filename => path.join(dir, filename));
144
+ const filesInDir = filenamesInDir.map(filename => joinPath(dir, filename));
32
145
  const result = [];
33
146
  const subDirectories = [];
34
147
  for (const filePath of filesInDir) {
@@ -36,100 +149,42 @@ export async function readDirRecursive(dir, fileFilter) {
36
149
  subDirectories.push(filePath);
37
150
  }
38
151
  else {
39
- if (fileFilter && !fileFilter(filePath)) {
152
+ if (pathFilter && !pathFilter(filePath)) {
40
153
  continue;
41
154
  }
42
155
  result.push(filePath);
43
156
  }
44
157
  }
45
158
  for (const subDirectory of subDirectories) {
46
- const filesInSubdirectory = await readDirRecursive(subDirectory, fileFilter);
159
+ const filesInSubdirectory = await readDirRecursive(subDirectory, pathFilter);
47
160
  result.push(...filesInSubdirectory);
48
161
  }
49
162
  return result;
50
163
  }
51
- export async function isFileIsUpToDate(filePath, timeRangeSeconds) {
52
- const fileUpdateTime = (await stat(filePath)).mtime.valueOf();
53
- const currentTime = (new Date()).valueOf();
54
- const differenceInMilliseconds = currentTime - fileUpdateTime;
55
- const differenceInSeconds = differenceInMilliseconds / 1000;
56
- return differenceInSeconds <= timeRangeSeconds;
57
- }
58
- export async function computeFileSha256Hex(filePath) {
59
- const resultOpenPromise = new OpenPromise();
60
- const crypto = await import('crypto');
61
- const hash = crypto.createHash('sha256');
62
- const readStream = createReadStream(filePath);
63
- readStream.on('data', data => hash.update(data));
64
- readStream.on('error', error => resultOpenPromise.reject(error));
65
- readStream.on('end', () => resultOpenPromise.resolve(hash.digest('hex')));
66
- return resultOpenPromise.promise;
67
- }
68
- export async function readAndParseJsonFile(jsonFilePath, useJson5 = false) {
69
- const fileContent = await readFile(jsonFilePath, { encoding: 'utf-8' });
70
- if (useJson5) {
71
- const { default: JSON5 } = await import('json5');
72
- return JSON5.parse(fileContent);
73
- }
74
- else {
75
- return JSON.parse(fileContent);
76
- }
77
- }
78
- export async function writeFile(filePath, data, options) {
79
- const fileDir = path.dirname(filePath);
80
- await ensureDir(fileDir);
81
- return nodeFsWriteFile(filePath, data, options);
82
- }
83
- export async function writeFileSafe(filePath, data, options) {
84
- const tempDir = getAppTempDir(appName);
85
- const tempFilePath = path.join(tempDir, `${getRandomHexString(16)}.partial`);
86
- await writeFile(tempFilePath, data, options);
87
- await move(tempFilePath, filePath);
88
- }
89
164
  export function getAppDataDir(appName) {
90
165
  let dataDir;
91
166
  const platform = process.platform;
92
167
  const homeDir = os.homedir();
93
168
  if (platform == 'win32') {
94
- dataDir = path.join(homeDir, 'AppData', 'Local', appName);
169
+ dataDir = joinPath(homeDir, 'AppData', 'Local', appName);
95
170
  }
96
171
  else if (platform == 'darwin') {
97
- dataDir = path.join(homeDir, 'Library', 'Application Support', appName);
172
+ dataDir = joinPath(homeDir, 'Library', 'Application Support', appName);
98
173
  }
99
174
  else if (platform == 'linux') {
100
- dataDir = path.join(homeDir, '.local', 'share', appName);
175
+ dataDir = joinPath(homeDir, '.local', 'share', appName);
101
176
  }
102
177
  else {
103
178
  throw new Error(`Unsupport platform ${platform}`);
104
179
  }
105
180
  return dataDir;
106
181
  }
107
- export async function chmodRecursive(rootPath, newMode) {
108
- const rootPathStat = await stat(rootPath);
109
- await chmod(rootPath, newMode);
110
- if (rootPathStat.isDirectory()) {
111
- const fileList = await readdir(rootPath);
112
- for (const filename of fileList) {
113
- const filePath = path.join(rootPath, filename);
114
- await chmodRecursive(filePath, newMode);
115
- }
116
- }
117
- }
118
- export async function ensureDir(dirPath) {
119
- dirPath = path.normalize(dirPath);
120
- if (existsSync(dirPath)) {
121
- const dirStats = await stat(dirPath);
122
- if (!dirStats.isDirectory()) {
123
- throw new Error(`The path '${dirPath}' exists but is not a directory.`);
124
- }
125
- }
126
- else {
127
- return fsExtra.ensureDir(dirPath);
128
- }
129
- }
182
+ ///////////////////////////////////////////////////////////////////////////////////////////
183
+ // Copy operations
184
+ ///////////////////////////////////////////////////////////////////////////////////////////
130
185
  export async function move(source, dest) {
131
- source = path.normalize(source);
132
- dest = path.normalize(dest);
186
+ source = normalizePath(source);
187
+ dest = normalizePath(dest);
133
188
  if (existsSync(dest)) {
134
189
  const destPathExistsAndIsWritable = await existsAndIsWritable(dest);
135
190
  if (!destPathExistsAndIsWritable) {
@@ -137,7 +192,7 @@ export async function move(source, dest) {
137
192
  }
138
193
  }
139
194
  else {
140
- const destDir = path.parse(dest).dir;
195
+ const destDir = parsePath(dest).dir;
141
196
  const destDirIsWritable = await testDirectoryIsWritable(destDir);
142
197
  if (!destDirIsWritable) {
143
198
  throw new Error(`The directory ${destDir} is not writable. There may be a permissions issue.`);
@@ -145,6 +200,9 @@ export async function move(source, dest) {
145
200
  }
146
201
  return fsExtra.move(source, dest, { overwrite: true });
147
202
  }
203
+ ///////////////////////////////////////////////////////////////////////////////////////////
204
+ // Misc operations
205
+ ///////////////////////////////////////////////////////////////////////////////////////////
148
206
  export async function existsAndIsWritable(targetPath) {
149
207
  try {
150
208
  await access(targetPath, gracefulFS.constants.W_OK);
@@ -154,31 +212,34 @@ export async function existsAndIsWritable(targetPath) {
154
212
  }
155
213
  return true;
156
214
  }
157
- export async function testDirectoryIsWritable(dir) {
158
- const testFileName = path.join(dir, getRandomHexString(16));
159
- try {
160
- await fsExtra.createFile(testFileName);
161
- await remove(testFileName);
162
- }
163
- catch (e) {
164
- return false;
215
+ export async function chmodRecursive(rootPath, newMode) {
216
+ const rootPathStat = await stat(rootPath);
217
+ await chmod(rootPath, newMode);
218
+ if (rootPathStat.isDirectory()) {
219
+ const fileList = await readdir(rootPath);
220
+ for (const filename of fileList) {
221
+ const filePath = joinPath(rootPath, filename);
222
+ await chmodRecursive(filePath, newMode);
223
+ }
165
224
  }
166
- return true;
167
225
  }
168
- export async function copyFileAlternative(source, dest) {
169
- return new Promise((resolve, reject) => {
170
- const readStream = createReadStream(source);
171
- const writeStream = createWriteStream(dest);
172
- readStream.on('error', (err) => {
173
- reject(err);
174
- });
175
- writeStream.on('error', (err) => {
176
- reject(err);
177
- });
178
- readStream.pipe(writeStream);
179
- readStream.on('end', () => {
180
- resolve();
181
- });
182
- });
226
+ export async function isFileIsUpToDate(filePath, maxTimeDifferenceSeconds) {
227
+ const fileUpdateTime = (await stat(filePath)).mtime.valueOf();
228
+ const currentTime = (new Date()).valueOf();
229
+ const differenceInMilliseconds = currentTime - fileUpdateTime;
230
+ const differenceInSeconds = differenceInMilliseconds / 1000;
231
+ return differenceInSeconds <= maxTimeDifferenceSeconds;
232
+ }
233
+ export async function computeFileSha256Hex(filePath) {
234
+ const crypto = await import('crypto');
235
+ const hash = crypto.createHash('sha256');
236
+ const fileReader = new FileReader(filePath);
237
+ const buffer = new Uint8Array(2 ** 16);
238
+ while (!fileReader.isFinished) {
239
+ const chunk = await fileReader.readChunk(buffer);
240
+ hash.update(chunk);
241
+ }
242
+ const result = hash.digest('hex');
243
+ return result;
183
244
  }
184
245
  //# sourceMappingURL=FileSystem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/utilities/FileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/utilities/FileSystem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare class FileWriter {
2
+ readonly filePath: string;
3
+ private fileHandle?;
4
+ private disposed;
5
+ private writeOffset;
6
+ constructor(filePath: string);
7
+ write(chunk: Uint8Array): Promise<void>;
8
+ private openIfNeeded;
9
+ dispose(): Promise<void>;
10
+ get isOpened(): boolean;
11
+ get isDisposed(): boolean;
12
+ }
@@ -0,0 +1,60 @@
1
+ import { write, open, close } from "./FileSystem.js";
2
+ export class FileWriter {
3
+ filePath;
4
+ fileHandle;
5
+ disposed = false;
6
+ writeOffset = 0;
7
+ constructor(filePath) {
8
+ this.filePath = filePath;
9
+ }
10
+ async write(chunk) {
11
+ if (this.isDisposed) {
12
+ throw new Error(`FileWriter has been disposed`);
13
+ }
14
+ await this.openIfNeeded();
15
+ let chunkReadOffset = 0;
16
+ while (chunkReadOffset < chunk.length) {
17
+ let bytesWritten;
18
+ try {
19
+ ({ bytesWritten } = await write(this.fileHandle, chunk, chunkReadOffset, undefined, this.writeOffset));
20
+ }
21
+ catch (e) {
22
+ await this.dispose();
23
+ throw e;
24
+ }
25
+ chunkReadOffset += bytesWritten;
26
+ this.writeOffset += bytesWritten;
27
+ }
28
+ }
29
+ async openIfNeeded() {
30
+ if (this.isDisposed) {
31
+ throw new Error(`FileWriter has been disposed`);
32
+ }
33
+ if (this.isOpened) {
34
+ return;
35
+ }
36
+ this.fileHandle = await open(this.filePath, 'w');
37
+ }
38
+ async dispose() {
39
+ if (this.isDisposed) {
40
+ return;
41
+ }
42
+ if (this.isOpened) {
43
+ try {
44
+ await close(this.fileHandle);
45
+ }
46
+ catch (e) {
47
+ }
48
+ }
49
+ this.disposed = true;
50
+ this.writeOffset = 0;
51
+ this.fileHandle = undefined;
52
+ }
53
+ get isOpened() {
54
+ return this.fileHandle !== undefined;
55
+ }
56
+ get isDisposed() {
57
+ return this.disposed;
58
+ }
59
+ }
60
+ //# sourceMappingURL=FileWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileWriter.js","sourceRoot":"","sources":["../../src/utilities/FileWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,OAAO,UAAU;IAKM;IAJpB,UAAU,CAAS;IACnB,QAAQ,GAAG,KAAK,CAAA;IAChB,WAAW,GAAG,CAAC,CAAA;IAEvB,YAA4B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC5B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAEzB,IAAI,eAAe,GAAG,CAAC,CAAA;QAEvB,OAAO,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,YAAoB,CAAA;YAExB,IAAI,CAAC;gBACJ,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAW,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;YACxG,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBAEpB,MAAM,CAAC,CAAA;YACR,CAAC;YAED,eAAe,IAAI,YAAY,CAAA;YAC/B,IAAI,CAAC,WAAW,IAAI,YAAY,CAAA;QACjC,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,YAAY;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAM;QACP,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAM;QACP,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC;gBACJ,MAAM,KAAK,CAAC,IAAI,CAAC,UAAW,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;QACF,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,CAAA;IACrC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;CACD"}
@@ -0,0 +1 @@
1
+ export declare function getPackageLatestVersion(packageName: string, timeout?: number): Promise<any>;
@@ -0,0 +1,14 @@
1
+ import { request } from 'gaxios';
2
+ export async function getPackageLatestVersion(packageName, timeout = 10000) {
3
+ const response = await request({
4
+ method: 'GET',
5
+ url: `https://registry.npmjs.org/${packageName}/latest`,
6
+ params: {},
7
+ headers: {},
8
+ responseType: 'json',
9
+ timeout,
10
+ });
11
+ const result = response.data;
12
+ return result.version;
13
+ }
14
+ //# sourceMappingURL=NpmUtilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NpmUtilities.js","sourceRoot":"","sources":["../../src/utilities/NpmUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,WAAmB,EAAE,OAAO,GAAG,KAAK;IACjF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAM;QACnC,MAAM,EAAE,KAAK;QAEb,GAAG,EAAE,8BAA8B,WAAW,SAAS;QAEvD,MAAM,EAAE,EACP;QAED,OAAO,EAAE,EACR;QAED,YAAY,EAAE,MAAM;QAEpB,OAAO;KACP,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAA;IAE5B,OAAO,MAAM,CAAC,OAAO,CAAA;AACtB,CAAC"}
@@ -1,13 +1,12 @@
1
- import path from 'node:path';
2
1
  import { downloadAndExtractTarball } from './FileDownloader.js';
3
2
  import { getAppDataDir, ensureDir, existsSync, remove } from './FileSystem.js';
4
3
  import { appName } from '../api/Common.js';
5
- import { getAppTempDir } from './PathUtilities.js';
4
+ import { getAppTempDir, joinPath } from './PathUtilities.js';
6
5
  import { getGlobalOption } from '../api/GlobalOptions.js';
7
6
  export async function loadPackage(packageName) {
8
7
  packageName = resolveToVersionedPackageNameIfNeeded(packageName);
9
8
  const packagesPath = await ensureAndGetPackagesDir();
10
- const packagePath = path.join(packagesPath, packageName);
9
+ const packagePath = joinPath(packagesPath, packageName);
11
10
  if (existsSync(packagePath)) {
12
11
  return packagePath;
13
12
  }
@@ -24,12 +23,12 @@ export async function loadPackage(packageName) {
24
23
  export async function removePackage(packageName) {
25
24
  packageName = resolveToVersionedPackageNameIfNeeded(packageName);
26
25
  const packagesPath = await ensureAndGetPackagesDir();
27
- const packagePath = path.join(packagesPath, packageName);
26
+ const packagePath = joinPath(packagesPath, packageName);
28
27
  await remove(packagePath);
29
28
  }
30
29
  export async function ensureAndGetPackagesDir() {
31
30
  const dataPath = getAppDataDir(appName);
32
- const packagesPath = path.join(dataPath, 'packages');
31
+ const packagesPath = joinPath(dataPath, 'packages');
33
32
  await ensureDir(packagesPath);
34
33
  return packagesPath;
35
34
  }
@@ -162,5 +161,8 @@ const packageVersionTagResolutionLookup = {
162
161
  // W2V-BERT models
163
162
  'w2v-bert-2.0-int8': '20240517',
164
163
  'w2v-bert-2.0-uint8': '20240517',
164
+ // NSNet2 models
165
+ 'nsnet2-20ms-baseline': '20242610',
166
+ 'nsnet2-20ms-48k-baseline': '20242610',
165
167
  };
166
168
  //# 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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"}
@@ -1,4 +1,12 @@
1
+ import * as NodePath from 'node:path';
1
2
  export declare function getModuleRootDir(): string;
2
3
  export declare function resolveToModuleRootDir(relativePath: string): string;
3
4
  export declare function getLowercaseFileExtension(filename: string): string;
4
5
  export declare function getAppTempDir(appName: string): string;
6
+ export declare function joinPath(...paths: string[]): string;
7
+ export declare function resolvePath(...paths: string[]): string;
8
+ export declare function normalizePath(path: string): string;
9
+ export declare function getBaseName(path: string): string;
10
+ export declare function getDirName(path: string): string;
11
+ export declare function getFileNameWithoutExtension(filePath: string): string;
12
+ export declare function parsePath(path: string): NodePath.ParsedPath;