echogarden 1.8.7 → 2.0.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 +23 -18
- package/data/schemas/options.json +52 -47
- package/dist/alignment/DTWSequenceAlignment.d.ts +1 -1
- package/dist/alignment/DTWSequenceAlignment.js +5 -5
- package/dist/alignment/DTWSequenceAlignment.js.map +1 -1
- package/dist/alignment/SpeechAlignment.js +6 -6
- package/dist/alignment/SpeechAlignment.js.map +1 -1
- package/dist/api/Alignment.d.ts +1 -1
- package/dist/api/Alignment.js +49 -11
- package/dist/api/Alignment.js.map +1 -1
- package/dist/api/Denoising.d.ts +4 -2
- package/dist/api/Denoising.js +65 -13
- package/dist/api/Denoising.js.map +1 -1
- package/dist/api/SourceSeparation.js +9 -6
- package/dist/api/SourceSeparation.js.map +1 -1
- package/dist/api/SpeechLanguageDetection.js +4 -4
- package/dist/api/SpeechLanguageDetection.js.map +1 -1
- package/dist/api/Synthesis.d.ts +2 -2
- package/dist/api/Synthesis.js +10 -7
- package/dist/api/Synthesis.js.map +1 -1
- package/dist/api/VoiceActivityDetection.js +2 -2
- package/dist/api/VoiceActivityDetection.js.map +1 -1
- package/dist/audio/AudioBufferConversion.d.ts +2 -2
- package/dist/audio/AudioBufferConversion.js +77 -43
- package/dist/audio/AudioBufferConversion.js.map +1 -1
- package/dist/audio/AudioPlayer.d.ts +7 -5
- package/dist/audio/AudioPlayer.js +135 -49
- package/dist/audio/AudioPlayer.js.map +1 -1
- package/dist/audio/AudioUtilities.d.ts +4 -3
- package/dist/audio/AudioUtilities.js +30 -15
- package/dist/audio/AudioUtilities.js.map +1 -1
- package/dist/audio/SoxPath.js +3 -3
- package/dist/audio/SoxPath.js.map +1 -1
- package/dist/build-tools/MakeTarballsForInstalledPackages.js +3 -3
- package/dist/build-tools/MakeTarballsForInstalledPackages.js.map +1 -1
- package/dist/cli/CLI.js +30 -36
- package/dist/cli/CLI.js.map +1 -1
- package/dist/cli/CLIConfigFile.js +2 -2
- package/dist/cli/CLIConfigFile.js.map +1 -1
- package/dist/cli/CLIOptions.d.ts +2 -0
- package/dist/cli/CLIOptions.js +1 -1
- package/dist/cli/CLIOptions.js.map +1 -1
- package/dist/codecs/FFMpegTranscoder.d.ts +3 -3
- package/dist/codecs/FFMpegTranscoder.js +6 -6
- package/dist/codecs/FFMpegTranscoder.js.map +1 -1
- package/dist/codecs/TIMITCodec.d.ts +1 -1
- package/dist/codecs/TIMITCodec.js +4 -3
- package/dist/codecs/TIMITCodec.js.map +1 -1
- package/dist/codecs/WaveCodec.d.ts +3 -3
- package/dist/codecs/WaveCodec.js +37 -34
- package/dist/codecs/WaveCodec.js.map +1 -1
- package/dist/data-structures/DynamicTypedArray.d.ts +17 -0
- package/dist/data-structures/DynamicTypedArray.js +47 -0
- package/dist/data-structures/DynamicTypedArray.js.map +1 -0
- package/dist/data-structures/Queue.js.map +1 -0
- package/dist/data-structures/WindowedList.js.map +1 -0
- package/dist/denoising/NSNet2.d.ts +26 -0
- package/dist/denoising/NSNet2.js +128 -0
- package/dist/denoising/NSNet2.js.map +1 -0
- package/dist/denoising/RNNoise.js +3 -3
- package/dist/denoising/RNNoise.js.map +1 -1
- package/dist/dsp/FFT.d.ts +6 -1
- package/dist/dsp/FFT.js +17 -0
- package/dist/dsp/FFT.js.map +1 -1
- package/dist/encodings/Ascii.d.ts +10 -0
- package/dist/encodings/Ascii.js +41 -0
- package/dist/encodings/Ascii.js.map +1 -0
- package/dist/encodings/Base64.d.ts +5 -0
- package/dist/encodings/Base64.js +114 -0
- package/dist/encodings/Base64.js.map +1 -0
- package/dist/encodings/Hex.d.ts +3 -0
- package/dist/encodings/Hex.js +52 -0
- package/dist/encodings/Hex.js.map +1 -0
- package/dist/{utilities → encodings}/LEB128.d.ts +1 -1
- package/dist/{utilities → encodings}/LEB128.js +4 -4
- package/dist/encodings/LEB128.js.map +1 -0
- package/dist/{utilities → encodings}/LPVarInt.d.ts +1 -1
- package/dist/{utilities → encodings}/LPVarInt.js +6 -6
- package/dist/encodings/LPVarInt.js.map +1 -0
- package/dist/encodings/TextEncodingsCommon.d.ts +4 -0
- package/dist/encodings/TextEncodingsCommon.js +2 -0
- package/dist/encodings/TextEncodingsCommon.js.map +1 -0
- package/dist/encodings/Utf16.d.ts +10 -0
- package/dist/encodings/Utf16.js +36 -0
- package/dist/encodings/Utf16.js.map +1 -0
- package/dist/encodings/Utf32.d.ts +9 -0
- package/dist/encodings/Utf32.js +44 -0
- package/dist/encodings/Utf32.js.map +1 -0
- package/dist/encodings/Utf8.d.ts +10 -0
- package/dist/encodings/Utf8.js +97 -0
- package/dist/encodings/Utf8.js.map +1 -0
- package/dist/math/MedianFilter.js.map +1 -1
- package/dist/nlp/JapaneseSegmentation.js +2 -2
- package/dist/nlp/JapaneseSegmentation.js.map +1 -1
- package/dist/recognition/GoogleCloudSTT.js +2 -1
- package/dist/recognition/GoogleCloudSTT.js.map +1 -1
- package/dist/recognition/SileroSTT.js +3 -3
- package/dist/recognition/SileroSTT.js.map +1 -1
- package/dist/recognition/VoskSTT.js +3 -3
- package/dist/recognition/VoskSTT.js.map +1 -1
- package/dist/recognition/WhisperCppSTT.js +4 -5
- package/dist/recognition/WhisperCppSTT.js.map +1 -1
- package/dist/recognition/WhisperSTT.js +8 -7
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/server/Client.d.ts +1 -1
- package/dist/server/Client.js +2 -1
- package/dist/server/Client.js.map +1 -1
- package/dist/server/Server.js +5 -4
- package/dist/server/Server.js.map +1 -1
- package/dist/server/Worker.js +1 -1
- package/dist/server/Worker.js.map +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.js +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
- package/dist/speech-search/DTWSpeechSearch.d.ts +1 -1
- package/dist/speech-search/DTWSpeechSearch.js +25 -6
- package/dist/speech-search/DTWSpeechSearch.js.map +1 -1
- package/dist/subtitles/Subtitles.js +2 -2
- package/dist/subtitles/Subtitles.js.map +1 -1
- package/dist/synthesis/AzureCognitiveServicesTTS.js +17 -18
- package/dist/synthesis/AzureCognitiveServicesTTS.js.map +1 -1
- package/dist/synthesis/CoquiServerTTS.js +1 -1
- package/dist/synthesis/CoquiServerTTS.js.map +1 -1
- package/dist/synthesis/ElevenlabsTTS.js +1 -1
- package/dist/synthesis/ElevenlabsTTS.js.map +1 -1
- package/dist/synthesis/EspeakTTS.d.ts +0 -1
- package/dist/synthesis/EspeakTTS.js +0 -9
- package/dist/synthesis/EspeakTTS.js.map +1 -1
- package/dist/synthesis/FliteTTS.js +7 -8
- package/dist/synthesis/FliteTTS.js.map +1 -1
- package/dist/synthesis/GoogleCloudTTS.d.ts +1 -1
- package/dist/synthesis/GoogleCloudTTS.js +2 -1
- package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
- package/dist/synthesis/GoogleTranslateTTS.d.ts +1 -1
- package/dist/synthesis/GoogleTranslateTTS.js +4 -3
- package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js +32 -7
- package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
- package/dist/synthesis/SapiTTS.js +1 -1
- package/dist/synthesis/SapiTTS.js.map +1 -1
- package/dist/synthesis/StreamlabsPollyTTS.d.ts +1 -1
- package/dist/synthesis/StreamlabsPollyTTS.js +1 -1
- package/dist/synthesis/StreamlabsPollyTTS.js.map +1 -1
- package/dist/synthesis/SvoxPicoTTS.js +6 -6
- package/dist/synthesis/SvoxPicoTTS.js.map +1 -1
- package/dist/synthesis/VitsTTS.js +2 -2
- package/dist/synthesis/VitsTTS.js.map +1 -1
- package/dist/tests/Test.js +1 -47
- package/dist/tests/Test.js.map +1 -1
- package/dist/text-language-detection/FastTextLanguageDetection.js +2 -2
- package/dist/text-language-detection/FastTextLanguageDetection.js.map +1 -1
- package/dist/typings/TypedArray.d.ts +4 -0
- package/dist/typings/TypedArray.js +2 -0
- package/dist/typings/TypedArray.js.map +1 -0
- package/dist/utilities/BinaryArrayConversion.d.ts +12 -22
- package/dist/utilities/BinaryArrayConversion.js +40 -90
- package/dist/utilities/BinaryArrayConversion.js.map +1 -1
- package/dist/utilities/BinaryUtilities.d.ts +13 -0
- package/dist/utilities/BinaryUtilities.js +113 -0
- package/dist/utilities/BinaryUtilities.js.map +1 -0
- package/dist/utilities/Compression.js +7 -6
- package/dist/utilities/Compression.js.map +1 -1
- package/dist/utilities/FileDownloader.js +26 -47
- package/dist/utilities/FileDownloader.js.map +1 -1
- package/dist/utilities/FileReader.d.ts +14 -0
- package/dist/utilities/FileReader.js +71 -0
- package/dist/utilities/FileReader.js.map +1 -0
- package/dist/utilities/FileSystem.d.ts +19 -16
- package/dist/utilities/FileSystem.js +170 -109
- package/dist/utilities/FileSystem.js.map +1 -1
- package/dist/utilities/FileWriter.d.ts +12 -0
- package/dist/utilities/FileWriter.js +60 -0
- package/dist/utilities/FileWriter.js.map +1 -0
- package/dist/utilities/NpmUtilities.d.ts +1 -0
- package/dist/utilities/NpmUtilities.js +14 -0
- package/dist/utilities/NpmUtilities.js.map +1 -0
- package/dist/utilities/PackageManager.js +7 -5
- package/dist/utilities/PackageManager.js.map +1 -1
- package/dist/utilities/PathUtilities.d.ts +8 -0
- package/dist/utilities/PathUtilities.js +28 -7
- package/dist/utilities/PathUtilities.js.map +1 -1
- package/dist/utilities/SignalChannel.d.ts +3 -1
- package/dist/utilities/SignalChannel.js +9 -5
- package/dist/utilities/SignalChannel.js.map +1 -1
- package/dist/utilities/StringBuilder.d.ts +10 -0
- package/dist/utilities/StringBuilder.js +39 -0
- package/dist/utilities/StringBuilder.js.map +1 -0
- package/dist/utilities/StringUtilities.js.map +1 -1
- package/dist/utilities/TarballMaker.js +6 -7
- package/dist/utilities/TarballMaker.js.map +1 -1
- package/dist/utilities/Timer.js +2 -2
- package/dist/utilities/Timer.js.map +1 -1
- package/dist/utilities/Utilities.d.ts +11 -5
- package/dist/utilities/Utilities.js +69 -33
- package/dist/utilities/Utilities.js.map +1 -1
- package/dist/utilities/VirtualFileReadStream.d.ts +3 -3
- package/dist/utilities/VirtualFileReadStream.js.map +1 -1
- package/dist/utilities/WasmMemoryManager.d.ts +5 -2
- package/dist/utilities/WasmMemoryManager.js +15 -4
- package/dist/utilities/WasmMemoryManager.js.map +1 -1
- package/docs/API.md +1 -1
- package/docs/Licenses.md +3 -0
- package/docs/Options.md +9 -3
- package/docs/Tasklist.md +0 -1
- package/docs/Technical.md +2 -2
- package/package.json +20 -22
- package/src/alignment/DTWSequenceAlignment.ts +5 -5
- package/src/alignment/SpeechAlignment.ts +6 -6
- package/src/api/Alignment.ts +65 -12
- package/src/api/Denoising.ts +97 -17
- package/src/api/SourceSeparation.ts +11 -8
- package/src/api/SpeechLanguageDetection.ts +4 -4
- package/src/api/Synthesis.ts +15 -11
- package/src/api/VoiceActivityDetection.ts +2 -2
- package/src/audio/AudioBufferConversion.ts +84 -45
- package/src/audio/AudioPlayer.ts +155 -53
- package/src/audio/AudioUtilities.ts +38 -22
- package/src/audio/SoxPath.ts +3 -3
- package/src/build-tools/MakeTarballsForInstalledPackages.ts +3 -3
- package/src/cli/CLI.ts +30 -36
- package/src/cli/CLIConfigFile.ts +2 -2
- package/src/cli/CLIOptions.ts +4 -1
- package/src/codecs/FFMpegTranscoder.ts +11 -11
- package/src/codecs/TIMITCodec.ts +5 -4
- package/src/codecs/WaveCodec.ts +42 -39
- package/src/data-structures/DynamicTypedArray.ts +64 -0
- package/src/denoising/NSNet2.ts +182 -0
- package/src/denoising/RNNoise.ts +3 -3
- package/src/dsp/FFT.ts +21 -1
- package/src/encodings/Ascii.ts +60 -0
- package/src/encodings/Base64.ts +157 -0
- package/src/encodings/Hex.ts +67 -0
- package/src/{utilities → encodings}/LEB128.ts +4 -4
- package/src/{utilities → encodings}/LPVarInt.ts +6 -6
- package/src/encodings/TextEncodingsCommon.ts +4 -0
- package/src/encodings/Utf16.ts +52 -0
- package/src/encodings/Utf32.ts +62 -0
- package/src/encodings/Utf8.ts +117 -0
- package/src/math/MedianFilter.ts +0 -2
- package/src/nlp/JapaneseSegmentation.ts +2 -2
- package/src/recognition/GoogleCloudSTT.ts +2 -1
- package/src/recognition/SileroSTT.ts +3 -3
- package/src/recognition/VoskSTT.ts +3 -3
- package/src/recognition/WhisperCppSTT.ts +4 -5
- package/src/recognition/WhisperSTT.ts +8 -7
- package/src/server/Client.ts +4 -3
- package/src/server/Server.ts +6 -5
- package/src/server/Worker.ts +1 -1
- package/src/source-separation/MDXNetSourceSeparation.ts +1 -1
- package/src/speech-search/DTWSpeechSearch.ts +36 -7
- package/src/subtitles/Subtitles.ts +3 -3
- package/src/synthesis/AzureCognitiveServicesTTS.ts +18 -15
- package/src/synthesis/CoquiServerTTS.ts +2 -2
- package/src/synthesis/ElevenlabsTTS.ts +1 -1
- package/src/synthesis/EspeakTTS.ts +0 -15
- package/src/synthesis/FliteTTS.ts +7 -8
- package/src/synthesis/GoogleCloudTTS.ts +3 -2
- package/src/synthesis/GoogleTranslateTTS.ts +5 -4
- package/src/synthesis/MicrosoftEdgeTTS.ts +47 -15
- package/src/synthesis/SapiTTS.ts +1 -1
- package/src/synthesis/StreamlabsPollyTTS.ts +1 -1
- package/src/synthesis/SvoxPicoTTS.ts +8 -8
- package/src/synthesis/VitsTTS.ts +2 -2
- package/src/tests/Test.ts +1 -60
- package/src/text-language-detection/FastTextLanguageDetection.ts +2 -2
- package/src/typings/Fillers.d.ts +2 -4
- package/src/typings/TypedArray.ts +5 -0
- package/src/utilities/BinaryArrayConversion.ts +51 -125
- package/src/utilities/BinaryUtilities.ts +138 -0
- package/src/utilities/Compression.ts +7 -6
- package/src/utilities/FileDownloader.ts +27 -52
- package/src/utilities/FileReader.ts +89 -0
- package/src/utilities/FileSystem.ts +213 -120
- package/src/utilities/FileWriter.ts +72 -0
- package/src/utilities/NpmUtilities.ts +23 -0
- package/src/utilities/PackageManager.ts +8 -5
- package/src/utilities/PathUtilities.ts +36 -7
- package/src/utilities/SignalChannel.ts +14 -7
- package/src/utilities/StringBuilder.ts +45 -0
- package/src/utilities/StringUtilities.ts +2 -0
- package/src/utilities/TarballMaker.ts +6 -7
- package/src/utilities/Timer.ts +4 -2
- package/src/utilities/Utilities.ts +79 -45
- package/src/utilities/VirtualFileReadStream.ts +5 -5
- package/src/utilities/WasmMemoryManager.ts +20 -6
- package/tsconfig.json +96 -0
- package/dist/utilities/DynamicUint8Array.d.ts +0 -9
- package/dist/utilities/DynamicUint8Array.js +0 -31
- package/dist/utilities/DynamicUint8Array.js.map +0 -1
- package/dist/utilities/LEB128.js.map +0 -1
- package/dist/utilities/LPVarInt.js.map +0 -1
- package/dist/utilities/Queue.js.map +0 -1
- package/dist/utilities/WindowedList.js.map +0 -1
- package/src/utilities/DynamicUint8Array.ts +0 -39
- /package/dist/{utilities → data-structures}/Queue.d.ts +0 -0
- /package/dist/{utilities → data-structures}/Queue.js +0 -0
- /package/dist/{utilities → data-structures}/WindowedList.d.ts +0 -0
- /package/dist/{utilities → data-structures}/WindowedList.js +0 -0
- /package/src/{utilities → data-structures}/Queue.ts +0 -0
- /package/src/{utilities → data-structures}/WindowedList.ts +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { decodeAscii } from "./Ascii.js";
|
|
2
|
+
export function encodeHex(buffer) {
|
|
3
|
+
const asciiBuffer = encodeHexAsAsciiBuffer(buffer);
|
|
4
|
+
return decodeAscii(asciiBuffer);
|
|
5
|
+
}
|
|
6
|
+
export function encodeHexAsAsciiBuffer(buffer) {
|
|
7
|
+
const bufferLen = buffer.length;
|
|
8
|
+
const charCodes = new Uint8Array(bufferLen * 2);
|
|
9
|
+
let readOffset = 0;
|
|
10
|
+
let writeOffset = 0;
|
|
11
|
+
while (readOffset < bufferLen) {
|
|
12
|
+
const value = buffer[readOffset++];
|
|
13
|
+
const valueHigh4Bits = (value >>> 4) & 0xf;
|
|
14
|
+
const valueLow4Bits = value & 0xf;
|
|
15
|
+
charCodes[writeOffset++] = hexCharCodeLookup[valueHigh4Bits];
|
|
16
|
+
charCodes[writeOffset++] = hexCharCodeLookup[valueLow4Bits];
|
|
17
|
+
}
|
|
18
|
+
return charCodes;
|
|
19
|
+
}
|
|
20
|
+
export function decodeHex(hexString) {
|
|
21
|
+
const hexLength = hexString.length;
|
|
22
|
+
if (hexLength % 2 !== 0) {
|
|
23
|
+
throw new Error(`Hexadecimal string doesn't have an even number of characters`);
|
|
24
|
+
}
|
|
25
|
+
const buffer = new Uint8Array(hexLength / 2);
|
|
26
|
+
let readOffset = 0;
|
|
27
|
+
let writeOffset = 0;
|
|
28
|
+
while (readOffset < hexLength) {
|
|
29
|
+
const valueHigh4Bits = hexCharCodeToValue(hexString.charCodeAt(readOffset++));
|
|
30
|
+
const valueLow4Bits = hexCharCodeToValue(hexString.charCodeAt(readOffset++));
|
|
31
|
+
const value = (valueHigh4Bits << 4) | valueLow4Bits;
|
|
32
|
+
buffer[writeOffset++] = value;
|
|
33
|
+
}
|
|
34
|
+
return buffer;
|
|
35
|
+
}
|
|
36
|
+
function hexCharCodeToValue(hexCharCode) {
|
|
37
|
+
if (hexCharCode >= 48 && hexCharCode <= 57) { // '0'..'9'
|
|
38
|
+
return hexCharCode - 48;
|
|
39
|
+
}
|
|
40
|
+
else if (hexCharCode >= 97 && hexCharCode <= 102) { // 'a'..'f'
|
|
41
|
+
return 10 + hexCharCode - 97;
|
|
42
|
+
}
|
|
43
|
+
else if (hexCharCode >= 65 && hexCharCode <= 70) { // 'A'..'F'
|
|
44
|
+
return 10 + hexCharCode - 65;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
throw new Error(`Can't decode character '${String.fromCharCode(hexCharCode)}' (code: ${hexCharCode}) as hexadecimal`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const hexCharLookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
|
|
51
|
+
const hexCharCodeLookup = new Uint8Array([48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102]);
|
|
52
|
+
//# sourceMappingURL=Hex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hex.js","sourceRoot":"","sources":["../../src/encodings/Hex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DynamicUint8Array } from "
|
|
1
|
+
import { DynamicUint8Array } from "../data-structures/DynamicTypedArray.js";
|
|
2
2
|
export declare function encodeUnsignedInt(value: number | bigint, outEncodedData: DynamicUint8Array): DynamicUint8Array;
|
|
3
3
|
export declare function decodeUnsignedInt31Fast(encodedData: ArrayLike<number>, readOffset: number): DecodedValueAndReadOffset;
|
|
4
4
|
export declare function encodeSignedInt32(value: number, outEncodedData: DynamicUint8Array): DynamicUint8Array;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { logToStderr } from "
|
|
1
|
+
import { createDynamicUint8Array } from "../data-structures/DynamicTypedArray.js";
|
|
2
|
+
import { logToStderr } from "../utilities/Utilities.js";
|
|
3
3
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
4
4
|
// Encode unsigned integer
|
|
5
5
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -228,11 +228,11 @@ export function decodeSignedInt32Fast(encodedData, readOffset) {
|
|
|
228
228
|
// Tests
|
|
229
229
|
////////////////////////////////////////////////////////////////////////////////////
|
|
230
230
|
export function testLeb128Signed() {
|
|
231
|
-
const encodedBytes =
|
|
231
|
+
const encodedBytes = createDynamicUint8Array();
|
|
232
232
|
function runTest(testValue) {
|
|
233
233
|
encodedBytes.clear();
|
|
234
234
|
encodeSignedInt32Fast(testValue, encodedBytes);
|
|
235
|
-
const { decodedValue } = decodeSignedInt32Fast(encodedBytes.
|
|
235
|
+
const { decodedValue } = decodeSignedInt32Fast(encodedBytes.elements, 0);
|
|
236
236
|
if (decodedValue !== testValue) {
|
|
237
237
|
throw new Error(`Expected ${testValue} but got ${decodedValue}`);
|
|
238
238
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LEB128.js","sourceRoot":"","sources":["../../src/encodings/LEB128.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DynamicUint8Array } from "
|
|
1
|
+
import { DynamicUint8Array } from "../data-structures/DynamicTypedArray.js";
|
|
2
2
|
export declare function encodeUnsignedInt31(value: number, outEncodedData: DynamicUint8Array): void;
|
|
3
3
|
export declare function decodeUnsignedInt31(encodedData: ArrayLike<number>, readOffset: number): DecodedValueAndReadOffset;
|
|
4
4
|
export declare function encodeSignedInt32(value: number, outEncodedData: DynamicUint8Array): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { logToStderr } from "
|
|
1
|
+
import { createDynamicUint8Array } from "../data-structures/DynamicTypedArray.js";
|
|
2
|
+
import { logToStderr } from "../utilities/Utilities.js";
|
|
3
3
|
////////////////////////////////////////////////////////////////////////////////////
|
|
4
4
|
// Encode unsigned integer
|
|
5
5
|
////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -149,11 +149,11 @@ export function decodeSignedInt32(encodedData, readOffset) {
|
|
|
149
149
|
// Tests
|
|
150
150
|
////////////////////////////////////////////////////////////////////////////////////
|
|
151
151
|
export function testLPVarintSigned() {
|
|
152
|
-
const encodedBytes =
|
|
152
|
+
const encodedBytes = createDynamicUint8Array();
|
|
153
153
|
function runTest(testValue) {
|
|
154
154
|
encodedBytes.clear();
|
|
155
155
|
encodeSignedInt32(testValue, encodedBytes);
|
|
156
|
-
const { decodedValue } = decodeSignedInt32(encodedBytes.
|
|
156
|
+
const { decodedValue } = decodeSignedInt32(encodedBytes.elements, 0);
|
|
157
157
|
if (decodedValue !== testValue) {
|
|
158
158
|
throw new Error(`Expected ${testValue} but got ${decodedValue}`);
|
|
159
159
|
}
|
|
@@ -167,11 +167,11 @@ export function testLPVarintSigned() {
|
|
|
167
167
|
const x = 1;
|
|
168
168
|
}
|
|
169
169
|
export function testLPVarintUnsigned() {
|
|
170
|
-
const encodedBytes =
|
|
170
|
+
const encodedBytes = createDynamicUint8Array();
|
|
171
171
|
function runTest(testValue) {
|
|
172
172
|
encodedBytes.clear();
|
|
173
173
|
encodeUnsignedInt31(testValue, encodedBytes);
|
|
174
|
-
const { decodedValue } = decodeUnsignedInt31(encodedBytes.
|
|
174
|
+
const { decodedValue } = decodeUnsignedInt31(encodedBytes.elements, 0);
|
|
175
175
|
if (decodedValue !== testValue) {
|
|
176
176
|
throw new Error(`Expected ${testValue} but got ${decodedValue}`);
|
|
177
177
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LPVarInt.js","sourceRoot":"","sources":["../../src/encodings/LPVarInt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextEncodingsCommon.js","sourceRoot":"","sources":["../../src/encodings/TextEncodingsCommon.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EncodeIntoResult } from "./TextEncodingsCommon.js";
|
|
2
|
+
export declare function encodeUtf16(text: string): Uint16Array;
|
|
3
|
+
export declare function encodeUtf16Into(text: string, resultBuffer: Uint16Array): EncodeIntoResult;
|
|
4
|
+
export declare function decodeUtf16(encodedString: Uint16Array): string;
|
|
5
|
+
export declare class ChunkedUtf16Decoder {
|
|
6
|
+
private str;
|
|
7
|
+
private readonly textDecoder;
|
|
8
|
+
writeChunk(chunk: Uint16Array): void;
|
|
9
|
+
toString(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export function encodeUtf16(text) {
|
|
2
|
+
const resultArray = new Uint16Array(text.length);
|
|
3
|
+
const { written } = encodeUtf16Into(text, resultArray);
|
|
4
|
+
return resultArray.subarray(0, written);
|
|
5
|
+
}
|
|
6
|
+
export function encodeUtf16Into(text, resultBuffer) {
|
|
7
|
+
const len = text.length;
|
|
8
|
+
if (resultBuffer.length < len) {
|
|
9
|
+
throw new Error(`Result Uint16Array is not large enough to hold the string`);
|
|
10
|
+
}
|
|
11
|
+
for (let readOffset = 0; readOffset < len; readOffset++) {
|
|
12
|
+
resultBuffer[readOffset] = text.charCodeAt(readOffset);
|
|
13
|
+
}
|
|
14
|
+
return { read: len, written: len };
|
|
15
|
+
}
|
|
16
|
+
export function decodeUtf16(encodedString) {
|
|
17
|
+
const maxChunkLength = 2 ** 24;
|
|
18
|
+
const decoder = new ChunkedUtf16Decoder();
|
|
19
|
+
for (let offset = 0; offset < encodedString.length; offset += maxChunkLength) {
|
|
20
|
+
const chunk = encodedString.subarray(offset, offset + maxChunkLength);
|
|
21
|
+
decoder.writeChunk(chunk);
|
|
22
|
+
}
|
|
23
|
+
return decoder.toString();
|
|
24
|
+
}
|
|
25
|
+
export class ChunkedUtf16Decoder {
|
|
26
|
+
str = '';
|
|
27
|
+
textDecoder = new TextDecoder('utf-16le');
|
|
28
|
+
writeChunk(chunk) {
|
|
29
|
+
const decodedChunk = this.textDecoder.decode(chunk);
|
|
30
|
+
this.str += decodedChunk;
|
|
31
|
+
}
|
|
32
|
+
toString() {
|
|
33
|
+
return this.str;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=Utf16.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Utf16.js","sourceRoot":"","sources":["../../src/encodings/Utf16.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEhD,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAEtD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,YAAyB;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;IAEvB,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC7E,CAAC;IAED,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC;QACzD,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,aAA0B;IACrD,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,CAAA;IAE9B,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAA;IAEzC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC;QAC9E,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAA;QAErE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,OAAO,mBAAmB;IACvB,GAAG,GAAG,EAAE,CAAA;IACC,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAA;IAE1D,UAAU,CAAC,KAAkB;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEnD,IAAI,CAAC,GAAG,IAAI,YAAY,CAAA;IACzB,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,GAAG,CAAA;IAChB,CAAC;CACD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EncodeIntoResult } from "./TextEncodingsCommon.js";
|
|
2
|
+
export declare function encodeUtf32(text: string): Uint32Array;
|
|
3
|
+
export declare function encodeUtf32Into(text: string, resultBuffer: Uint32Array): EncodeIntoResult;
|
|
4
|
+
export declare function decodeUtf32(encodedString: Uint32Array): string;
|
|
5
|
+
export declare class ChunkedUtf32Decoder {
|
|
6
|
+
private str;
|
|
7
|
+
writeChunk(chunk: Uint32Array): void;
|
|
8
|
+
toString(): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export function encodeUtf32(text) {
|
|
2
|
+
const resultArray = new Uint32Array(text.length * 2);
|
|
3
|
+
const { written } = encodeUtf32Into(text, resultArray);
|
|
4
|
+
return resultArray.subarray(0, written);
|
|
5
|
+
}
|
|
6
|
+
export function encodeUtf32Into(text, resultBuffer) {
|
|
7
|
+
const len = text.length;
|
|
8
|
+
let readOffset = 0;
|
|
9
|
+
let writeOffset = 0;
|
|
10
|
+
while (readOffset < len && writeOffset < resultBuffer.length) {
|
|
11
|
+
const codepoint = text.codePointAt(readOffset);
|
|
12
|
+
if (codepoint === undefined) {
|
|
13
|
+
throw new Error(`Couldn't read a codepoint at offset ${readOffset}`);
|
|
14
|
+
}
|
|
15
|
+
resultBuffer[writeOffset++] = codepoint;
|
|
16
|
+
if (codepoint > 0xffff) {
|
|
17
|
+
readOffset += 2;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
readOffset += 1;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return { read: readOffset, written: writeOffset };
|
|
24
|
+
}
|
|
25
|
+
export function decodeUtf32(encodedString) {
|
|
26
|
+
const maxChunkLength = 2 ** 10;
|
|
27
|
+
const decoder = new ChunkedUtf32Decoder();
|
|
28
|
+
for (let offset = 0; offset < encodedString.length; offset += maxChunkLength) {
|
|
29
|
+
const chunk = encodedString.subarray(offset, offset + maxChunkLength);
|
|
30
|
+
decoder.writeChunk(chunk);
|
|
31
|
+
}
|
|
32
|
+
return decoder.toString();
|
|
33
|
+
}
|
|
34
|
+
export class ChunkedUtf32Decoder {
|
|
35
|
+
str = '';
|
|
36
|
+
writeChunk(chunk) {
|
|
37
|
+
const decodedChunk = String.fromCodePoint(...chunk);
|
|
38
|
+
this.str += decodedChunk;
|
|
39
|
+
}
|
|
40
|
+
toString() {
|
|
41
|
+
return this.str;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Utf32.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Utf32.js","sourceRoot":"","sources":["../../src/encodings/Utf32.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEpD,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAEtD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,YAAyB;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;IAEvB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,OAAO,UAAU,GAAG,GAAG,IAAI,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAE9C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAA;QACrE,CAAC;QAED,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAA;QAEvC,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACxB,UAAU,IAAI,CAAC,CAAA;QAChB,CAAC;aAAM,CAAC;YACP,UAAU,IAAI,CAAC,CAAA;QAChB,CAAC;IACF,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,aAA0B;IACrD,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,CAAA;IAE9B,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAA;IAEzC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,CAAC;QAC9E,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,CAAA;QAErE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,OAAO,mBAAmB;IACvB,GAAG,GAAG,EAAE,CAAA;IAEhB,UAAU,CAAC,KAAkB;QAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAA;QAEnD,IAAI,CAAC,GAAG,IAAI,YAAY,CAAA;IACzB,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,GAAG,CAAA;IAChB,CAAC;CACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EncodeIntoResult } from "./TextEncodingsCommon.js";
|
|
2
|
+
export declare function encodeUtf8(text: string): Uint8Array;
|
|
3
|
+
export declare function encodeUtf8Into(text: string, outputArray: Uint8Array): EncodeIntoResult;
|
|
4
|
+
export declare function decodeUtf8(encodedString: Uint8Array): string;
|
|
5
|
+
export declare class ChunkedUtf8Decoder {
|
|
6
|
+
private str;
|
|
7
|
+
private readonly textDecoder;
|
|
8
|
+
writeChunk(chunk: Uint8Array): void;
|
|
9
|
+
toString(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
export function encodeUtf8(text) {
|
|
2
|
+
const textEncoder = new TextEncoder();
|
|
3
|
+
return textEncoder.encode(text);
|
|
4
|
+
}
|
|
5
|
+
export function encodeUtf8Into(text, outputArray) {
|
|
6
|
+
const textEncoder = new TextEncoder();
|
|
7
|
+
const result = textEncoder.encodeInto(text, outputArray);
|
|
8
|
+
return result;
|
|
9
|
+
}
|
|
10
|
+
export function decodeUtf8(encodedString) {
|
|
11
|
+
const maxChunkLength = 2 ** 24;
|
|
12
|
+
const decoder = new ChunkedUtf8Decoder();
|
|
13
|
+
for (let offset = 0; offset < encodedString.length; offset += maxChunkLength) {
|
|
14
|
+
const chunk = encodedString.subarray(offset, offset + maxChunkLength);
|
|
15
|
+
decoder.writeChunk(chunk);
|
|
16
|
+
}
|
|
17
|
+
return decoder.toString();
|
|
18
|
+
}
|
|
19
|
+
export class ChunkedUtf8Decoder {
|
|
20
|
+
str = '';
|
|
21
|
+
textDecoder = new TextDecoder('utf-8');
|
|
22
|
+
writeChunk(chunk) {
|
|
23
|
+
const decodedChunk = this.textDecoder.decode(chunk);
|
|
24
|
+
this.str += decodedChunk;
|
|
25
|
+
}
|
|
26
|
+
toString() {
|
|
27
|
+
return this.str;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
31
|
+
// Pure JavaScript implementations
|
|
32
|
+
//////////////////////////////////////////////////////////////////////////////////////////////
|
|
33
|
+
function encodeUtf8Into_JS(str, outputArray) {
|
|
34
|
+
let readOffset = 0;
|
|
35
|
+
let writeOffset = 0;
|
|
36
|
+
while (readOffset < str.length) {
|
|
37
|
+
const charCode = str.codePointAt(readOffset++);
|
|
38
|
+
if (charCode <= 0x7f) {
|
|
39
|
+
outputArray[writeOffset++] = charCode;
|
|
40
|
+
}
|
|
41
|
+
else if (charCode <= 0x7ff) {
|
|
42
|
+
outputArray[writeOffset++] = 0xc0 | (charCode >>> 6);
|
|
43
|
+
outputArray[writeOffset++] = 0x80 | (charCode & 63);
|
|
44
|
+
}
|
|
45
|
+
else if (charCode <= 0xffff) {
|
|
46
|
+
outputArray[writeOffset++] = 0xe0 | (charCode >>> 12);
|
|
47
|
+
outputArray[writeOffset++] = 0x80 | ((charCode >>> 6) & 63);
|
|
48
|
+
outputArray[writeOffset++] = 0x80 | (charCode & 63);
|
|
49
|
+
}
|
|
50
|
+
else if (charCode <= 0x10ffff) {
|
|
51
|
+
outputArray[writeOffset++] = 0xf0 | (charCode >>> 18);
|
|
52
|
+
outputArray[writeOffset++] = 0x80 | ((charCode >>> 12) & 63);
|
|
53
|
+
outputArray[writeOffset++] = 0x80 | ((charCode >>> 6) & 63);
|
|
54
|
+
outputArray[writeOffset++] = 0x80 | (charCode & 63);
|
|
55
|
+
readOffset++;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return { read: str.length, written: writeOffset };
|
|
59
|
+
}
|
|
60
|
+
function decodeUtf8_JS(utf8Bytes) {
|
|
61
|
+
let decodedString = '';
|
|
62
|
+
let readOffset = 0;
|
|
63
|
+
while (readOffset < utf8Bytes.length) {
|
|
64
|
+
const leadByte = utf8Bytes[readOffset++];
|
|
65
|
+
let outputCodePoint;
|
|
66
|
+
if (leadByte >>> 7 === 0) {
|
|
67
|
+
outputCodePoint = leadByte;
|
|
68
|
+
}
|
|
69
|
+
else if (leadByte >>> 5 === 6) {
|
|
70
|
+
outputCodePoint =
|
|
71
|
+
(leadByte & 31) << 6 |
|
|
72
|
+
(utf8Bytes[readOffset++] & 63);
|
|
73
|
+
}
|
|
74
|
+
else if (leadByte >>> 4 === 14) {
|
|
75
|
+
outputCodePoint =
|
|
76
|
+
(leadByte & 15) << 12 |
|
|
77
|
+
(utf8Bytes[readOffset++] & 63) << 6 |
|
|
78
|
+
(utf8Bytes[readOffset++] & 63);
|
|
79
|
+
}
|
|
80
|
+
else if (leadByte >>> 3 === 30) {
|
|
81
|
+
outputCodePoint =
|
|
82
|
+
(leadByte & 7) << 18 |
|
|
83
|
+
(utf8Bytes[readOffset++] & 63) << 12 |
|
|
84
|
+
(utf8Bytes[readOffset++] & 63) << 6 |
|
|
85
|
+
(utf8Bytes[readOffset++] & 63);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
throw new Error(`Invalid UTF-8 stream: An invalid lead byte value encountered at position ${readOffset}`);
|
|
89
|
+
}
|
|
90
|
+
decodedString += String.fromCodePoint(outputCodePoint);
|
|
91
|
+
}
|
|
92
|
+
if (readOffset > utf8Bytes.length) {
|
|
93
|
+
throw new Error(`UTF-8 decoding failed. Byte sequence is truncated.`);
|
|
94
|
+
}
|
|
95
|
+
return decodedString;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=Utf8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Utf8.js","sourceRoot":"","sources":["../../src/encodings/Utf8.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MedianFilter.js","sourceRoot":"","sources":["../../src/math/MedianFilter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MedianFilter.js","sourceRoot":"","sources":["../../src/math/MedianFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
1
|
import { OpenPromise } from '../utilities/OpenPromise.js';
|
|
2
|
+
import { getDirName, joinPath } from '../utilities/PathUtilities.js';
|
|
3
3
|
import { resolveModuleScriptPath } from '../utilities/Utilities.js';
|
|
4
4
|
export async function splitJapaneseTextToWords_Kuromoji(text) {
|
|
5
5
|
const tokenizer = await getKuromojiTokenizer();
|
|
@@ -15,7 +15,7 @@ async function getKuromojiTokenizer() {
|
|
|
15
15
|
const { default: kuromoji } = await import('kuromoji');
|
|
16
16
|
const resultOpenPromise = new OpenPromise();
|
|
17
17
|
const kuromojiScriptPath = await resolveModuleScriptPath('kuromoji');
|
|
18
|
-
const dictionaryPath =
|
|
18
|
+
const dictionaryPath = joinPath(getDirName(kuromojiScriptPath), '..', '/dict');
|
|
19
19
|
kuromoji.builder({ dicPath: dictionaryPath }).build(function (error, tokenizer) {
|
|
20
20
|
if (error) {
|
|
21
21
|
resultOpenPromise.reject(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JapaneseSegmentation.js","sourceRoot":"","sources":["../../src/nlp/JapaneseSegmentation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"JapaneseSegmentation.js","sourceRoot":"","sources":["../../src/nlp/JapaneseSegmentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,IAAY;IACnE,MAAM,SAAS,GAAG,MAAM,oBAAoB,EAAE,CAAA;IAE9C,MAAM,OAAO,GAAU,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAEtD,OAAO,KAAK,CAAA;AACb,CAAC;AAED,IAAI,iBAAsB,CAAA;AAE1B,KAAK,UAAU,oBAAoB;IAClC,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAA;IACzB,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;IAEtD,MAAM,iBAAiB,GAAG,IAAI,WAAW,EAAO,CAAA;IAEhD,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,CAAA;IACpE,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAE9E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,KAAU,EAAE,SAAc;QACvF,IAAI,KAAK,EAAE,CAAC;YACX,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/B,OAAM;QACP,CAAC;QAED,iBAAiB,GAAG,SAAS,CAAA;QAE7B,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,OAAO,iBAAiB,CAAC,OAAO,CAAA;AACjC,CAAC;AAED;;;;;;;;;;;EAWE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { request } from 'gaxios';
|
|
2
2
|
import * as FFMpegTranscoder from '../codecs/FFMpegTranscoder.js';
|
|
3
3
|
import { Logger } from '../utilities/Logger.js';
|
|
4
|
+
import { encodeBase64 } from '../encodings/Base64.js';
|
|
4
5
|
export async function recognize(rawAudio, apiKey, languageCode = 'en-US') {
|
|
5
6
|
const flac16Khz16bitMonoAudio = await FFMpegTranscoder.encodeFromChannels(rawAudio, { format: 'flac', sampleRate: 16000, sampleFormat: 's16', channelCount: 1 });
|
|
6
7
|
const logger = new Logger();
|
|
@@ -21,7 +22,7 @@ export async function recognize(rawAudio, apiKey, languageCode = 'en-US') {
|
|
|
21
22
|
useEnhanced: true
|
|
22
23
|
},
|
|
23
24
|
audio: {
|
|
24
|
-
content: flac16Khz16bitMonoAudio
|
|
25
|
+
content: encodeBase64(flac16Khz16bitMonoAudio)
|
|
25
26
|
}
|
|
26
27
|
};
|
|
27
28
|
const response = await request({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleCloudSTT.js","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"GoogleCloudSTT.js","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAIrD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB,EAAE,MAAc,EAAE,YAAY,GAAG,OAAO;IACzF,MAAM,uBAAuB,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAA;IAEhK,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAErD,MAAM,WAAW,GAAG;QACnB,MAAM,EAAE;YACP,QAAQ,EAAE,MAAM;YAChB,eAAe,EAAE,KAAK;YACtB,iBAAiB,EAAE,CAAC;YACpB,YAAY;YACZ,wBAAwB,EAAE,EAAE;YAC5B,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,KAAK;YACtB,qBAAqB,EAAE,IAAI;YAC3B,oBAAoB,EAAE,IAAI;YAC1B,0BAA0B,EAAE,IAAI;YAChC,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,IAAI;SACjB;QAED,KAAK,EAAE;YACN,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC;SAC9C;KACD,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAM;QACnC,MAAM,EAAE,MAAM;QAEd,GAAG,EAAE,0DAA0D;QAE/D,MAAM,EAAE;YACP,KAAK,EAAE,MAAM;SACb;QAED,OAAO,EAAE;YACR,YAAY,EAAE,EAAE;SAChB;QAED,IAAI,EAAE,WAAW;QAGjB,YAAY,EAAE,MAAM;KACpB,CAAC,CAAA;IAEF,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAEnC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE/C,MAAM,CAAC,GAAG,EAAE,CAAA;IAEZ,OAAO,MAAM,CAAA;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAiB;IAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAA;IAEpC,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YAC3F,SAAQ;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAE/C,UAAU,IAAI,gBAAgB,CAAC,UAAU,CAAA;QAEzC,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;gBAC1D,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvD,UAAU,EAAE,SAAS,CAAC,UAAU;aAChC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;AAChC,CAAC"}
|
|
@@ -4,8 +4,8 @@ import { Logger } from '../utilities/Logger.js';
|
|
|
4
4
|
import { logToStderr } from '../utilities/Utilities.js';
|
|
5
5
|
import { getRawAudioDuration } from '../audio/AudioUtilities.js';
|
|
6
6
|
import { readAndParseJsonFile } from '../utilities/FileSystem.js';
|
|
7
|
-
import path from 'path';
|
|
8
7
|
import { getOnnxSessionOptions } from '../utilities/OnnxUtilities.js';
|
|
8
|
+
import { joinPath } from '../utilities/PathUtilities.js';
|
|
9
9
|
const log = logToStderr;
|
|
10
10
|
export async function recognize(rawAudio, modelDirectoryPath, executionProviders) {
|
|
11
11
|
const silero = new SileroSTT(modelDirectoryPath, executionProviders);
|
|
@@ -53,8 +53,8 @@ export class SileroSTT {
|
|
|
53
53
|
const logger = new Logger();
|
|
54
54
|
logger.start('Create ONNX inference session');
|
|
55
55
|
const Onnx = await import('onnxruntime-node');
|
|
56
|
-
const modelPath =
|
|
57
|
-
const labelsPath =
|
|
56
|
+
const modelPath = joinPath(this.modelDirectoryPath, 'model.onnx');
|
|
57
|
+
const labelsPath = joinPath(this.modelDirectoryPath, 'labels.json');
|
|
58
58
|
this.labels = await readAndParseJsonFile(labelsPath);
|
|
59
59
|
const onnxSessionOptions = getOnnxSessionOptions({ executionProviders: this.executionProviders });
|
|
60
60
|
this.session = await Onnx.InferenceSession.create(modelPath, onnxSessionOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SileroSTT.js","sourceRoot":"","sources":["../../src/recognition/SileroSTT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAY,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"SileroSTT.js","sourceRoot":"","sources":["../../src/recognition/SileroSTT.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as FFMpegTranscoder from '../codecs/FFMpegTranscoder.js';
|
|
2
2
|
import * as AudioBufferConversion from '../audio/AudioBufferConversion.js';
|
|
3
3
|
import { Logger } from '../utilities/Logger.js';
|
|
4
|
-
import {
|
|
4
|
+
import { concatUint8Arrays, logToStderr } from '../utilities/Utilities.js';
|
|
5
5
|
const log = logToStderr;
|
|
6
6
|
export async function recognizeFile(filename, modelPath, verbose = true) {
|
|
7
7
|
const rawAudio = await FFMpegTranscoder.decodeToChannels(filename, 16000, 1);
|
|
@@ -22,8 +22,8 @@ export async function recognize(rawAudio, modelPath, verbose = true) {
|
|
|
22
22
|
logger.start('Recognize with vosk');
|
|
23
23
|
const recognitionStartTimestamp = logger.getTimestamp();
|
|
24
24
|
const pcmAudio = AudioBufferConversion.encodeToAudioBuffer(audioChannels, 16);
|
|
25
|
-
const trailingSilence =
|
|
26
|
-
const pcmAudioWithTrailingSilence =
|
|
25
|
+
const trailingSilence = new Uint8Array(sampleRate * 4);
|
|
26
|
+
const pcmAudioWithTrailingSilence = concatUint8Arrays([pcmAudio, trailingSilence]);
|
|
27
27
|
const pcmAudioByteCount = pcmAudioWithTrailingSilence.length;
|
|
28
28
|
const maxChunkSize = sampleRate * 2.0;
|
|
29
29
|
let previousResultText = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoskSTT.js","sourceRoot":"","sources":["../../src/recognition/VoskSTT.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AACjE,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"VoskSTT.js","sourceRoot":"","sources":["../../src/recognition/VoskSTT.ts"],"names":[],"mappings":"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"}
|