echogarden 0.0.1 → 0.1.0
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.
- package/README.md +59 -1
- package/data/lexicons/heteronyms.json +674 -0
- package/data/schemas/options.json +1057 -0
- package/data/tables/lcid-table.json +7427 -0
- package/dist/alignment/DTWMfccSequenceAlignment.d.ts +2 -0
- package/dist/alignment/DTWMfccSequenceAlignment.js +26 -0
- package/dist/alignment/DTWMfccSequenceAlignment.js.map +1 -0
- package/dist/alignment/DTWSequenceAlignment.d.ts +5 -0
- package/dist/alignment/DTWSequenceAlignment.js +99 -0
- package/dist/alignment/DTWSequenceAlignment.js.map +1 -0
- package/dist/alignment/DTWSequenceAlignmentWindowed.d.ts +5 -0
- package/dist/alignment/DTWSequenceAlignmentWindowed.js +161 -0
- package/dist/alignment/DTWSequenceAlignmentWindowed.js.map +1 -0
- package/dist/alignment/LevenshteinSequenceAlignment.d.ts +5 -0
- package/dist/alignment/LevenshteinSequenceAlignment.js +102 -0
- package/dist/alignment/LevenshteinSequenceAlignment.js.map +1 -0
- package/dist/alignment/SpeechAlignment.d.ts +27 -0
- package/dist/alignment/SpeechAlignment.js +266 -0
- package/dist/alignment/SpeechAlignment.js.map +1 -0
- package/dist/api/API.d.ts +8 -0
- package/dist/api/API.js +10 -0
- package/dist/api/API.js.map +1 -0
- package/dist/api/APIOptions.d.ts +12 -0
- package/dist/api/APIOptions.js +2 -0
- package/dist/api/APIOptions.js.map +1 -0
- package/dist/api/Alignment.d.ts +32 -0
- package/dist/api/Alignment.js +134 -0
- package/dist/api/Alignment.js.map +1 -0
- package/dist/api/Denoising.d.ts +14 -0
- package/dist/api/Denoising.js +66 -0
- package/dist/api/Denoising.js.map +1 -0
- package/dist/api/Globals.d.ts +1 -0
- package/dist/api/Globals.js +2 -0
- package/dist/api/Globals.js.map +1 -0
- package/dist/api/LanguageDetection.d.ts +49 -0
- package/dist/api/LanguageDetection.js +118 -0
- package/dist/api/LanguageDetection.js.map +1 -0
- package/dist/api/Recognition.d.ts +49 -0
- package/dist/api/Recognition.js +162 -0
- package/dist/api/Recognition.js.map +1 -0
- package/dist/api/Synthesis.d.ts +125 -0
- package/dist/api/Synthesis.js +892 -0
- package/dist/api/Synthesis.js.map +1 -0
- package/dist/api/Translation.d.ts +25 -0
- package/dist/api/Translation.js +69 -0
- package/dist/api/Translation.js.map +1 -0
- package/dist/api/Vad.d.ts +25 -0
- package/dist/api/Vad.js +88 -0
- package/dist/api/Vad.js.map +1 -0
- package/dist/audio/AudioBufferConversion.d.ts +15 -0
- package/dist/audio/AudioBufferConversion.js +228 -0
- package/dist/audio/AudioBufferConversion.js.map +1 -0
- package/dist/audio/AudioPlayer.d.ts +9 -0
- package/dist/audio/AudioPlayer.js +232 -0
- package/dist/audio/AudioPlayer.js.map +1 -0
- package/dist/audio/AudioRecorder.d.ts +3 -0
- package/dist/audio/AudioRecorder.js +68 -0
- package/dist/audio/AudioRecorder.js.map +1 -0
- package/dist/audio/AudioUtilities.d.ts +48 -0
- package/dist/audio/AudioUtilities.js +209 -0
- package/dist/audio/AudioUtilities.js.map +1 -0
- package/dist/audio/SoxPath.d.ts +1 -0
- package/dist/audio/SoxPath.js +19 -0
- package/dist/audio/SoxPath.js.map +1 -0
- package/dist/cli/CLI.d.ts +8 -0
- package/dist/cli/CLI.js +860 -0
- package/dist/cli/CLI.js.map +1 -0
- package/dist/cli/CLIConfigFile.d.ts +3 -0
- package/dist/cli/CLIConfigFile.js +62 -0
- package/dist/cli/CLIConfigFile.js.map +1 -0
- package/dist/cli/CLILauncher.d.ts +2 -0
- package/dist/cli/CLILauncher.js +22 -0
- package/dist/cli/CLILauncher.js.map +1 -0
- package/dist/cli/CLIOptionsSchema.d.ts +5 -0
- package/dist/cli/CLIOptionsSchema.js +36 -0
- package/dist/cli/CLIOptionsSchema.js.map +1 -0
- package/dist/cli/CLIParser.d.ts +6 -0
- package/dist/cli/CLIParser.js +34 -0
- package/dist/cli/CLIParser.js.map +1 -0
- package/dist/cli/CLIStarter.d.ts +1 -0
- package/dist/cli/CLIStarter.js +3 -0
- package/dist/cli/CLIStarter.js.map +1 -0
- package/dist/codecs/FFMpegTranscoder.d.ts +20 -0
- package/dist/codecs/FFMpegTranscoder.js +169 -0
- package/dist/codecs/FFMpegTranscoder.js.map +1 -0
- package/dist/codecs/TIMITCodec.d.ts +9 -0
- package/dist/codecs/TIMITCodec.js +14 -0
- package/dist/codecs/TIMITCodec.js.map +1 -0
- package/dist/codecs/WaveCodec.d.ts +19 -0
- package/dist/codecs/WaveCodec.js +208 -0
- package/dist/codecs/WaveCodec.js.map +1 -0
- package/dist/denoising/RNNoise.d.ts +6 -0
- package/dist/denoising/RNNoise.js +68 -0
- package/dist/denoising/RNNoise.js.map +1 -0
- package/dist/dsp/BiquadFilter.d.ts +26 -0
- package/dist/dsp/BiquadFilter.js +399 -0
- package/dist/dsp/BiquadFilter.js.map +1 -0
- package/dist/dsp/FFT.d.ts +9 -0
- package/dist/dsp/FFT.js +135 -0
- package/dist/dsp/FFT.js.map +1 -0
- package/dist/dsp/MFCC.d.ts +25 -0
- package/dist/dsp/MFCC.js +162 -0
- package/dist/dsp/MFCC.js.map +1 -0
- package/dist/dsp/MelSpectogram.d.ts +19 -0
- package/dist/dsp/MelSpectogram.js +102 -0
- package/dist/dsp/MelSpectogram.js.map +1 -0
- package/dist/dsp/Rubberband.d.ts +52 -0
- package/dist/dsp/Rubberband.js +186 -0
- package/dist/dsp/Rubberband.js.map +1 -0
- package/dist/dsp/Sonic.d.ts +2 -0
- package/dist/dsp/Sonic.js +39 -0
- package/dist/dsp/Sonic.js.map +1 -0
- package/dist/dsp/SpeexResampler.d.ts +3 -0
- package/dist/dsp/SpeexResampler.js +53 -0
- package/dist/dsp/SpeexResampler.js.map +1 -0
- package/dist/math/VectorMath.d.ts +70 -0
- package/dist/math/VectorMath.js +564 -0
- package/dist/math/VectorMath.js.map +1 -0
- package/dist/nlp/ChineseSegmentation.d.ts +1 -0
- package/dist/nlp/ChineseSegmentation.js +53 -0
- package/dist/nlp/ChineseSegmentation.js.map +1 -0
- package/dist/nlp/CompromiseNLP.d.ts +15 -0
- package/dist/nlp/CompromiseNLP.js +66 -0
- package/dist/nlp/CompromiseNLP.js.map +1 -0
- package/dist/nlp/EspeakPhonemizer.d.ts +4 -0
- package/dist/nlp/EspeakPhonemizer.js +133 -0
- package/dist/nlp/EspeakPhonemizer.js.map +1 -0
- package/dist/nlp/IPA.d.ts +19 -0
- package/dist/nlp/IPA.js +113 -0
- package/dist/nlp/IPA.js.map +1 -0
- package/dist/nlp/JapaneseSegmentation.d.ts +1 -0
- package/dist/nlp/JapaneseSegmentation.js +40 -0
- package/dist/nlp/JapaneseSegmentation.js.map +1 -0
- package/dist/nlp/Lexicon.d.ts +17 -0
- package/dist/nlp/Lexicon.js +6 -0
- package/dist/nlp/Lexicon.js.map +1 -0
- package/dist/nlp/PhoneConversion.d.ts +6 -0
- package/dist/nlp/PhoneConversion.js +467 -0
- package/dist/nlp/PhoneConversion.js.map +1 -0
- package/dist/nlp/Segmentation.d.ts +41 -0
- package/dist/nlp/Segmentation.js +158 -0
- package/dist/nlp/Segmentation.js.map +1 -0
- package/dist/nlp/TextNormalizer.d.ts +4 -0
- package/dist/nlp/TextNormalizer.js +69 -0
- package/dist/nlp/TextNormalizer.js.map +1 -0
- package/dist/recognition/AmazonTranscribeSTT.d.ts +6 -0
- package/dist/recognition/AmazonTranscribeSTT.js +79 -0
- package/dist/recognition/AmazonTranscribeSTT.js.map +1 -0
- package/dist/recognition/AzureCognitiveServicesSTT.d.ts +7 -0
- package/dist/recognition/AzureCognitiveServicesSTT.js +51 -0
- package/dist/recognition/AzureCognitiveServicesSTT.js.map +1 -0
- package/dist/recognition/GoogleCloudSTT.d.ts +7 -0
- package/dist/recognition/GoogleCloudSTT.js +66 -0
- package/dist/recognition/GoogleCloudSTT.js.map +1 -0
- package/dist/recognition/SileroSTT.d.ts +9 -0
- package/dist/recognition/SileroSTT.js +125 -0
- package/dist/recognition/SileroSTT.js.map +1 -0
- package/dist/recognition/VoskSTT.d.ts +10 -0
- package/dist/recognition/VoskSTT.js +78 -0
- package/dist/recognition/VoskSTT.js.map +1 -0
- package/dist/recognition/WhisperSTT.d.ts +69 -0
- package/dist/recognition/WhisperSTT.js +977 -0
- package/dist/recognition/WhisperSTT.js.map +1 -0
- package/dist/server/Server.d.ts +1 -0
- package/dist/server/Server.js +18 -0
- package/dist/server/Server.js.map +1 -0
- package/dist/speech-language-detection/SileroLanguageDetection.d.ts +9 -0
- package/dist/speech-language-detection/SileroLanguageDetection.js +47 -0
- package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -0
- package/dist/subtitles/Subtitles.d.ts +25 -0
- package/dist/subtitles/Subtitles.js +286 -0
- package/dist/subtitles/Subtitles.js.map +1 -0
- package/dist/synthesis/AwsPollyTTS.d.ts +7 -0
- package/dist/synthesis/AwsPollyTTS.js +51 -0
- package/dist/synthesis/AwsPollyTTS.js.map +1 -0
- package/dist/synthesis/AzureCognitiveServicesTTS.d.ts +9 -0
- package/dist/synthesis/AzureCognitiveServicesTTS.js +103 -0
- package/dist/synthesis/AzureCognitiveServicesTTS.js.map +1 -0
- package/dist/synthesis/CoquiServerTTS.d.ts +6 -0
- package/dist/synthesis/CoquiServerTTS.js +22 -0
- package/dist/synthesis/CoquiServerTTS.js.map +1 -0
- package/dist/synthesis/ElevenLabsTTS.d.ts +8 -0
- package/dist/synthesis/ElevenLabsTTS.js +48 -0
- package/dist/synthesis/ElevenLabsTTS.js.map +1 -0
- package/dist/synthesis/EspeakTTS.d.ts +46 -0
- package/dist/synthesis/EspeakTTS.js +353 -0
- package/dist/synthesis/EspeakTTS.js.map +1 -0
- package/dist/synthesis/FliteTTS.d.ts +17 -0
- package/dist/synthesis/FliteTTS.js +326 -0
- package/dist/synthesis/FliteTTS.js.map +1 -0
- package/dist/synthesis/GoogleCloudTTS.d.ts +16 -0
- package/dist/synthesis/GoogleCloudTTS.js +72 -0
- package/dist/synthesis/GoogleCloudTTS.js.map +1 -0
- package/dist/synthesis/GoogleTranslateTTS.d.ts +13 -0
- package/dist/synthesis/GoogleTranslateTTS.js +177 -0
- package/dist/synthesis/GoogleTranslateTTS.js.map +1 -0
- package/dist/synthesis/MicrosoftEdgeTTS.d.ts +10 -0
- package/dist/synthesis/MicrosoftEdgeTTS.js +216 -0
- package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -0
- package/dist/synthesis/SamTTS.d.ts +4 -0
- package/dist/synthesis/SamTTS.js +21 -0
- package/dist/synthesis/SamTTS.js.map +1 -0
- package/dist/synthesis/SapiTTS.d.ts +9 -0
- package/dist/synthesis/SapiTTS.js +211 -0
- package/dist/synthesis/SapiTTS.js.map +1 -0
- package/dist/synthesis/StreamlabsPollyTTS.d.ts +12 -0
- package/dist/synthesis/StreamlabsPollyTTS.js +88 -0
- package/dist/synthesis/StreamlabsPollyTTS.js.map +1 -0
- package/dist/synthesis/SvoxPicoTTS.d.ts +11 -0
- package/dist/synthesis/SvoxPicoTTS.js +236 -0
- package/dist/synthesis/SvoxPicoTTS.js.map +1 -0
- package/dist/synthesis/VitsTTS.d.ts +27 -0
- package/dist/synthesis/VitsTTS.js +359 -0
- package/dist/synthesis/VitsTTS.js.map +1 -0
- package/dist/tests/Test.d.ts +1 -0
- package/dist/tests/Test.js +10 -0
- package/dist/tests/Test.js.map +1 -0
- package/dist/text-language-detection/FastTextLanguageDetection.d.ts +2 -0
- package/dist/text-language-detection/FastTextLanguageDetection.js +38 -0
- package/dist/text-language-detection/FastTextLanguageDetection.js.map +1 -0
- package/dist/text-language-detection/TinyLDLanguageDetection.d.ts +2 -0
- package/dist/text-language-detection/TinyLDLanguageDetection.js +12 -0
- package/dist/text-language-detection/TinyLDLanguageDetection.js.map +1 -0
- package/dist/utilities/BinaryArrayConversion.d.ts +15 -0
- package/dist/utilities/BinaryArrayConversion.js +115 -0
- package/dist/utilities/BinaryArrayConversion.js.map +1 -0
- package/dist/utilities/Compression.d.ts +4 -0
- package/dist/utilities/Compression.js +67 -0
- package/dist/utilities/Compression.js.map +1 -0
- package/dist/utilities/FileDownloader.d.ts +3 -0
- package/dist/utilities/FileDownloader.js +147 -0
- package/dist/utilities/FileDownloader.js.map +1 -0
- package/dist/utilities/FileSystem.d.ts +30 -0
- package/dist/utilities/FileSystem.js +141 -0
- package/dist/utilities/FileSystem.js.map +1 -0
- package/dist/utilities/Hashing.d.ts +10 -0
- package/dist/utilities/Hashing.js +169 -0
- package/dist/utilities/Hashing.js.map +1 -0
- package/dist/utilities/Locale.d.ts +9 -0
- package/dist/utilities/Locale.js +65 -0
- package/dist/utilities/Locale.js.map +1 -0
- package/dist/utilities/Logger.d.ts +11 -0
- package/dist/utilities/Logger.js +49 -0
- package/dist/utilities/Logger.js.map +1 -0
- package/dist/utilities/NdArrayUtilities.d.ts +3 -0
- package/dist/utilities/NdArrayUtilities.js +22 -0
- package/dist/utilities/NdArrayUtilities.js.map +1 -0
- package/dist/utilities/ObjectUtilities.d.ts +4 -0
- package/dist/utilities/ObjectUtilities.js +132 -0
- package/dist/utilities/ObjectUtilities.js.map +1 -0
- package/dist/utilities/OpenPromise.d.ts +6 -0
- package/dist/utilities/OpenPromise.js +12 -0
- package/dist/utilities/OpenPromise.js.map +1 -0
- package/dist/utilities/PackageManager.d.ts +4 -0
- package/dist/utilities/PackageManager.js +46 -0
- package/dist/utilities/PackageManager.js.map +1 -0
- package/dist/utilities/RandomGenerator.d.ts +35 -0
- package/dist/utilities/RandomGenerator.js +149 -0
- package/dist/utilities/RandomGenerator.js.map +1 -0
- package/dist/utilities/TarballMaker.d.ts +4 -0
- package/dist/utilities/TarballMaker.js +50 -0
- package/dist/utilities/TarballMaker.js.map +1 -0
- package/dist/utilities/Timeline.d.ts +20 -0
- package/dist/utilities/Timeline.js +110 -0
- package/dist/utilities/Timeline.js.map +1 -0
- package/dist/utilities/Timer.d.ts +13 -0
- package/dist/utilities/Timer.js +70 -0
- package/dist/utilities/Timer.js.map +1 -0
- package/dist/utilities/Utilities.d.ts +68 -0
- package/dist/utilities/Utilities.js +305 -0
- package/dist/utilities/Utilities.js.map +1 -0
- package/dist/utilities/WasmMemoryManager.d.ts +142 -0
- package/dist/utilities/WasmMemoryManager.js +407 -0
- package/dist/utilities/WasmMemoryManager.js.map +1 -0
- package/dist/utilities/WebReader.d.ts +1 -0
- package/dist/utilities/WebReader.js +47 -0
- package/dist/utilities/WebReader.js.map +1 -0
- package/dist/utilities/WikipediaReader.d.ts +1 -0
- package/dist/utilities/WikipediaReader.js +31 -0
- package/dist/utilities/WikipediaReader.js.map +1 -0
- package/dist/voice-activity-detection/SileroVAD.d.ts +13 -0
- package/dist/voice-activity-detection/SileroVAD.js +58 -0
- package/dist/voice-activity-detection/SileroVAD.js.map +1 -0
- package/dist/voice-activity-detection/WebRtcVAD.d.ts +3 -0
- package/dist/voice-activity-detection/WebRtcVAD.js +53 -0
- package/dist/voice-activity-detection/WebRtcVAD.js.map +1 -0
- package/docs/CLI.md +234 -0
- package/docs/Development.md +3 -0
- package/docs/Engines.md +80 -0
- package/docs/Licenses.md +37 -0
- package/docs/Options.md +192 -0
- package/docs/Roadmap.md +16 -0
- package/docs/Technical.md +72 -0
- package/package.json +119 -19
- package/cli.js +0 -3
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import * as readline from 'node:readline';
|
|
2
|
+
import { inspect } from 'node:util';
|
|
3
|
+
const log = logToStderr;
|
|
4
|
+
export function concatFloat32Arrays(arrays) {
|
|
5
|
+
return concatTypedArrays(Float32Array, arrays);
|
|
6
|
+
}
|
|
7
|
+
function concatTypedArrays(ArrayConstructor, arrays) {
|
|
8
|
+
let totalLength = 0;
|
|
9
|
+
for (const arr of arrays) {
|
|
10
|
+
totalLength += arr.length;
|
|
11
|
+
}
|
|
12
|
+
const result = new ArrayConstructor(totalLength);
|
|
13
|
+
let offset = 0;
|
|
14
|
+
for (const arr of arrays) {
|
|
15
|
+
result.set(arr, offset);
|
|
16
|
+
offset += arr.length;
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
export function shuffleArray(array, randomGen) {
|
|
21
|
+
return shuffleArrayInPlace(array.slice(), randomGen);
|
|
22
|
+
}
|
|
23
|
+
export function shuffleArrayInPlace(array, randomGen) {
|
|
24
|
+
const vectorCount = array.length;
|
|
25
|
+
for (let i = 0; i < vectorCount - 1; i++) {
|
|
26
|
+
const value = array[i];
|
|
27
|
+
const targetIndex = randomGen.getIntInRange(i + 1, vectorCount);
|
|
28
|
+
array[i] = array[targetIndex];
|
|
29
|
+
array[targetIndex] = value;
|
|
30
|
+
}
|
|
31
|
+
return array;
|
|
32
|
+
}
|
|
33
|
+
export function simplifyPunctuationCharacters(text) {
|
|
34
|
+
return text
|
|
35
|
+
.replaceAll("“", "\"")
|
|
36
|
+
.replaceAll("”", "\"")
|
|
37
|
+
.replaceAll("„", "\"")
|
|
38
|
+
.replaceAll(`ߵ`, `"`)
|
|
39
|
+
.replaceAll(`ߴ`, `"`)
|
|
40
|
+
.replaceAll(`’`, `'`)
|
|
41
|
+
.replaceAll(`ʼ`, `'`)
|
|
42
|
+
.replaceAll(`ʼ`, `'`)
|
|
43
|
+
.replaceAll(`'`, `'`)
|
|
44
|
+
.replaceAll(",", ",")
|
|
45
|
+
.replaceAll("、", ",")
|
|
46
|
+
.replaceAll(":", ":")
|
|
47
|
+
.replaceAll(";", ";")
|
|
48
|
+
.replaceAll("。", ".");
|
|
49
|
+
}
|
|
50
|
+
export function writeToStderr(message) {
|
|
51
|
+
process.stderr.write(message);
|
|
52
|
+
}
|
|
53
|
+
export function printToStderr(message) {
|
|
54
|
+
if (typeof message == 'string') {
|
|
55
|
+
writeToStderr(message);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
writeToStderr(objToString(message));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function logToStderr(message) {
|
|
62
|
+
printToStderr(message);
|
|
63
|
+
writeToStderr("\n");
|
|
64
|
+
}
|
|
65
|
+
export function objToString(obj) {
|
|
66
|
+
const formattedString = inspect(obj, {
|
|
67
|
+
showHidden: false,
|
|
68
|
+
depth: null,
|
|
69
|
+
colors: false,
|
|
70
|
+
maxArrayLength: null,
|
|
71
|
+
maxStringLength: null,
|
|
72
|
+
compact: 5,
|
|
73
|
+
});
|
|
74
|
+
return formattedString;
|
|
75
|
+
}
|
|
76
|
+
export function getRandomHexString(charCount, upperCase = false) {
|
|
77
|
+
const letters = "0123456789abcdef";
|
|
78
|
+
let result = "";
|
|
79
|
+
for (let i = 0; i < charCount; i++) {
|
|
80
|
+
result += letters[Math.floor(Math.random() * letters.length)];
|
|
81
|
+
}
|
|
82
|
+
if (upperCase) {
|
|
83
|
+
result = result.toUpperCase();
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
export function sumArray(arr, valueGetter) {
|
|
88
|
+
let sum = 0;
|
|
89
|
+
for (let i = 0; i < arr.length; i++) {
|
|
90
|
+
sum += valueGetter(arr[i]);
|
|
91
|
+
}
|
|
92
|
+
return sum;
|
|
93
|
+
}
|
|
94
|
+
export function includesAnyOf(str, substrings) {
|
|
95
|
+
return indexOfAnyOf(str, substrings) >= 0;
|
|
96
|
+
}
|
|
97
|
+
export function indexOfAnyOf(str, substrings) {
|
|
98
|
+
for (const substring of substrings) {
|
|
99
|
+
const index = str.indexOf(substring);
|
|
100
|
+
if (index >= 0) {
|
|
101
|
+
return index;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return -1;
|
|
105
|
+
}
|
|
106
|
+
export function startsWithAnyOf(str, prefixes) {
|
|
107
|
+
for (const prefix of prefixes) {
|
|
108
|
+
if (str.startsWith(prefix)) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
export function roundToDigits(val, digits = 3) {
|
|
115
|
+
const multiplier = 10 ** digits;
|
|
116
|
+
return Math.round(val * multiplier) / multiplier;
|
|
117
|
+
}
|
|
118
|
+
export function delay(timeMs) {
|
|
119
|
+
return new Promise((resolve) => {
|
|
120
|
+
setTimeout(resolve, timeMs);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
export function printMatrix(matrix) {
|
|
124
|
+
const rowCount = matrix.length;
|
|
125
|
+
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
126
|
+
log(matrix[rowIndex].join(", "));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
export function stringifyAndFormatJson(obj) {
|
|
130
|
+
return JSON.stringify(obj, undefined, 4);
|
|
131
|
+
}
|
|
132
|
+
export function secondsToHMS(totalSeconds) {
|
|
133
|
+
let remainingSeconds = totalSeconds;
|
|
134
|
+
const hours = Math.floor(remainingSeconds / 60 / 60);
|
|
135
|
+
remainingSeconds -= hours * 60 * 60;
|
|
136
|
+
const minutes = Math.floor(remainingSeconds / 60);
|
|
137
|
+
remainingSeconds -= minutes * 60;
|
|
138
|
+
const seconds = Math.floor(remainingSeconds);
|
|
139
|
+
remainingSeconds -= seconds;
|
|
140
|
+
const milliseconds = Math.floor(remainingSeconds * 1000);
|
|
141
|
+
return { hours, minutes, seconds, milliseconds };
|
|
142
|
+
}
|
|
143
|
+
export function secondsToMS(totalSeconds) {
|
|
144
|
+
const { hours, minutes, seconds, milliseconds } = secondsToHMS(totalSeconds);
|
|
145
|
+
return { minutes: (hours * 60) + minutes, seconds, milliseconds };
|
|
146
|
+
}
|
|
147
|
+
export function formatHMS(timeHMS, decimalSeparator = ".") {
|
|
148
|
+
return `${formatIntegerWithLeadingZeros(timeHMS.hours, 2)}:${formatIntegerWithLeadingZeros(timeHMS.minutes, 2)}:${formatIntegerWithLeadingZeros(timeHMS.seconds, 2)}${decimalSeparator}${formatIntegerWithLeadingZeros(timeHMS.milliseconds, 3)}`;
|
|
149
|
+
}
|
|
150
|
+
export function formatMS(timeMS, decimalSeparator = ".") {
|
|
151
|
+
return `${formatIntegerWithLeadingZeros(timeMS.minutes, 2)}:${formatIntegerWithLeadingZeros(timeMS.seconds, 2)}${decimalSeparator}${formatIntegerWithLeadingZeros(timeMS.milliseconds, 3)}`;
|
|
152
|
+
}
|
|
153
|
+
export function formatIntegerWithLeadingZeros(num, minDigitCount) {
|
|
154
|
+
num = Math.floor(num);
|
|
155
|
+
let numAsString = `${num}`;
|
|
156
|
+
while (numAsString.length < minDigitCount) {
|
|
157
|
+
numAsString = `0${numAsString}`;
|
|
158
|
+
}
|
|
159
|
+
return numAsString;
|
|
160
|
+
}
|
|
161
|
+
export function intsInRange(start, end) {
|
|
162
|
+
const result = [];
|
|
163
|
+
for (let i = start; i < end; i++) {
|
|
164
|
+
result.push(i);
|
|
165
|
+
}
|
|
166
|
+
return result;
|
|
167
|
+
}
|
|
168
|
+
export function randomIntsInRange(count, min, max) {
|
|
169
|
+
const randomArray = [];
|
|
170
|
+
for (let i = 0; i < count; i++) {
|
|
171
|
+
randomArray.push(randomIntInRange(min, max));
|
|
172
|
+
}
|
|
173
|
+
return randomArray;
|
|
174
|
+
}
|
|
175
|
+
export function randomIntInRange(min, max) {
|
|
176
|
+
return Math.floor(randomFloatInRange(min, max));
|
|
177
|
+
}
|
|
178
|
+
export function randomFloatsInRange(count, min = 0.0, max = 1.0) {
|
|
179
|
+
const randomVector = [];
|
|
180
|
+
for (let i = 0; i < count; i++) {
|
|
181
|
+
randomVector.push(randomFloatInRange(min, max));
|
|
182
|
+
}
|
|
183
|
+
return randomVector;
|
|
184
|
+
}
|
|
185
|
+
export function randomFloatInRange(min, max) {
|
|
186
|
+
return min + Math.random() * (max - min);
|
|
187
|
+
}
|
|
188
|
+
export function serializeMapToObject(map) {
|
|
189
|
+
const obj = {};
|
|
190
|
+
for (const [key, value] of map) {
|
|
191
|
+
obj[key] = value;
|
|
192
|
+
}
|
|
193
|
+
return obj;
|
|
194
|
+
}
|
|
195
|
+
export function deserializeObjectToMap(obj) {
|
|
196
|
+
const map = new Map();
|
|
197
|
+
for (const key in obj) {
|
|
198
|
+
map.set(key, obj[key]);
|
|
199
|
+
}
|
|
200
|
+
return map;
|
|
201
|
+
}
|
|
202
|
+
export function waitTimeout(timeout = 0) {
|
|
203
|
+
return new Promise((resolve) => setTimeout(() => {
|
|
204
|
+
resolve();
|
|
205
|
+
}, timeout));
|
|
206
|
+
}
|
|
207
|
+
export function waitImmediate() {
|
|
208
|
+
return new Promise((resolve) => setImmediate(() => {
|
|
209
|
+
resolve();
|
|
210
|
+
}));
|
|
211
|
+
}
|
|
212
|
+
export function waitNextTick() {
|
|
213
|
+
return new Promise((resolve) => process.nextTick(() => resolve()));
|
|
214
|
+
}
|
|
215
|
+
export function setupUnhandledExceptionListeners() {
|
|
216
|
+
process.on('unhandledRejection', (e) => {
|
|
217
|
+
log(`Unhandled promise rejection:\n ${e}`);
|
|
218
|
+
process.exit(1);
|
|
219
|
+
});
|
|
220
|
+
process.on('uncaughtException', function (e) {
|
|
221
|
+
log(`Uncaught exception:\n ${e}`);
|
|
222
|
+
process.exit(1);
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
export function setupProgramTerminationListeners() {
|
|
226
|
+
process.on('SIGINT', () => process.exit(0));
|
|
227
|
+
process.on('SIGQUIT', () => process.exit(0));
|
|
228
|
+
process.on('SIGTERM', () => process.exit(0));
|
|
229
|
+
if (process.stdin.isTTY) {
|
|
230
|
+
readline.emitKeypressEvents(process.stdin);
|
|
231
|
+
process.stdin.setRawMode(true);
|
|
232
|
+
process.stdin.on('keypress', (str, key) => {
|
|
233
|
+
if (key.name == 'escape') {
|
|
234
|
+
process.exit(0);
|
|
235
|
+
}
|
|
236
|
+
if (key.ctrl == true && key.name == 'c') {
|
|
237
|
+
process.exit(0);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
export function clip(num, min, max) {
|
|
243
|
+
return Math.max(min, Math.min(max, num));
|
|
244
|
+
}
|
|
245
|
+
export function readBinaryIncomingMessage(incomingMessage) {
|
|
246
|
+
return new Promise((resolve, reject) => {
|
|
247
|
+
const chunks = [];
|
|
248
|
+
incomingMessage.on("data", (chunk) => {
|
|
249
|
+
chunks.push(Buffer.from(chunk));
|
|
250
|
+
});
|
|
251
|
+
incomingMessage.on("end", () => {
|
|
252
|
+
resolve(Buffer.concat(chunks));
|
|
253
|
+
});
|
|
254
|
+
incomingMessage.on("error", (e) => {
|
|
255
|
+
reject(e);
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
export function splitFloat32Array(nums, partSize) {
|
|
260
|
+
const result = [];
|
|
261
|
+
for (let offset = 0; offset < nums.length; offset += partSize) {
|
|
262
|
+
result.push(nums.subarray(offset, offset + partSize));
|
|
263
|
+
}
|
|
264
|
+
return result;
|
|
265
|
+
}
|
|
266
|
+
export async function sha256AsHex(input) {
|
|
267
|
+
const crypto = await import('crypto');
|
|
268
|
+
const hash = crypto.createHash('sha256').update(input).digest('hex');
|
|
269
|
+
return hash;
|
|
270
|
+
}
|
|
271
|
+
export async function commandExists(command) {
|
|
272
|
+
const { default: commandExists } = await import("command-exists");
|
|
273
|
+
try {
|
|
274
|
+
await commandExists(command);
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
export async function convertHtmlToText(html) {
|
|
282
|
+
const { convert } = await import('html-to-text');
|
|
283
|
+
const text = convert(html, {
|
|
284
|
+
wordwrap: null,
|
|
285
|
+
selectors: [
|
|
286
|
+
{ selector: 'a', options: { ignoreHref: true } },
|
|
287
|
+
{ selector: 'img', format: 'skip' },
|
|
288
|
+
{ selector: 'h1', options: { uppercase: false } },
|
|
289
|
+
{ selector: 'h2', options: { uppercase: false } },
|
|
290
|
+
{ selector: 'h3', options: { uppercase: false } },
|
|
291
|
+
{ selector: 'h4', options: { uppercase: false } },
|
|
292
|
+
{ selector: 'table', options: { uppercaseHeaderCells: false } }
|
|
293
|
+
]
|
|
294
|
+
});
|
|
295
|
+
return text || "";
|
|
296
|
+
}
|
|
297
|
+
export function formatListWithQuotedElements(strings, quoteSymbol = `'`) {
|
|
298
|
+
return strings.map(str => `${quoteSymbol}${str}${quoteSymbol}`).join(", ");
|
|
299
|
+
}
|
|
300
|
+
export async function resolveModuleMainPath(moduleName) {
|
|
301
|
+
const { resolve } = await import('import-meta-resolve');
|
|
302
|
+
const { fileURLToPath } = await import('url');
|
|
303
|
+
return fileURLToPath(await resolve(moduleName, import.meta.url));
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=Utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../../src/utilities/Utilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
export declare class WasmMemoryManager {
|
|
2
|
+
wasmModule: any;
|
|
3
|
+
private allocatedReferences;
|
|
4
|
+
constructor(wasmModule: any);
|
|
5
|
+
allocInt8(): Int8Ref;
|
|
6
|
+
wrapInt8(address: number): Int8Ref;
|
|
7
|
+
allocUint8(): Uint8Ref;
|
|
8
|
+
wrapUint8(address: number): Uint8Ref;
|
|
9
|
+
allocInt16(): Int16Ref;
|
|
10
|
+
wrapInt16(address: number): Int16Ref;
|
|
11
|
+
allocUint16(): Uint16Ref;
|
|
12
|
+
wrapUint16(address: number): Uint16Ref;
|
|
13
|
+
allocInt32(): Int32Ref;
|
|
14
|
+
wrapInt32(address: number): Int32Ref;
|
|
15
|
+
allocUint32(): Uint32Ref;
|
|
16
|
+
wrapUint32(address: number): Uint32Ref;
|
|
17
|
+
allocPointer(): PointerRef;
|
|
18
|
+
wrapPointer(address: number): PointerRef;
|
|
19
|
+
allocFloat32(): Float64Ref;
|
|
20
|
+
wrapFloat32(address: number): Float32Ref;
|
|
21
|
+
allocFloat64(): Float64Ref;
|
|
22
|
+
wrapFloat64(address: number): Float64Ref;
|
|
23
|
+
allocInt8Array(length: number): Int8ArrayRef;
|
|
24
|
+
wrapInt8Array(address: number, length: number): Int8ArrayRef;
|
|
25
|
+
allocUint8Array(length: number): Uint8ArrayRef;
|
|
26
|
+
wrapUint8Array(address: number, length: number): Uint8ArrayRef;
|
|
27
|
+
allocInt16Array(length: number): Int16ArrayRef;
|
|
28
|
+
wrapInt16Array(address: number, length: number): Int16ArrayRef;
|
|
29
|
+
allocUint16Array(length: number): Uint16ArrayRef;
|
|
30
|
+
wrapUint16Array(address: number, length: number): Uint16ArrayRef;
|
|
31
|
+
allocInt32Array(length: number): Int32ArrayRef;
|
|
32
|
+
wrapInt32Array(address: number, length: number): Int32ArrayRef;
|
|
33
|
+
allocUint32Array(length: number): Uint32ArrayRef;
|
|
34
|
+
wrapUint32Array(address: number, length: number): Uint32ArrayRef;
|
|
35
|
+
allocFloat32Array(length: number): Float32ArrayRef;
|
|
36
|
+
wrapFloat32Array(address: number, length: number): Float32ArrayRef;
|
|
37
|
+
allocFloat64Array(length: number): Float64ArrayRef;
|
|
38
|
+
wrapFloat64Array(address: number, length: number): Float64ArrayRef;
|
|
39
|
+
allocNullTerminatedUtf8String(str: string): Uint8ArrayRef;
|
|
40
|
+
wrapNullTerminatedUtf8String(address: number): NullTerminatedUtf8StringRef;
|
|
41
|
+
private alloc;
|
|
42
|
+
free(wasmReference: WasmRef): void;
|
|
43
|
+
freeAll(): void;
|
|
44
|
+
}
|
|
45
|
+
declare abstract class ValueRef<T extends number | string> {
|
|
46
|
+
protected ptr: number;
|
|
47
|
+
private readonly manager;
|
|
48
|
+
protected get module(): any;
|
|
49
|
+
constructor(ptr: number, manager: WasmMemoryManager);
|
|
50
|
+
get value(): T;
|
|
51
|
+
set value(newValue: T);
|
|
52
|
+
abstract getValue(): T;
|
|
53
|
+
abstract setValue(newValue: T): void;
|
|
54
|
+
get address(): number;
|
|
55
|
+
clear(): this;
|
|
56
|
+
free(): void;
|
|
57
|
+
clearAddress(): void;
|
|
58
|
+
get isFreed(): boolean;
|
|
59
|
+
protected assertNotFreed(): void;
|
|
60
|
+
}
|
|
61
|
+
export declare class Int8Ref extends ValueRef<number> {
|
|
62
|
+
getValue(): number;
|
|
63
|
+
setValue(newValue: number): void;
|
|
64
|
+
}
|
|
65
|
+
export declare class Uint8Ref extends ValueRef<number> {
|
|
66
|
+
getValue(): number;
|
|
67
|
+
setValue(newValue: number): void;
|
|
68
|
+
}
|
|
69
|
+
export declare class Int16Ref extends ValueRef<number> {
|
|
70
|
+
getValue(): number;
|
|
71
|
+
setValue(newValue: number): void;
|
|
72
|
+
}
|
|
73
|
+
export declare class Uint16Ref extends ValueRef<number> {
|
|
74
|
+
getValue(): number;
|
|
75
|
+
setValue(newValue: number): void;
|
|
76
|
+
}
|
|
77
|
+
export declare class Int32Ref extends ValueRef<number> {
|
|
78
|
+
getValue(): number;
|
|
79
|
+
setValue(newValue: number): void;
|
|
80
|
+
}
|
|
81
|
+
export declare class Uint32Ref extends ValueRef<number> {
|
|
82
|
+
getValue(): number;
|
|
83
|
+
setValue(newValue: number): void;
|
|
84
|
+
}
|
|
85
|
+
export declare class PointerRef extends Uint32Ref {
|
|
86
|
+
}
|
|
87
|
+
export declare class Float32Ref extends ValueRef<number> {
|
|
88
|
+
getValue(): number;
|
|
89
|
+
setValue(newValue: number): void;
|
|
90
|
+
}
|
|
91
|
+
export declare class Float64Ref extends ValueRef<number> {
|
|
92
|
+
getValue(): number;
|
|
93
|
+
setValue(newValue: number): void;
|
|
94
|
+
}
|
|
95
|
+
export declare class NullTerminatedUtf8StringRef extends ValueRef<string> {
|
|
96
|
+
getValue(): string;
|
|
97
|
+
setValue(newValue: string): void;
|
|
98
|
+
}
|
|
99
|
+
declare abstract class TypedArrayRef<T extends TypedArray> {
|
|
100
|
+
protected ptr: number;
|
|
101
|
+
readonly length: number;
|
|
102
|
+
private readonly manager;
|
|
103
|
+
get module(): any;
|
|
104
|
+
constructor(ptr: number, length: number, manager: WasmMemoryManager);
|
|
105
|
+
get view(): T;
|
|
106
|
+
protected abstract getView(): T;
|
|
107
|
+
slice(start?: number, end?: number): Float32Array | Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | Int8Array | Int16Array | Int32Array | Float64Array;
|
|
108
|
+
get address(): number;
|
|
109
|
+
clear(): this;
|
|
110
|
+
free(): void;
|
|
111
|
+
clearAddress(): void;
|
|
112
|
+
get isFreed(): boolean;
|
|
113
|
+
protected assertNotFreed(): void;
|
|
114
|
+
}
|
|
115
|
+
export declare class Int8ArrayRef extends TypedArrayRef<Int8Array> {
|
|
116
|
+
getView(): Int8Array;
|
|
117
|
+
}
|
|
118
|
+
export declare class Uint8ArrayRef extends TypedArrayRef<Uint8Array> {
|
|
119
|
+
getView(): Uint8Array;
|
|
120
|
+
readAsNullTerminatedUtf8String(): string;
|
|
121
|
+
}
|
|
122
|
+
export declare class Int16ArrayRef extends TypedArrayRef<Int16Array> {
|
|
123
|
+
getView(): Int16Array;
|
|
124
|
+
}
|
|
125
|
+
export declare class Uint16ArrayRef extends TypedArrayRef<Uint16Array> {
|
|
126
|
+
getView(): Uint16Array;
|
|
127
|
+
}
|
|
128
|
+
export declare class Int32ArrayRef extends TypedArrayRef<Int32Array> {
|
|
129
|
+
getView(): Int32Array;
|
|
130
|
+
}
|
|
131
|
+
export declare class Uint32ArrayRef extends TypedArrayRef<Uint32Array> {
|
|
132
|
+
getView(): Uint32Array;
|
|
133
|
+
}
|
|
134
|
+
export declare class Float32ArrayRef extends TypedArrayRef<Float32Array> {
|
|
135
|
+
getView(): Float32Array;
|
|
136
|
+
}
|
|
137
|
+
export declare class Float64ArrayRef extends TypedArrayRef<Float64Array> {
|
|
138
|
+
getView(): Float64Array;
|
|
139
|
+
}
|
|
140
|
+
export type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array;
|
|
141
|
+
export type WasmRef = ValueRef<number> | ValueRef<string> | TypedArrayRef<TypedArray>;
|
|
142
|
+
export {};
|