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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveCodec.js","sourceRoot":"","sources":["../../src/codecs/WaveCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"WaveCodec.js","sourceRoot":"","sources":["../../src/codecs/WaveCodec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TypedArray, TypedArrayConstructor } from "../typings/TypedArray.js";
|
|
2
|
+
export declare class DynamicTypedArray<T extends TypedArray> {
|
|
3
|
+
private TypedArrayConstructor;
|
|
4
|
+
elements: TypedArray;
|
|
5
|
+
length: number;
|
|
6
|
+
constructor(TypedArrayConstructor: TypedArrayConstructor<T>, initialCapacity?: number);
|
|
7
|
+
add(newElement: number): void;
|
|
8
|
+
addMany(...newElements: number[]): void;
|
|
9
|
+
addArray(newElements: ArrayLike<number>): void;
|
|
10
|
+
ensureCapacity(requiredCapacity: number): void;
|
|
11
|
+
toTypedArray(): T;
|
|
12
|
+
clear(): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function createDynamicUint8Array(initialCapacity?: number): DynamicUint8Array;
|
|
15
|
+
export declare function createDynamicUint16Array(initialCapacity?: number): DynamicUint16Array;
|
|
16
|
+
export type DynamicUint8Array = DynamicTypedArray<Uint8Array>;
|
|
17
|
+
export type DynamicUint16Array = DynamicTypedArray<Uint16Array>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export class DynamicTypedArray {
|
|
2
|
+
TypedArrayConstructor;
|
|
3
|
+
elements;
|
|
4
|
+
length = 0;
|
|
5
|
+
constructor(TypedArrayConstructor, initialCapacity = 4) {
|
|
6
|
+
this.TypedArrayConstructor = TypedArrayConstructor;
|
|
7
|
+
this.elements = new TypedArrayConstructor(initialCapacity);
|
|
8
|
+
}
|
|
9
|
+
add(newElement) {
|
|
10
|
+
const length = this.length;
|
|
11
|
+
if (length === this.elements.length) {
|
|
12
|
+
this.ensureCapacity(length + 1);
|
|
13
|
+
}
|
|
14
|
+
this.elements[length] = newElement;
|
|
15
|
+
this.length += 1;
|
|
16
|
+
}
|
|
17
|
+
addMany(...newElements) {
|
|
18
|
+
this.addArray(newElements);
|
|
19
|
+
}
|
|
20
|
+
addArray(newElements) {
|
|
21
|
+
const addedCount = newElements.length;
|
|
22
|
+
this.ensureCapacity(this.length + addedCount);
|
|
23
|
+
this.elements.set(newElements, this.length);
|
|
24
|
+
this.length += addedCount;
|
|
25
|
+
}
|
|
26
|
+
ensureCapacity(requiredCapacity) {
|
|
27
|
+
if (requiredCapacity > this.elements.length) {
|
|
28
|
+
const newCapacity = requiredCapacity * 2;
|
|
29
|
+
const newElements = new this.TypedArrayConstructor(newCapacity);
|
|
30
|
+
newElements.set(this.toTypedArray());
|
|
31
|
+
this.elements = newElements;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
toTypedArray() {
|
|
35
|
+
return this.elements.subarray(0, this.length);
|
|
36
|
+
}
|
|
37
|
+
clear() {
|
|
38
|
+
this.length = 0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export function createDynamicUint8Array(initialCapacity) {
|
|
42
|
+
return new DynamicTypedArray(Uint8Array, initialCapacity);
|
|
43
|
+
}
|
|
44
|
+
export function createDynamicUint16Array(initialCapacity) {
|
|
45
|
+
return new DynamicTypedArray(Uint16Array, initialCapacity);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=DynamicTypedArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicTypedArray.js","sourceRoot":"","sources":["../../src/data-structures/DynamicTypedArray.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IAIT;IAHpB,QAAQ,CAAY;IACpB,MAAM,GAAG,CAAC,CAAA;IAEV,YAAoB,qBAA+C,EAAE,eAAe,GAAG,CAAC;QAApE,0BAAqB,GAArB,qBAAqB,CAA0B;QAClE,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,eAAe,CAAC,CAAA;IAC3D,CAAC;IAED,GAAG,CAAC,UAAkB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAE1B,IAAI,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAA;QAClC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,WAAqB;QAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC3B,CAAC;IAED,QAAQ,CAAC,WAA8B;QACtC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAA;QAErC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAA;QAE7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,IAAI,UAAU,CAAA;IAC1B,CAAC;IAED,cAAc,CAAC,gBAAwB;QACtC,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,gBAAgB,GAAG,CAAC,CAAA;YAExC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA;YAC/D,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;YAEpC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAA;QAC5B,CAAC;IACF,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAM,CAAA;IACnD,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAChB,CAAC;CACD;AAED,MAAM,UAAU,uBAAuB,CAAC,eAAwB;IAC/D,OAAO,IAAI,iBAAiB,CAAa,UAAU,EAAE,eAAe,CAAC,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,eAAwB;IAChE,OAAO,IAAI,iBAAiB,CAAc,WAAW,EAAE,eAAe,CAAC,CAAA;AACxE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../src/data-structures/Queue.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IACjB,IAAI,GAAQ,EAAE,CAAA;IAEd;IACA,CAAC;IAED,OAAO,CAAC,IAAO;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA,CAAC,CAAC;IAC9C,IAAI,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,OAAO,CAAA,CAAC,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowedList.js","sourceRoot":"","sources":["../../src/data-structures/WindowedList.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAII;IAH5B,QAAQ,GAAQ,EAAE,CAAA;IAClB,WAAW,GAAG,CAAC,CAAA;IAEf,YAA4B,eAAuB;QAAvB,oBAAe,GAAf,eAAe,CAAQ;IACnD,CAAC;IAED,GAAG,CAAC,KAAQ;QACX,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;YAErB,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA;QACtB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,KAAa;QAChB,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACtD,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,UAAkB,EAAE,QAAgB;QACzC,MAAM,MAAM,GAAQ,EAAE,CAAA;QAEtB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAE7C,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,MAAM,CAAA;IACd,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC/C,CAAC;CACD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RawAudio } from '../audio/AudioUtilities.js';
|
|
2
|
+
import type * as Onnx from 'onnxruntime-node';
|
|
3
|
+
import { OnnxExecutionProvider } from '../utilities/OnnxUtilities.js';
|
|
4
|
+
export declare function denoiseAudio(rawAudio: RawAudio, options: NSNet2Options): Promise<{
|
|
5
|
+
denoisedAudio: RawAudio;
|
|
6
|
+
}>;
|
|
7
|
+
export declare class NSNet2 {
|
|
8
|
+
readonly modelName: NSNet2ModelName;
|
|
9
|
+
readonly modelDirectoryPath: string;
|
|
10
|
+
readonly executionProviders: OnnxExecutionProvider[];
|
|
11
|
+
readonly maxAttenuation: number;
|
|
12
|
+
session?: Onnx.InferenceSession;
|
|
13
|
+
constructor(modelName: NSNet2ModelName, modelDirectoryPath: string, executionProviders: OnnxExecutionProvider[], maxAttenuation: number);
|
|
14
|
+
denoiseAudio(rawAudio: RawAudio): Promise<{
|
|
15
|
+
denoisedAudio: RawAudio;
|
|
16
|
+
}>;
|
|
17
|
+
private initializeIfNeeded;
|
|
18
|
+
}
|
|
19
|
+
export type NSNet2ModelName = 'baseline-16khz' | 'baseline-48khz';
|
|
20
|
+
export declare const defaultNSNet2Options: NSNet2Options;
|
|
21
|
+
export interface NSNet2Options {
|
|
22
|
+
model?: NSNet2ModelName;
|
|
23
|
+
modelDirectoryPath?: string;
|
|
24
|
+
provider?: OnnxExecutionProvider;
|
|
25
|
+
maxAttenuation?: number;
|
|
26
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { decibelsToGainFactor } from '../audio/AudioUtilities.js';
|
|
2
|
+
import { getOnnxSessionOptions } from '../utilities/OnnxUtilities.js';
|
|
3
|
+
import { readdir } from '../utilities/FileSystem.js';
|
|
4
|
+
import { joinPath } from '../utilities/PathUtilities.js';
|
|
5
|
+
import { stftr, stiftr } from '../dsp/FFT.js';
|
|
6
|
+
import { clip, concatFloat32Arrays } from '../utilities/Utilities.js';
|
|
7
|
+
import { Logger } from '../utilities/Logger.js';
|
|
8
|
+
export async function denoiseAudio(rawAudio, options) {
|
|
9
|
+
const onnxExecutionProviders = options.provider ? [options.provider] : []; //['dml', 'cpu']
|
|
10
|
+
const denoiser = new NSNet2(options.model, options.modelDirectoryPath, onnxExecutionProviders, options.maxAttenuation);
|
|
11
|
+
const result = await denoiser.denoiseAudio(rawAudio);
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
export class NSNet2 {
|
|
15
|
+
modelName;
|
|
16
|
+
modelDirectoryPath;
|
|
17
|
+
executionProviders;
|
|
18
|
+
maxAttenuation;
|
|
19
|
+
session;
|
|
20
|
+
constructor(modelName, modelDirectoryPath, executionProviders, maxAttenuation) {
|
|
21
|
+
this.modelName = modelName;
|
|
22
|
+
this.modelDirectoryPath = modelDirectoryPath;
|
|
23
|
+
this.executionProviders = executionProviders;
|
|
24
|
+
this.maxAttenuation = maxAttenuation;
|
|
25
|
+
}
|
|
26
|
+
async denoiseAudio(rawAudio) {
|
|
27
|
+
const logger = new Logger();
|
|
28
|
+
logger.start(`Initialize ONNX model ${this.modelName}`);
|
|
29
|
+
await this.initializeIfNeeded();
|
|
30
|
+
let fftSize;
|
|
31
|
+
if (this.modelName === 'baseline-48khz') {
|
|
32
|
+
fftSize = 1024;
|
|
33
|
+
if (rawAudio.sampleRate !== 48000) {
|
|
34
|
+
throw new Error(`Denoising model baseline-48khz requires a 48000 Hz signal`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else if (this.modelName === 'baseline-16khz') {
|
|
38
|
+
fftSize = 320;
|
|
39
|
+
if (rawAudio.sampleRate !== 16000) {
|
|
40
|
+
throw new Error(`Denoising model baseline-16khz requires a 16000 Hz signal`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new Error(`Unsupported model name: ${this.modelName}`);
|
|
45
|
+
}
|
|
46
|
+
const fftHopSize = fftSize / 2;
|
|
47
|
+
const fftRealBinCount = (fftSize / 2) + 1;
|
|
48
|
+
logger.start('Compute STFT frames');
|
|
49
|
+
const stftrFrames = await stftr(rawAudio.audioChannels[0], fftSize, fftSize, fftHopSize, 'hann');
|
|
50
|
+
logger.start('Compute log-power spectogram');
|
|
51
|
+
let logPowerSpectogram = [];
|
|
52
|
+
{
|
|
53
|
+
for (const frame of stftrFrames) {
|
|
54
|
+
const logPowerSpectrum = new Float32Array(frame.length / 2);
|
|
55
|
+
let readOffset = 0;
|
|
56
|
+
let writeOffset = 0;
|
|
57
|
+
while (readOffset < frame.length) {
|
|
58
|
+
const real = frame[readOffset++];
|
|
59
|
+
const imaginary = frame[readOffset++];
|
|
60
|
+
const powerValue = (real ** 2) + (imaginary ** 2);
|
|
61
|
+
const clampedPowerValue = Math.max(powerValue, 1e-12);
|
|
62
|
+
const logPowerValue = Math.log10(clampedPowerValue);
|
|
63
|
+
logPowerSpectrum[writeOffset++] = logPowerValue;
|
|
64
|
+
}
|
|
65
|
+
logPowerSpectogram.push(logPowerSpectrum);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
logger.start('Process log-power spectogram using ONNX model');
|
|
69
|
+
const frameCount = logPowerSpectogram.length;
|
|
70
|
+
let flattenedOutputTensor;
|
|
71
|
+
{
|
|
72
|
+
const Onnx = await import('onnxruntime-node');
|
|
73
|
+
const flattenedFeatures = concatFloat32Arrays(logPowerSpectogram);
|
|
74
|
+
const inputTensor = new Onnx.Tensor('float32', flattenedFeatures, [1, frameCount, fftRealBinCount]);
|
|
75
|
+
const inputs = { input: inputTensor };
|
|
76
|
+
const result = await this.session.run(inputs);
|
|
77
|
+
flattenedOutputTensor = result.output.data;
|
|
78
|
+
}
|
|
79
|
+
{
|
|
80
|
+
logger.start('Apply model output as a filter to original STFT frames');
|
|
81
|
+
const fftSizeReciprocal = 1 / fftSize;
|
|
82
|
+
const minGainRatio = decibelsToGainFactor(-this.maxAttenuation);
|
|
83
|
+
const maxGainRatio = 1.0;
|
|
84
|
+
let flattenenedOutputTensorReadIndex = 0;
|
|
85
|
+
for (let frameIndex = 0; frameIndex < frameCount; frameIndex++) {
|
|
86
|
+
const frame = stftrFrames[frameIndex];
|
|
87
|
+
let frameReadIndex = 0;
|
|
88
|
+
for (let binIndex = 0; binIndex < fftRealBinCount; binIndex++) {
|
|
89
|
+
let gainRatio = flattenedOutputTensor[flattenenedOutputTensorReadIndex++];
|
|
90
|
+
gainRatio = clip(gainRatio, minGainRatio, maxGainRatio);
|
|
91
|
+
frame[frameReadIndex++] *= gainRatio * fftSizeReciprocal;
|
|
92
|
+
frame[frameReadIndex++] *= gainRatio * fftSizeReciprocal;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Allow logPowerSpectogram to be garbage collected
|
|
97
|
+
logPowerSpectogram = undefined;
|
|
98
|
+
logger.start('Reconstruct filtered signal using inverse STFT');
|
|
99
|
+
const filteredSignal = await stiftr(stftrFrames, fftSize, fftSize, fftHopSize, 'hann');
|
|
100
|
+
const denoisedAudio = {
|
|
101
|
+
audioChannels: [filteredSignal],
|
|
102
|
+
sampleRate: rawAudio.sampleRate
|
|
103
|
+
};
|
|
104
|
+
logger.end();
|
|
105
|
+
return { denoisedAudio };
|
|
106
|
+
}
|
|
107
|
+
async initializeIfNeeded() {
|
|
108
|
+
if (this.session) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const filesInModelPath = await readdir(this.modelDirectoryPath);
|
|
112
|
+
const onnxModelFilename = filesInModelPath.find(filename => filename.endsWith('.onnx'));
|
|
113
|
+
if (!onnxModelFilename) {
|
|
114
|
+
throw new Error(`Couldn't file any ONNX model file in ${this.modelDirectoryPath}`);
|
|
115
|
+
}
|
|
116
|
+
const onnxModelPath = joinPath(this.modelDirectoryPath, onnxModelFilename);
|
|
117
|
+
const Onnx = await import('onnxruntime-node');
|
|
118
|
+
const onnxSessionOptions = getOnnxSessionOptions({ executionProviders: this.executionProviders });
|
|
119
|
+
this.session = await Onnx.InferenceSession.create(onnxModelPath, onnxSessionOptions);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
export const defaultNSNet2Options = {
|
|
123
|
+
model: 'baseline-48khz',
|
|
124
|
+
modelDirectoryPath: undefined,
|
|
125
|
+
provider: undefined,
|
|
126
|
+
maxAttenuation: 30,
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=NSNet2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NSNet2.js","sourceRoot":"","sources":["../../src/denoising/NSNet2.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,10 @@ let rnnoiseInstance;
|
|
|
7
7
|
export async function denoiseAudio(rawAudio) {
|
|
8
8
|
const logger = new Logger();
|
|
9
9
|
if (rawAudio.sampleRate != 48000) {
|
|
10
|
-
throw new Error(
|
|
10
|
+
throw new Error(`RNNoise requires a 48000 Hz sample rate (${rawAudio.sampleRate} Hz given)`);
|
|
11
11
|
}
|
|
12
|
-
if (rawAudio.audioChannels.length
|
|
13
|
-
throw new Error('
|
|
12
|
+
if (rawAudio.audioChannels.length !== 1) {
|
|
13
|
+
throw new Error('RNNoise requires a channel count of 1');
|
|
14
14
|
}
|
|
15
15
|
if (rawAudio.audioChannels[0].length == 0) {
|
|
16
16
|
return { denoisedRawAudio: cloneRawAudio(rawAudio), frameVadProbabilities: [] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RNNoise.js","sourceRoot":"","sources":["../../src/denoising/RNNoise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAY,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEpE,IAAI,eAAoB,CAAA;AAExB,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAkB;IACpD,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAC3B,IAAI,QAAQ,CAAC,UAAU,IAAI,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"RNNoise.js","sourceRoot":"","sources":["../../src/denoising/RNNoise.ts"],"names":[],"mappings":"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"}
|
package/dist/dsp/FFT.d.ts
CHANGED
|
@@ -7,7 +7,12 @@ export declare function fftFramesToPowerSpectogram(fftFrames: Float32Array[]): F
|
|
|
7
7
|
export declare function fftFrameToPowerSpectrum(fftFrame: Float32Array): Float32Array;
|
|
8
8
|
export declare function binBufferToComplex(bins: Float32Array, extendAndMirror?: boolean): ComplexNumber[];
|
|
9
9
|
export declare function complexToBinBuffer(complexBins: ComplexNumber[]): Float32Array;
|
|
10
|
+
export declare function complexToMagnitudeAndPhase(real: number, imaginary: number): {
|
|
11
|
+
magnitude: number;
|
|
12
|
+
phase: number;
|
|
13
|
+
};
|
|
14
|
+
export declare function magnitudeAndPhaseToComplex(magnitude: number, phase: number): ComplexNumber;
|
|
10
15
|
export declare function getWindowWeights(windowType: WindowType, windowSize: number): Float32Array;
|
|
11
16
|
export declare function isPffftSimdSupportedForFFTOrder(fftOrder: number): boolean;
|
|
12
17
|
export declare function getPFFFTInstance(enableSimd: boolean): Promise<any>;
|
|
13
|
-
export type WindowType = 'hann' | 'hamming' | 'povey';
|
|
18
|
+
export type WindowType = 'hann' | 'hann-sqrt' | 'hamming' | 'povey';
|
package/dist/dsp/FFT.js
CHANGED
|
@@ -158,6 +158,18 @@ export function complexToBinBuffer(complexBins) {
|
|
|
158
158
|
}
|
|
159
159
|
return binBuffer;
|
|
160
160
|
}
|
|
161
|
+
// Convert complex bin to magnitude and phase
|
|
162
|
+
export function complexToMagnitudeAndPhase(real, imaginary) {
|
|
163
|
+
const magnitude = Math.sqrt((real ** 2) + (imaginary ** 2));
|
|
164
|
+
const phase = Math.atan2(imaginary, real);
|
|
165
|
+
return { magnitude, phase };
|
|
166
|
+
}
|
|
167
|
+
// Convert magnitude and phase to complex bin
|
|
168
|
+
export function magnitudeAndPhaseToComplex(magnitude, phase) {
|
|
169
|
+
const real = magnitude * Math.cos(phase);
|
|
170
|
+
const imaginary = magnitude * Math.sin(phase);
|
|
171
|
+
return { real, imaginary };
|
|
172
|
+
}
|
|
161
173
|
// Get window weights for a particular window function
|
|
162
174
|
export function getWindowWeights(windowType, windowSize) {
|
|
163
175
|
const weights = new Float32Array(windowSize);
|
|
@@ -168,6 +180,11 @@ export function getWindowWeights(windowType, windowSize) {
|
|
|
168
180
|
weights[i] = 0.5 * (1 - Math.cos(innerFactor * i));
|
|
169
181
|
}
|
|
170
182
|
}
|
|
183
|
+
else if (windowType == 'hann-sqrt') {
|
|
184
|
+
for (let i = 0; i < windowSize; i++) {
|
|
185
|
+
weights[i] = Math.sqrt(0.5 * (1 - Math.cos(innerFactor * i)));
|
|
186
|
+
}
|
|
187
|
+
}
|
|
171
188
|
else if (windowType == 'hamming') {
|
|
172
189
|
for (let i = 0; i < windowSize; i++) {
|
|
173
190
|
//weights[i] = 0.54 - (0.46 * Math.cos(2 * Math.PI * (i / (windowSize - 1))))
|
package/dist/dsp/FFT.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FFT.js","sourceRoot":"","sources":["../../src/dsp/FFT.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FFT.js","sourceRoot":"","sources":["../../src/dsp/FFT.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EncodeIntoResult } from "./TextEncodingsCommon.js";
|
|
2
|
+
export declare function encodeAscii(asciiString: string): Uint8Array;
|
|
3
|
+
export declare function encodeAsciiInto(asciiString: string, resultBuffer: Uint8Array): EncodeIntoResult;
|
|
4
|
+
export declare function decodeAscii(encodedString: Uint8Array): string;
|
|
5
|
+
export declare class ChunkedAsciiDecoder {
|
|
6
|
+
private str;
|
|
7
|
+
private readonly textDecoder;
|
|
8
|
+
writeChunk(chunk: Uint8Array): void;
|
|
9
|
+
toString(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export function encodeAscii(asciiString) {
|
|
2
|
+
const charCount = asciiString.length;
|
|
3
|
+
const resultArray = new Uint8Array(charCount);
|
|
4
|
+
const { written } = encodeAsciiInto(asciiString, resultArray);
|
|
5
|
+
return resultArray.subarray(0, written);
|
|
6
|
+
}
|
|
7
|
+
export function encodeAsciiInto(asciiString, resultBuffer) {
|
|
8
|
+
const len = asciiString.length;
|
|
9
|
+
if (resultBuffer.length < len) {
|
|
10
|
+
throw new Error(`Result Uint8Array is not large enough to hold the string`);
|
|
11
|
+
}
|
|
12
|
+
for (let readOffset = 0; readOffset < len; readOffset++) {
|
|
13
|
+
const charCode = asciiString.charCodeAt(readOffset);
|
|
14
|
+
if (charCode >= 128) {
|
|
15
|
+
throw new Error(`Character '${asciiString[readOffset]}' (code: ${charCode}) can't be encoded as a standard ASCII character`);
|
|
16
|
+
}
|
|
17
|
+
resultBuffer[readOffset] = charCode;
|
|
18
|
+
}
|
|
19
|
+
return { read: len, written: len };
|
|
20
|
+
}
|
|
21
|
+
export function decodeAscii(encodedString) {
|
|
22
|
+
const maxChunkLength = 2 ** 24;
|
|
23
|
+
const decoder = new ChunkedAsciiDecoder();
|
|
24
|
+
for (let offset = 0; offset < encodedString.length; offset += maxChunkLength) {
|
|
25
|
+
const chunk = encodedString.subarray(offset, offset + maxChunkLength);
|
|
26
|
+
decoder.writeChunk(chunk);
|
|
27
|
+
}
|
|
28
|
+
return decoder.toString();
|
|
29
|
+
}
|
|
30
|
+
export class ChunkedAsciiDecoder {
|
|
31
|
+
str = '';
|
|
32
|
+
textDecoder = new TextDecoder('windows-1252');
|
|
33
|
+
writeChunk(chunk) {
|
|
34
|
+
const decodedChunk = this.textDecoder.decode(chunk);
|
|
35
|
+
this.str += decodedChunk;
|
|
36
|
+
}
|
|
37
|
+
toString() {
|
|
38
|
+
return this.str;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=Ascii.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ascii.js","sourceRoot":"","sources":["../../src/encodings/Ascii.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAA;IAEpC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;IAE7C,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAE7D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,YAAwB;IAC5E,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAA;IAE9B,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAEnD,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,cAAc,WAAW,CAAC,UAAU,CAAC,YAAY,QAAQ,kDAAkD,CAAC,CAAA;QAC7H,CAAC;QAED,YAAY,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAA;IACpC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,aAAyB;IACpD,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,cAAc,CAAC,CAAA;IAE9D,UAAU,CAAC,KAAiB;QAC3B,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,5 @@
|
|
|
1
|
+
export declare function encodeBase64(inputBytes: Uint8Array, paddingCharacter?: string | undefined, charCodeMap?: Uint8Array): string;
|
|
2
|
+
export declare function encodeBase64AsAsciiBuffer(inputBytes: Uint8Array, asciiBuffer?: Uint8Array, paddingCharacter?: string | undefined, charCodeMap?: Uint8Array): Uint8Array;
|
|
3
|
+
export declare function decodeBase64(base64String: string, outputBuffer?: Uint8Array, paddingCharacter?: string, reverseCharCodeMap?: Uint8Array): Uint8Array;
|
|
4
|
+
export declare const defaultBase64CharCodeMap: Uint8Array;
|
|
5
|
+
export declare const defaultBase64ReverseCharCodeMap: Uint8Array;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { decodeAscii } from './Ascii.js';
|
|
2
|
+
export function encodeBase64(inputBytes, paddingCharacter = '=', charCodeMap) {
|
|
3
|
+
const asciiBuffer = encodeBase64AsAsciiBuffer(inputBytes, undefined, paddingCharacter, charCodeMap);
|
|
4
|
+
return decodeAscii(asciiBuffer);
|
|
5
|
+
}
|
|
6
|
+
export function encodeBase64AsAsciiBuffer(inputBytes, asciiBuffer, paddingCharacter = '=', charCodeMap) {
|
|
7
|
+
if (!inputBytes || inputBytes.length == 0) {
|
|
8
|
+
return new Uint8Array(0);
|
|
9
|
+
}
|
|
10
|
+
let paddingCharCode;
|
|
11
|
+
if (paddingCharacter == null) {
|
|
12
|
+
paddingCharCode = -1;
|
|
13
|
+
}
|
|
14
|
+
else if (paddingCharacter.length !== 1) {
|
|
15
|
+
throw new Error(`A padding character can only be a single character`);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
paddingCharCode = paddingCharacter.charCodeAt(0);
|
|
19
|
+
}
|
|
20
|
+
if (!charCodeMap) {
|
|
21
|
+
charCodeMap = defaultBase64CharCodeMap;
|
|
22
|
+
}
|
|
23
|
+
let charCodes;
|
|
24
|
+
if (asciiBuffer) {
|
|
25
|
+
charCodes = asciiBuffer;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
charCodes = new Uint8Array(Math.floor((inputBytes.length * 4 / 3) + 4));
|
|
29
|
+
}
|
|
30
|
+
const inputBytesLength = inputBytes.length;
|
|
31
|
+
let writeOffset = 0;
|
|
32
|
+
let readOffset = 0;
|
|
33
|
+
while (readOffset <= inputBytesLength - 3) {
|
|
34
|
+
const uint24 = inputBytes[readOffset++] << 16 |
|
|
35
|
+
inputBytes[readOffset++] << 8 |
|
|
36
|
+
inputBytes[readOffset++];
|
|
37
|
+
charCodes[writeOffset++] = charCodeMap[(uint24 >>> 18) & 63];
|
|
38
|
+
charCodes[writeOffset++] = charCodeMap[(uint24 >>> 12) & 63];
|
|
39
|
+
charCodes[writeOffset++] = charCodeMap[(uint24 >>> 6) & 63];
|
|
40
|
+
charCodes[writeOffset++] = charCodeMap[(uint24) & 63];
|
|
41
|
+
}
|
|
42
|
+
if (readOffset === inputBytesLength - 2) {
|
|
43
|
+
// If two bytes are left, output 3 encoded characters and one padding character
|
|
44
|
+
const uint24 = inputBytes[readOffset++] << 16 |
|
|
45
|
+
inputBytes[readOffset++] << 8;
|
|
46
|
+
charCodes[writeOffset++] = charCodeMap[(uint24 >>> 18) & 63];
|
|
47
|
+
charCodes[writeOffset++] = charCodeMap[(uint24 >>> 12) & 63];
|
|
48
|
+
charCodes[writeOffset++] = charCodeMap[(uint24 >>> 6) & 63];
|
|
49
|
+
if (paddingCharCode >= 0) {
|
|
50
|
+
charCodes[writeOffset++] = paddingCharCode;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else if (readOffset === inputBytesLength - 1) {
|
|
54
|
+
// Arrived at last byte at a position that did not complete a full 3 byte set
|
|
55
|
+
const uint24 = inputBytes[readOffset++] << 16;
|
|
56
|
+
charCodes[writeOffset++] = charCodeMap[(uint24 >>> 18) & 63];
|
|
57
|
+
charCodes[writeOffset++] = charCodeMap[(uint24 >>> 12) & 63];
|
|
58
|
+
if (paddingCharCode >= 0) {
|
|
59
|
+
charCodes[writeOffset++] = paddingCharCode;
|
|
60
|
+
charCodes[writeOffset++] = paddingCharCode;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return charCodes.subarray(0, writeOffset);
|
|
64
|
+
}
|
|
65
|
+
export function decodeBase64(base64String, outputBuffer, paddingCharacter = '=', reverseCharCodeMap) {
|
|
66
|
+
if (!base64String || base64String.length === 0) {
|
|
67
|
+
return new Uint8Array(0);
|
|
68
|
+
}
|
|
69
|
+
if (!paddingCharacter || paddingCharacter.length !== 1) {
|
|
70
|
+
throw new Error(`A valid padding character must be provided for Base 64 decoding`);
|
|
71
|
+
}
|
|
72
|
+
// Add padding if omitted
|
|
73
|
+
const lengthModulo4 = base64String.length % 4;
|
|
74
|
+
if (lengthModulo4 === 1) {
|
|
75
|
+
throw new Error(`Invalid Base64 string: length % 4 == 1`);
|
|
76
|
+
}
|
|
77
|
+
else if (lengthModulo4 === 2) {
|
|
78
|
+
base64String += paddingCharacter;
|
|
79
|
+
base64String += paddingCharacter;
|
|
80
|
+
}
|
|
81
|
+
else if (lengthModulo4 === 3) {
|
|
82
|
+
base64String += paddingCharacter;
|
|
83
|
+
}
|
|
84
|
+
if (!reverseCharCodeMap) {
|
|
85
|
+
reverseCharCodeMap = defaultBase64ReverseCharCodeMap;
|
|
86
|
+
}
|
|
87
|
+
if (!outputBuffer) {
|
|
88
|
+
const capacity = (base64String.length / 4) * 3;
|
|
89
|
+
outputBuffer = new Uint8Array(capacity);
|
|
90
|
+
}
|
|
91
|
+
const stringLength = base64String.length;
|
|
92
|
+
let readOffset = 0;
|
|
93
|
+
let writeOffset = 0;
|
|
94
|
+
while (readOffset < stringLength) {
|
|
95
|
+
const uint24 = (reverseCharCodeMap[base64String.charCodeAt(readOffset++)] << 18) |
|
|
96
|
+
(reverseCharCodeMap[base64String.charCodeAt(readOffset++)] << 12) |
|
|
97
|
+
(reverseCharCodeMap[base64String.charCodeAt(readOffset++)] << 6) |
|
|
98
|
+
(reverseCharCodeMap[base64String.charCodeAt(readOffset++)]);
|
|
99
|
+
outputBuffer[writeOffset++] = (uint24 >>> 16) & 255;
|
|
100
|
+
outputBuffer[writeOffset++] = (uint24 >>> 8) & 255;
|
|
101
|
+
outputBuffer[writeOffset++] = (uint24) & 255;
|
|
102
|
+
}
|
|
103
|
+
// Remove 1 or 2 last bytes if padding characters were added to the string
|
|
104
|
+
if (base64String[stringLength - 1] === paddingCharacter) {
|
|
105
|
+
writeOffset--;
|
|
106
|
+
}
|
|
107
|
+
if (base64String[stringLength - 2] === paddingCharacter) {
|
|
108
|
+
writeOffset--;
|
|
109
|
+
}
|
|
110
|
+
return outputBuffer.subarray(0, writeOffset);
|
|
111
|
+
}
|
|
112
|
+
export const defaultBase64CharCodeMap = new Uint8Array([65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47]);
|
|
113
|
+
export const defaultBase64ReverseCharCodeMap = new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 0, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255]);
|
|
114
|
+
//# sourceMappingURL=Base64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Base64.js","sourceRoot":"","sources":["../../src/encodings/Base64.ts"],"names":[],"mappings":"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"}
|