echogarden 2.8.6 → 2.9.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/dist/api/Recognition.d.ts +3 -3
- package/dist/api/Recognition.js +5 -5
- package/dist/api/Recognition.js.map +1 -1
- package/dist/api/SpeechTranslation.d.ts +4 -4
- package/dist/api/SpeechTranslation.js +4 -4
- package/dist/api/SpeechTranslation.js.map +1 -1
- package/dist/denoising/NSNet2.js +8 -8
- package/dist/denoising/NSNet2.js.map +1 -1
- package/dist/dsp/FFT.d.ts +2 -2
- package/dist/dsp/FFT.js +19 -15
- package/dist/dsp/FFT.js.map +1 -1
- package/dist/dsp/MFCC.d.ts +1 -1
- package/dist/dsp/MFCC.js +8 -8
- package/dist/dsp/MFCC.js.map +1 -1
- package/dist/dsp/{MelSpectogram.d.ts → MelSpectrogram.d.ts} +5 -5
- package/dist/dsp/{MelSpectogram.js → MelSpectrogram.js} +9 -9
- package/dist/dsp/MelSpectrogram.js.map +1 -0
- package/dist/math/VectorMath.d.ts +5 -1
- package/dist/math/VectorMath.js +15 -2
- package/dist/math/VectorMath.js.map +1 -1
- package/dist/nlp/IPA.d.ts +3 -3
- package/dist/recognition/WhisperSTT.d.ts +9 -6
- package/dist/recognition/WhisperSTT.js +92 -60
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.js +5 -5
- package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js +14 -14
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js.map +1 -1
- package/dist/utilities/Utilities.d.ts +1 -1
- package/dist/utilities/Utilities.js +4 -2
- package/dist/utilities/Utilities.js.map +1 -1
- package/docs/Licenses.md +0 -2
- package/docs/Tasklist.md +18 -5
- package/package.json +14 -14
- package/src/api/Recognition.ts +10 -7
- package/src/api/SpeechTranslation.ts +16 -6
- package/src/denoising/NSNet2.ts +8 -8
- package/src/dsp/FFT.ts +23 -17
- package/src/dsp/MFCC.ts +8 -8
- package/src/dsp/{MelSpectogram.ts → MelSpectrogram.ts} +9 -8
- package/src/math/VectorMath.ts +22 -2
- package/src/recognition/WhisperSTT.ts +131 -65
- package/src/source-separation/MDXNetSourceSeparation.ts +5 -5
- package/src/speech-embeddings/WavToVec2BertFeatureEmbeddings.ts +14 -14
- package/src/utilities/Utilities.ts +4 -2
- package/dist/dsp/MelSpectogram.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorMath.js","sourceRoot":"","sources":["../../src/math/VectorMath.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VectorMath.js","sourceRoot":"","sources":["../../src/math/VectorMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAEhD,MAAM,UAAU,yBAAyB,CAAC,OAA4B,EAAE,OAA2B,EAAE,MAAM,GAAG,KAAK;IAClH,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAElF,IAAI,gBAAgB,CAAA;IAEpB,IAAI,OAAO,EAAE,CAAC;QACb,gBAAgB,GAAG,yCAAyC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IACvF,CAAC;SAAM,CAAC;QACP,gBAAgB,GAAG,iCAAiC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,eAAoC,EAAE,MAAM,GAAG,KAAK,EAAE,4BAA4B,GAAG,IAAI;IAC1I,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAA;IAE1C,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAA;IACnF,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAE9C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAEtE,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACX,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/C,SAAQ;YACT,CAAC;YAED,IAAI,aAAa,GAAG,GAAG,CAAA;YAEvB,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACtC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;YAED,aAAa,IAAI,gBAAgB,CAAA;YAEjC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACZ,aAAa,IAAI,4BAA4B,CAAA;YAC9C,CAAC;YAED,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAA;QACvC,CAAC;IACF,CAAC;IAED,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,yCAAyC,CAAC,eAAoC,EAAE,OAA0B,EAAE,4BAA4B,GAAG,IAAI;IAC9J,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAA;IAE1C,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAE9C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAEtE,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACX,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/C,SAAQ;YACT,CAAC;YAED,IAAI,aAAa,GAAG,GAAG,CAAA;YAEvB,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;gBACpE,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;gBAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;gBAEnC,aAAa,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACZ,aAAa,IAAI,4BAA4B,CAAA;YAC9C,CAAC;YAED,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAA;QACvC,CAAC;IACF,CAAC;IAED,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA4B,EAAE,OAA2B;IACtF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;IAElC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,eAAe,EAAE,EAAoB,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5E,CAAC;IAED,IAAI,IAAkB,CAAA;IAEtB,IAAI,OAAO,EAAE,CAAC;QACb,IAAI,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;SAAM,CAAC;QACP,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,eAAe,GAAmB,EAAE,CAAA;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAExD,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAyB;IACrD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAEjC,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACrC,CAAC;IAED,OAAO,cAAc,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAyB;IACtD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IAE3C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE9C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAA;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,YAAY,CAAC,CAAC,CAAC,IAAI,WAAW,CAAA;QAC/B,CAAC;IACF,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAEnC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACd,OAAO,YAAY,CAAA;IACpB,CAAC;IAED,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;QAEtB,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,YAAY,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAyB,EAAE,OAAgC,YAAY;IACtG,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAE7D,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,YAAY,CAAA;QAEvD,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAA4B,EAAE,OAAgC,YAAY;IAC1G,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;IAElC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,iBAAiB,EAAE,EAAoB,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IACjH,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAEtC,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAE/D,MAAM,iBAAiB,GAAmB,EAAE,CAAA;IAE5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;QAEnD,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;YACxE,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;YAEzG,gBAAgB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAA;QAC3E,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,iBAAsC,EAAE,YAA+B,EAAE,oBAAuC;IAClJ,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAA;IAE3C,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAoB,CAAA;IAC5B,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAEhD,MAAM,mBAAmB,GAAmB,EAAE,CAAA;IAE9C,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;QAClD,MAAM,kBAAkB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;QAErD,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;YACxE,kBAAkB,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;QACtI,CAAC;QAED,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,mBAAmB,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA4B;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;IAElC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAEtC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAEzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;YACxE,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAA;QAC7C,CAAC;IACF,CAAC;IAED,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;QACxE,MAAM,CAAC,YAAY,CAAC,IAAI,WAAW,CAAA;IACpC,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA4B,EAAE,OAA0B;IAC7F,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;IAElC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAEtC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAEzC,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QACnC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QAEzC,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;YACxE,MAAM,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;QAC5D,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA4B,EAAE,OAAgC,YAAY,EAAE,IAAwB;IACzI,OAAO,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAA4B,EAAE,OAAgC,YAAY,EAAE,IAAwB;IACrI,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;IAElC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,IAAI,YAAY,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAA;IACjG,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAEzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC;IACF,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAA;IAC9B,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAyB;IACrD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAA;IACT,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAyB;IACvD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAE5D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAE9D,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAyB,EAAE,OAAgC,YAAY,EAAE,IAAa;IAC1H,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAyB,EAAE,OAAgC,YAAY,EAAE,IAAa;IACtH,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAA;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAEvG,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,MAAM,GAAG,GAAG,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,MAAM,GAAG,gBAAgB,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAyB,EAAE,MAAM,GAAG,KAAK;IACpE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAyB;IACpD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAA2B;IACpD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAA;IACjC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAErC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAErE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC;IACF,CAAC;IAED,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAyB;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;IAElC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAA;IAE7C,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAE/G,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA2B,EAAE,QAA6B;IACjG,IAAI,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAA;IAEjC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAA;IACT,CAAC;IAED,IAAI,GAAG,GAAG,GAAG,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,GAAG,GAAG,WAAW,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAyB,EAAE,QAA2B;IACtF,IAAI,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;IAElC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,CAAA;IACT,CAAC;IAED,IAAI,GAAG,GAAG,GAAG,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,GAAG,GAAG,YAAY,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAA0B,EAAE,OAA0B;IACvF,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA0B,EAAE,OAA0B;IAC9F,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IAEnC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAA;IACT,CAAC;IAED,IAAI,GAAG,GAAG,GAAG,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAA0B,EAAE,OAA0B;IAC5F,OAAO,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAA0B,EAAE,OAA0B;IACnG,kFAAkF;IAElF,MAAM,MAAM,GACX,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAEjC,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA0B,EAAE,OAA0B;IACpF,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAA0B,EAAE,OAA0B;IACtF,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAA;IACT,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IAEnC,IAAI,UAAU,GAAG,GAAG,CAAA;IAEpB,IAAI,iBAAiB,GAAG,GAAG,CAAA;IAC3B,IAAI,iBAAiB,GAAG,GAAG,CAAA;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAE3B,UAAU,IAAI,QAAQ,GAAG,QAAQ,CAAA;QAEjC,iBAAiB,IAAI,QAAQ,IAAI,CAAC,CAAA;QAClC,iBAAiB,IAAI,QAAQ,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,MAAM,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAA;IAE/F,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAEhC,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,OAA0B,EAAE,OAA0B,EAAE,UAAkB,EAAE,UAAkB;IACjJ,OAAO,CAAC,GAAG,qCAAqC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAC3F,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,OAA0B,EAAE,OAA0B,EAAE,UAAkB,EAAE,UAAkB;IACnJ,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,CAAA;IACT,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IAEnC,IAAI,UAAU,GAAG,GAAG,CAAA;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,MAAM,GAAG,UAAU,GAAG,CAAC,UAAU,GAAG,UAAU,GAAG,KAAK,CAAC,CAAA;IAE3D,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAEhC,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAA0B,EAAE,OAA0B,EAAE,KAAa;IACtG,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IAEnC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,CAAA;IACT,CAAC;IAED,IAAI,GAAG,GAAG,GAAG,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAA;IAClD,CAAC;IAED,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAA0B,EAAE,OAA0B;IACrF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IAEnC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAyB;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;IAElC,IAAI,MAAM,GAAG,GAAG,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;IAElC,IAAI,MAAM,GAAG,GAAG,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAyB;IACnE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;IAElC,IAAI,GAAG,GAAG,GAAG,CAAA;IACb,IAAI,YAAY,GAAG,GAAG,CAAA;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,GAAG,IAAI,KAAK,CAAA;QACZ,YAAY,IAAI,KAAK,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAA0B,EAAE,OAA0B;IAChF,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IAEnC,IAAI,MAAM,GAAG,GAAG,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAyB;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;IAElC,IAAI,gBAAgB,GAAG,GAAG,CAAA;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAyB;IACjD,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAyB;IACnD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,CAAA;IACV,CAAC;IAED,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;YAC1B,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACpB,MAAM,GAAG,CAAC,CAAA;QACX,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAyB;IACjD,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAyB;IACnD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;IAClC,IAAI,QAAQ,GAAG,QAAQ,CAAA;IACvB,IAAI,MAAM,GAAG,CAAC,CAAC,CAAA;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;YAC1B,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACpB,MAAM,GAAG,CAAC,CAAA;QACX,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS;IAChC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAErC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAyB,EAAE,WAAW,GAAG,GAAG;IACnE,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAE5C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAA;IAEhC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACtB,QAAQ,GAAG,KAAK,CAAA;QACjB,CAAC;IACF,CAAC;IAED,MAAM,qBAAqB,GAAG,CAAC,GAAG,WAAW,CAAA;IAE7C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAA;IAE5C,IAAI,wBAAwB,GAAG,GAAG,CAAA;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,qBAAqB,CAAC,CAAA;QAErE,wBAAwB,IAAI,QAAQ,CAAA;QAEpC,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAA;IACtB,CAAC;IAED,MAAM,kCAAkC,GAAG,CAAC,GAAG,CAAC,wBAAwB,GAAG,KAAK,CAAC,CAAA;IAEjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,IAAI,kCAAkC,CAAA;IACjD,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAAc,EAAE,SAAS,GAAG,EAAE;IAC7E,IAAI,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;IAE9B,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,QAAQ,GAAG,CAAC,CAAA;QACtB,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,YAAoB,EAAE,YAAY,GAAG,GAAG;IAC9F,MAAM,MAAM,GAAmB,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAAoB,EAAE,YAAY,GAAG,GAAG;IACpE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAA;IAE7C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACpC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,CAAA;IACT,CAAC;SAAM,CAAC;QACP,OAAO,GAAG,CAAA;IACX,CAAC;AACF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAyB,EAAE,MAAM,GAAG,KAAK;IAClE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAyB;IAC/C,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,QAAQ,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAyB,EAAE,MAAM,GAAG,KAAK;IACnE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEvC,OAAO,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,OAAO,eAAe;IAC3B,mBAAmB,GAAG,CAAC,CAAA;IACvB,WAAW,GAAG,GAAG,CAAA;IAEjB,cAAc,CAAC,KAAa;QAC3B,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAA;IAC1E,CAAC;CAQD"}
|
package/dist/nlp/IPA.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare function getPhoneSubstitutionCost1(ipa1: string, ipa2: string):
|
|
2
|
-
export declare function getPhoneSubstitutionCost2(ipa1: string, ipa2: string):
|
|
3
|
-
export declare function getPhoneSubstitutionCost3(ipa1: string, ipa2: string):
|
|
1
|
+
export declare function getPhoneSubstitutionCost1(ipa1: string, ipa2: string): 1 | 0;
|
|
2
|
+
export declare function getPhoneSubstitutionCost2(ipa1: string, ipa2: string): 1 | 0 | 0.5;
|
|
3
|
+
export declare function getPhoneSubstitutionCost3(ipa1: string, ipa2: string): 1 | 0 | 0.5 | 0.75;
|
|
4
4
|
export declare function isKnownSymbol(ipa: string): boolean;
|
|
5
5
|
export declare function isConsonant(ipa: string): boolean;
|
|
6
6
|
export declare function isVowel(ipa: string): boolean;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type * as Onnx from 'onnxruntime-node';
|
|
2
|
-
import { Filterbank } from '../dsp/
|
|
2
|
+
import { Filterbank } from '../dsp/MelSpectrogram.js';
|
|
3
3
|
import { Timeline } from '../utilities/Timeline.js';
|
|
4
4
|
import { AlignmentPath } from '../alignment/SpeechAlignment.js';
|
|
5
5
|
import { RawAudio } from '../audio/AudioUtilities.js';
|
|
6
|
-
import type
|
|
6
|
+
import { type LanguageDetectionResults } from '../api/API.js';
|
|
7
7
|
import { XorShift32PRNG } from '../utilities/RandomGenerator.js';
|
|
8
8
|
import { type Tiktoken } from 'tiktoken/lite';
|
|
9
9
|
import { OnnxExecutionProvider, OnnxLikeFloat32Tensor } from '../utilities/OnnxUtilities.js';
|
|
10
|
-
export declare function recognize(sourceRawAudio: RawAudio, modelName: WhisperModelName, modelDir: string, task: WhisperTask, sourceLanguage: string, options: WhisperOptions): Promise<{
|
|
10
|
+
export declare function recognize(sourceRawAudio: RawAudio, modelName: WhisperModelName, modelDir: string, task: WhisperTask, sourceLanguage: string, options: WhisperOptions, onPart?: WhisperPartCallback): Promise<{
|
|
11
11
|
transcript: string;
|
|
12
12
|
timeline: Timeline;
|
|
13
13
|
allDecodedTokens: number[];
|
|
@@ -42,7 +42,7 @@ export declare class Whisper {
|
|
|
42
42
|
};
|
|
43
43
|
randomGen: XorShift32PRNG;
|
|
44
44
|
constructor(modelName: WhisperModelName, modelDir: string, encoderExecutionProviders: OnnxExecutionProvider[], decoderExecutionProviders: OnnxExecutionProvider[], prngSeed?: number);
|
|
45
|
-
recognize(rawAudio: RawAudio, task: WhisperTask, language: string, options: WhisperOptions, logitFilter?: WhisperLogitFilter): Promise<{
|
|
45
|
+
recognize(rawAudio: RawAudio, task: WhisperTask, language: string, options: WhisperOptions, logitFilter?: WhisperLogitFilter, onPart?: WhisperPartCallback): Promise<{
|
|
46
46
|
transcript: string;
|
|
47
47
|
timeline: Timeline;
|
|
48
48
|
allDecodedTokens: number[];
|
|
@@ -55,6 +55,9 @@ export declare class Whisper {
|
|
|
55
55
|
decodedTokensTimestampLogits: number[][];
|
|
56
56
|
decodedTokensConfidence: number[];
|
|
57
57
|
decodedTokensCrossAttentionQKs: OnnxLikeFloat32Tensor[];
|
|
58
|
+
decodedTokensDecodingTime: number[];
|
|
59
|
+
decodedTokensInferenceTime: number[];
|
|
60
|
+
decodedTokensOverheadTime: number[];
|
|
58
61
|
}>;
|
|
59
62
|
encodeAudio(rawAudio: RawAudio): Promise<Onnx.Tensor>;
|
|
60
63
|
tokenTimelineToWordTimeline(tokenTimeline: Timeline, language: string): Timeline;
|
|
@@ -158,5 +161,5 @@ export interface WhisperVADOptions {
|
|
|
158
161
|
decoderProvider?: OnnxExecutionProvider;
|
|
159
162
|
}
|
|
160
163
|
export declare const defaultWhisperVADOptions: WhisperVADOptions;
|
|
161
|
-
type WhisperTimestampAccuracy = 'medium' | 'high';
|
|
162
|
-
export
|
|
164
|
+
export type WhisperTimestampAccuracy = 'medium' | 'high';
|
|
165
|
+
export type WhisperPartCallback = (partTranscript: string, partTokenTimeline: Timeline, partWordTimeline: Timeline) => void;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
1
2
|
import { Logger } from '../utilities/Logger.js';
|
|
2
|
-
import {
|
|
3
|
+
import { computeMelSpectrogramUsingFilterbanks } from '../dsp/MelSpectrogram.js';
|
|
3
4
|
import { clip, getIntegerRange, getTopKIndexes, splitFloat32Array, yieldToEventLoop } from '../utilities/Utilities.js';
|
|
4
|
-
import { indexOfMax, logOfVector, logSumExp, meanOfVector,
|
|
5
|
+
import { indexOfMax, logOfVector, logSumExp, meanOfVector, medianOfVector, softmax, sumAndSumOfSquaresOfVector } from '../math/VectorMath.js';
|
|
5
6
|
import { alignDTWWindowed } from '../alignment/DTWSequenceAlignmentWindowed.js';
|
|
6
7
|
import { extendDeep } from '../utilities/ObjectUtilities.js';
|
|
7
8
|
import { getRawAudioDuration, sliceRawAudio } from '../audio/AudioUtilities.js';
|
|
8
9
|
import { readFileAsUtf8 } from '../utilities/FileSystem.js';
|
|
10
|
+
import { logLevelGreaterOrEqualTo } from '../api/API.js';
|
|
9
11
|
import { formatLanguageCodeWithName, getShortLanguageCode, languageCodeToName } from '../utilities/Locale.js';
|
|
10
12
|
import { loadPackage } from '../utilities/PackageManager.js';
|
|
11
|
-
import chalk from 'chalk';
|
|
12
13
|
import { XorShift32PRNG } from '../utilities/RandomGenerator.js';
|
|
13
14
|
import { detectSpeechLanguageByParts } from '../api/SpeechLanguageDetection.js';
|
|
14
15
|
import { includesPunctuation, isWhitespace, splitToWords } from '../nlp/Segmentation.js';
|
|
@@ -18,16 +19,17 @@ import { dmlProviderAvailable, getOnnxSessionOptions, makeOnnxLikeFloat32Tensor
|
|
|
18
19
|
import { murmurHash3_int32Input } from '../utilities/Hashing.js';
|
|
19
20
|
import { containsInvalidCodepoint, getTokenRepetitionScore } from '../utilities/StringUtilities.js';
|
|
20
21
|
import { joinPath } from '../utilities/PathUtilities.js';
|
|
21
|
-
|
|
22
|
+
import { Timer } from '../utilities/Timer.js';
|
|
23
|
+
export async function recognize(sourceRawAudio, modelName, modelDir, task, sourceLanguage, options, onPart) {
|
|
22
24
|
options = extendDeep(defaultWhisperOptions, options);
|
|
23
|
-
if (sourceRawAudio.sampleRate
|
|
25
|
+
if (sourceRawAudio.sampleRate !== 16000) {
|
|
24
26
|
throw new Error('Source audio must have a sample rate of 16000 Hz');
|
|
25
27
|
}
|
|
26
28
|
sourceLanguage = getShortLanguageCode(sourceLanguage);
|
|
27
29
|
if (!(sourceLanguage in languageIdLookup)) {
|
|
28
30
|
throw new Error(`The language ${formatLanguageCodeWithName(sourceLanguage)} is not supported by the Whisper engine.`);
|
|
29
31
|
}
|
|
30
|
-
if (isEnglishOnlyModel(modelName) && sourceLanguage
|
|
32
|
+
if (isEnglishOnlyModel(modelName) && sourceLanguage !== 'en') {
|
|
31
33
|
throw new Error(`The model '${modelName}' can only be used with English inputs. However, the given source language was ${languageCodeToName(sourceLanguage)}.`);
|
|
32
34
|
}
|
|
33
35
|
if (modelName === 'large-v3-turbo' && task === 'translate') {
|
|
@@ -38,7 +40,7 @@ export async function recognize(sourceRawAudio, modelName, modelDir, task, sourc
|
|
|
38
40
|
}
|
|
39
41
|
// Workaround issue with large-v3-turbo that produces invalid results when a prompt is passed to it.
|
|
40
42
|
// Always disable autoprompting for that model.
|
|
41
|
-
if (options.autoPromptParts && modelName
|
|
43
|
+
if (options.autoPromptParts && modelName === 'large-v3-turbo') {
|
|
42
44
|
options.autoPromptParts = false;
|
|
43
45
|
}
|
|
44
46
|
// Select encoder ONNX provider
|
|
@@ -47,19 +49,19 @@ export async function recognize(sourceRawAudio, modelName, modelDir, task, sourc
|
|
|
47
49
|
const decoderProviders = options.decoderProvider ? [options.decoderProvider] : getDefaultDecoderProvidersForModel(modelName);
|
|
48
50
|
const seed = options.seed;
|
|
49
51
|
const whisper = new Whisper(modelName, modelDir, encoderProviders, decoderProviders, seed);
|
|
50
|
-
const result = await whisper.recognize(sourceRawAudio, task, sourceLanguage, options);
|
|
52
|
+
const result = await whisper.recognize(sourceRawAudio, task, sourceLanguage, options, undefined, onPart);
|
|
51
53
|
return result;
|
|
52
54
|
}
|
|
53
55
|
export async function align(sourceRawAudio, transcript, modelName, modelDir, sourceLanguage, options) {
|
|
54
56
|
options = extendDeep(defaultWhisperAlignmentOptions, options);
|
|
55
|
-
if (sourceRawAudio.sampleRate
|
|
57
|
+
if (sourceRawAudio.sampleRate !== 16000) {
|
|
56
58
|
throw new Error('Source audio must have a sample rate of 16000 Hz');
|
|
57
59
|
}
|
|
58
60
|
sourceLanguage = getShortLanguageCode(sourceLanguage);
|
|
59
61
|
if (!(sourceLanguage in languageIdLookup)) {
|
|
60
62
|
throw new Error(`The language ${formatLanguageCodeWithName(sourceLanguage)} is not supported by the Whisper engine.`);
|
|
61
63
|
}
|
|
62
|
-
if (isEnglishOnlyModel(modelName) && sourceLanguage
|
|
64
|
+
if (isEnglishOnlyModel(modelName) && sourceLanguage !== 'en') {
|
|
63
65
|
throw new Error(`The model '${modelName}' can only be used with English inputs. However, the given source language was ${languageCodeToName(sourceLanguage)}.`);
|
|
64
66
|
}
|
|
65
67
|
// Select encoder ONNX provider
|
|
@@ -72,7 +74,7 @@ export async function align(sourceRawAudio, transcript, modelName, modelDir, sou
|
|
|
72
74
|
}
|
|
73
75
|
export async function alignEnglishTranslation(sourceRawAudio, translatedTranscript, modelName, modelDir, sourceLanguage, options) {
|
|
74
76
|
options = extendDeep(defaultWhisperAlignmentOptions, options);
|
|
75
|
-
if (sourceRawAudio.sampleRate
|
|
77
|
+
if (sourceRawAudio.sampleRate !== 16000) {
|
|
76
78
|
throw new Error('Source audio must have a sample rate of 16000 Hz');
|
|
77
79
|
}
|
|
78
80
|
sourceLanguage = getShortLanguageCode(sourceLanguage);
|
|
@@ -95,7 +97,7 @@ export async function alignEnglishTranslation(sourceRawAudio, translatedTranscri
|
|
|
95
97
|
}
|
|
96
98
|
export async function detectLanguage(sourceRawAudio, modelName, modelDir, options) {
|
|
97
99
|
options = extendDeep(defaultWhisperLanguageDetectionOptions, options);
|
|
98
|
-
if (sourceRawAudio.sampleRate
|
|
100
|
+
if (sourceRawAudio.sampleRate !== 16000) {
|
|
99
101
|
throw new Error('Source audio must have a sample rate of 16000 Hz');
|
|
100
102
|
}
|
|
101
103
|
if (!isMultilingualModel(modelName)) {
|
|
@@ -120,7 +122,7 @@ export async function detectLanguage(sourceRawAudio, modelName, modelDir, option
|
|
|
120
122
|
}
|
|
121
123
|
export async function detectVoiceActivity(sourceRawAudio, modelName, modelDir, options) {
|
|
122
124
|
options = extendDeep(defaultWhisperVADOptions, options);
|
|
123
|
-
if (sourceRawAudio.sampleRate
|
|
125
|
+
if (sourceRawAudio.sampleRate !== 16000) {
|
|
124
126
|
throw new Error('Source audio must have a sample rate of 16000 Hz');
|
|
125
127
|
}
|
|
126
128
|
if (options.temperature < 0) {
|
|
@@ -201,7 +203,7 @@ export class Whisper {
|
|
|
201
203
|
}
|
|
202
204
|
this.randomGen = new XorShift32PRNG(murmurHash3_int32Input(prngSeed));
|
|
203
205
|
}
|
|
204
|
-
async recognize(rawAudio, task, language, options, logitFilter) {
|
|
206
|
+
async recognize(rawAudio, task, language, options, logitFilter, onPart) {
|
|
205
207
|
await this.initializeIfNeeded();
|
|
206
208
|
const logger = new Logger();
|
|
207
209
|
options = extendDeep(defaultWhisperOptions, options);
|
|
@@ -251,7 +253,7 @@ export class Whisper {
|
|
|
251
253
|
initialTokens = [...initialTokens, ...this.getTextStartTokens(language, task, !decodeTimestampTokens)];
|
|
252
254
|
//logger.log(`Initial tokens count: ${initialTokens.length}`)
|
|
253
255
|
logger.end();
|
|
254
|
-
let { decodedTokens: partTokens, decodedTokensConfidence: partTokensConfidence, decodedTokensCrossAttentionQKs:
|
|
256
|
+
let { decodedTokens: partTokens, decodedTokensConfidence: partTokensConfidence, decodedTokensCrossAttentionQKs: partTokensCrossAttentionQKs, decodedTokensDecodingTime: partTokensDecodingTime, decodedTokensInferenceTime: partTokensInferenceTime, decodedTokensOverheadTime: partTokensOverheadTime, } = await this.decodeTokens(audioPartFeatures, initialTokens, audioPartDuration, isFirstPart, isFinalPart, options, wrappedLogitFilter);
|
|
255
257
|
const lastToken = partTokens[partTokens.length - 1];
|
|
256
258
|
const lastTokenIsTimestamp = this.isTimestampToken(lastToken);
|
|
257
259
|
let audioEndOffset;
|
|
@@ -265,16 +267,16 @@ export class Whisper {
|
|
|
265
267
|
const segmentEndTime = audioEndOffset / sampleRate;
|
|
266
268
|
const segmentFrameCount = this.secondsRangeToFrameCount(segmentStartTime, segmentEndTime);
|
|
267
269
|
await logger.startAsync(`Extract timeline for part (timestamp accuracy: ${options.timestampAccuracy})`);
|
|
268
|
-
if (partTokens.length
|
|
269
|
-
throw new Error('Unexpected: partTokens.length
|
|
270
|
+
if (partTokens.length !== partTokensCrossAttentionQKs.length) {
|
|
271
|
+
throw new Error('Unexpected: partTokens.length !== partCrossAttentionQKs.length');
|
|
270
272
|
}
|
|
271
273
|
// Prepare tokens
|
|
272
274
|
partTokens = partTokens.slice(initialTokens.length);
|
|
273
275
|
partTokensConfidence = partTokensConfidence.slice(initialTokens.length);
|
|
274
|
-
|
|
276
|
+
partTokensCrossAttentionQKs = partTokensCrossAttentionQKs.slice(initialTokens.length);
|
|
275
277
|
// Find alignment path
|
|
276
278
|
let alignmentHeads;
|
|
277
|
-
if (options.timestampAccuracy === 'medium' || options.model
|
|
279
|
+
if (options.timestampAccuracy === 'medium' || options.model === 'large-v3-turbo') {
|
|
278
280
|
alignmentHeads = this.alignmentHeadIndexes;
|
|
279
281
|
}
|
|
280
282
|
else if (options.timestampAccuracy === 'high') {
|
|
@@ -283,9 +285,14 @@ export class Whisper {
|
|
|
283
285
|
else {
|
|
284
286
|
throw new Error(`Unsupported timestamp accuracy '${options.timestampAccuracy}', can only be 'medium' or 'high'.`);
|
|
285
287
|
}
|
|
286
|
-
const alignmentPath = await this.findAlignmentPathFromQKs(
|
|
288
|
+
const alignmentPath = await this.findAlignmentPathFromQKs(partTokensCrossAttentionQKs, partTokens, 0, segmentFrameCount, alignmentHeads);
|
|
287
289
|
// Generate timeline from alignment path
|
|
288
290
|
const partTimeline = await this.getTokenTimelineFromAlignmentPath(alignmentPath, partTokens, segmentStartTime, segmentEndTime, partTokensConfidence);
|
|
291
|
+
if (onPart) {
|
|
292
|
+
const partWordTimeline = this.tokenTimelineToWordTimeline(partTimeline, language);
|
|
293
|
+
const partTranscript = this.tokensToText(partTokens);
|
|
294
|
+
onPart(partTranscript, partTimeline, partWordTimeline);
|
|
295
|
+
}
|
|
289
296
|
// Add tokens to output
|
|
290
297
|
allDecodedTokens.push(...partTokens);
|
|
291
298
|
timeline.push(...partTimeline);
|
|
@@ -302,6 +309,13 @@ export class Whisper {
|
|
|
302
309
|
}
|
|
303
310
|
audioOffset = audioEndOffset;
|
|
304
311
|
logger.end();
|
|
312
|
+
if (logLevelGreaterOrEqualTo('trace')) {
|
|
313
|
+
const promptDecodingTime = partTokensDecodingTime[0];
|
|
314
|
+
const medianTokenDecodingTime = medianOfVector(partTokensDecodingTime.slice(1));
|
|
315
|
+
const medianTokenInferenceTime = medianOfVector(partTokensInferenceTime.slice(1));
|
|
316
|
+
const medianOverheadTime = medianOfVector(partTokensOverheadTime.slice(1));
|
|
317
|
+
logger.log(`${chalk.blueBright('Context')}: ${initialTokens.length + partTokens.length} tokens (${initialTokens.length} prompt, ${partTokens.length} decoded)\n${chalk.blueBright('Prompt decode time')}: ${promptDecodingTime.toFixed(1)}ms\n${chalk.blueBright('Median token decode time')}: ${medianTokenDecodingTime.toFixed(1)}ms (${medianTokenInferenceTime.toFixed(1)}ms inference, ${medianOverheadTime.toFixed(2)}ms overhead)`, 'trace');
|
|
318
|
+
}
|
|
305
319
|
}
|
|
306
320
|
// Convert token timeline to word timeline
|
|
307
321
|
timeline = this.tokenTimelineToWordTimeline(timeline, language);
|
|
@@ -510,8 +524,14 @@ export class Whisper {
|
|
|
510
524
|
decodedTokensCrossAttentionQKs.push(crossAttentionQKs);
|
|
511
525
|
}
|
|
512
526
|
const maxTokensPerPart = Math.min(options.maxTokensPerPart, largestMaximumTokensPerPart);
|
|
527
|
+
let decodedTokensInferenceTime = [];
|
|
528
|
+
let decodedTokensDecodingTime = [];
|
|
529
|
+
const tokenDecodingTimeTimer = new Timer();
|
|
513
530
|
// Start decoding loop
|
|
514
531
|
for (let decodedTokenCount = 0; decodedTokenCount < maxTokensPerPart; decodedTokenCount++) {
|
|
532
|
+
if (decodedTokenCount > 0) {
|
|
533
|
+
decodedTokensDecodingTime.push(tokenDecodingTimeTimer.getElapsedTimeAndRestart());
|
|
534
|
+
}
|
|
515
535
|
const isInitialState = decodedTokens.length === initialTokens.length;
|
|
516
536
|
const atLeastOneTextTokenDecoded = decodedTokens.slice(initialTokens.length).some(token => this.isTextToken(token));
|
|
517
537
|
// If not in initial state, reshape KV Cache tensor to accomodate a new output token
|
|
@@ -536,8 +556,10 @@ export class Whisper {
|
|
|
536
556
|
kv_cache: kvCacheTensor,
|
|
537
557
|
offset: offsetTensor
|
|
538
558
|
};
|
|
539
|
-
|
|
559
|
+
//// Infer with ONNX decoder model
|
|
560
|
+
const tokenInferenceTimeTimer = new Timer();
|
|
540
561
|
const decoderOutputs = await this.textDecoder.run(decoderInputs);
|
|
562
|
+
decodedTokensInferenceTime.push(tokenInferenceTimeTimer.elapsedTime);
|
|
541
563
|
// Extract decoder model results
|
|
542
564
|
const logitsBuffer = decoderOutputs['logits'].data;
|
|
543
565
|
kvCacheTensor = decoderOutputs['output_kv_cache'];
|
|
@@ -761,6 +783,9 @@ export class Whisper {
|
|
|
761
783
|
}
|
|
762
784
|
await yieldToEventLoop();
|
|
763
785
|
}
|
|
786
|
+
if (decodedTokensDecodingTime.length === decodedTokensInferenceTime.length - 1) {
|
|
787
|
+
decodedTokensDecodingTime.push(tokenDecodingTimeTimer.getElapsedTimeAndRestart());
|
|
788
|
+
}
|
|
764
789
|
// If at least two timestamp tokens were decoded and it's not the final part,
|
|
765
790
|
// truncate up to the last timestamp token
|
|
766
791
|
if (timestampTokenSeenCount >= 2 && !isFinalPart) {
|
|
@@ -769,7 +794,10 @@ export class Whisper {
|
|
|
769
794
|
decodedTokensTimestampLogits = decodedTokensTimestampLogits.slice(0, sliceEndTokenIndex);
|
|
770
795
|
decodedTokensCrossAttentionQKs = decodedTokensCrossAttentionQKs.slice(0, sliceEndTokenIndex);
|
|
771
796
|
decodedTokensConfidence = decodedTokensConfidence.slice(0, sliceEndTokenIndex);
|
|
797
|
+
decodedTokensDecodingTime = decodedTokensDecodingTime.slice(0, sliceEndTokenIndex);
|
|
798
|
+
decodedTokensInferenceTime = decodedTokensInferenceTime.slice(0, sliceEndTokenIndex);
|
|
772
799
|
}
|
|
800
|
+
const decodedTokensOverheadTime = decodedTokensDecodingTime.map((time, index) => time - decodedTokensInferenceTime[index]);
|
|
773
801
|
logger.write('\n');
|
|
774
802
|
logger.end();
|
|
775
803
|
// Return the decoded tokens
|
|
@@ -778,6 +806,9 @@ export class Whisper {
|
|
|
778
806
|
decodedTokensTimestampLogits,
|
|
779
807
|
decodedTokensConfidence,
|
|
780
808
|
decodedTokensCrossAttentionQKs,
|
|
809
|
+
decodedTokensDecodingTime,
|
|
810
|
+
decodedTokensInferenceTime,
|
|
811
|
+
decodedTokensOverheadTime,
|
|
781
812
|
};
|
|
782
813
|
}
|
|
783
814
|
// Encode audio using the encoder model
|
|
@@ -794,42 +825,41 @@ export class Whisper {
|
|
|
794
825
|
const filterbanks = this.filterbanks;
|
|
795
826
|
const maxAudioSamples = sampleRate * 30;
|
|
796
827
|
const maxAudioFrames = 3000;
|
|
797
|
-
if (sampleRate
|
|
828
|
+
if (sampleRate !== 16000) {
|
|
798
829
|
throw new Error('Audio must have a sample rate of 16000 Hz');
|
|
799
830
|
}
|
|
800
831
|
if (audioSamples.length > maxAudioSamples) {
|
|
801
832
|
throw new Error(`Audio part is longer than 30 seconds`);
|
|
802
833
|
}
|
|
803
|
-
|
|
804
|
-
await logger.startAsync('Extract mel spectogram from audio part');
|
|
834
|
+
await logger.startAsync('Extract Mel spectrogram from audio part');
|
|
805
835
|
// Pad audio samples to ensure that have a duration of 30 seconds
|
|
806
836
|
const paddedAudioSamples = new Float32Array(maxAudioSamples);
|
|
807
837
|
paddedAudioSamples.set(audioSamples, 0);
|
|
808
838
|
const rawAudioPart = { audioChannels: [paddedAudioSamples], sampleRate };
|
|
809
|
-
|
|
810
|
-
await
|
|
811
|
-
|
|
812
|
-
|
|
839
|
+
// Compute Mel spectrogram
|
|
840
|
+
const { melSpectrogram } = await computeMelSpectrogramUsingFilterbanks(rawAudioPart, fftOrder, fftWindowSize, fftHopLength, filterbanks);
|
|
841
|
+
// Flatten, transpose, apply logarithm and normalize Mel spectrogram
|
|
842
|
+
await logger.startAsync('Process Mel spectrogram');
|
|
843
|
+
const flattenedLogMelSpectrogram = new Float32Array(maxAudioFrames * filterbankCount);
|
|
813
844
|
let maxLogMel = -Infinity;
|
|
814
|
-
for (const spectrum of logMelSpectogram) {
|
|
815
|
-
for (const mel of spectrum) {
|
|
816
|
-
if (mel > maxLogMel) {
|
|
817
|
-
maxLogMel = mel;
|
|
818
|
-
}
|
|
819
|
-
}
|
|
820
|
-
}
|
|
821
|
-
// Normalize log mel spectogram (based on Python reference code)
|
|
822
|
-
const normalizedLogMelSpectogram = logMelSpectogram.map(spectrum => spectrum.map(logMel => (Math.max(logMel, maxLogMel - 8) + 4) / 4));
|
|
823
|
-
// Flatten the normalized log mel spectogram
|
|
824
|
-
const flattenedNormalizedLogMelSpectogram = new Float32Array(maxAudioFrames * filterbankCount);
|
|
825
845
|
for (let i = 0; i < filterbankCount; i++) {
|
|
826
846
|
for (let j = 0; j < maxAudioFrames; j++) {
|
|
827
|
-
|
|
847
|
+
const mel = melSpectrogram[j][i];
|
|
848
|
+
const logMel = Math.log10(Math.max(mel, 1e-10));
|
|
849
|
+
if (logMel > maxLogMel) {
|
|
850
|
+
maxLogMel = logMel;
|
|
851
|
+
}
|
|
852
|
+
flattenedLogMelSpectrogram[(i * maxAudioFrames) + j] = logMel;
|
|
828
853
|
}
|
|
829
854
|
}
|
|
855
|
+
for (let i = 0; i < flattenedLogMelSpectrogram.length; i++) {
|
|
856
|
+
const logMel = flattenedLogMelSpectrogram[i];
|
|
857
|
+
const normalizedLogMel = (Math.max(logMel, maxLogMel - 8) + 4) / 4;
|
|
858
|
+
flattenedLogMelSpectrogram[i] = normalizedLogMel;
|
|
859
|
+
}
|
|
830
860
|
// Run the encoder model
|
|
831
|
-
await logger.startAsync('Encode
|
|
832
|
-
const inputTensor = new Onnx.Tensor('float32',
|
|
861
|
+
await logger.startAsync('Encode Mel spectrogram with Whisper encoder model');
|
|
862
|
+
const inputTensor = new Onnx.Tensor('float32', flattenedLogMelSpectrogram, [1, filterbankCount, maxAudioFrames]);
|
|
833
863
|
const encoderInputs = { mel: inputTensor };
|
|
834
864
|
const encoderOutputs = await this.audioEncoder.run(encoderInputs);
|
|
835
865
|
const encodedAudioFeatures = encoderOutputs['output'];
|
|
@@ -850,7 +880,7 @@ export class Whisper {
|
|
|
850
880
|
function endsWithSeparatorCharacter(text) {
|
|
851
881
|
return isSeparatorCharacter(text[text.length - 1]);
|
|
852
882
|
}
|
|
853
|
-
if (language
|
|
883
|
+
if (language !== 'zh' && language !== 'ja') {
|
|
854
884
|
tokenTimeline = tokenTimeline.filter(entry => this.isTextToken(entry.id));
|
|
855
885
|
}
|
|
856
886
|
const resultTimeline = [];
|
|
@@ -860,7 +890,7 @@ export class Whisper {
|
|
|
860
890
|
const previousEntry = tokenIndex > 0 ? tokenTimeline[tokenIndex - 1] : undefined;
|
|
861
891
|
const text = entry.text;
|
|
862
892
|
const previousEntryText = previousEntry?.text;
|
|
863
|
-
if (groups.length
|
|
893
|
+
if (groups.length === 0 ||
|
|
864
894
|
text === '' ||
|
|
865
895
|
startsWithSeparatorCharacter(text) ||
|
|
866
896
|
(previousEntryText != null && endsWithSeparatorCharacter(previousEntryText))) {
|
|
@@ -911,12 +941,12 @@ export class Whisper {
|
|
|
911
941
|
return resultTimeline;
|
|
912
942
|
}
|
|
913
943
|
async getTokenTimelineFromAlignmentPath(alignmentPath, tokens, startTimeOffset, endTimeOffset, tokensConfidence, correctionAmount = 0.0) {
|
|
914
|
-
if (alignmentPath.length
|
|
944
|
+
if (alignmentPath.length === 0) {
|
|
915
945
|
return [];
|
|
916
946
|
}
|
|
917
947
|
const tokenTimeline = [];
|
|
918
948
|
for (let pathIndex = 0; pathIndex < alignmentPath.length; pathIndex++) {
|
|
919
|
-
if (pathIndex
|
|
949
|
+
if (pathIndex !== 0 && alignmentPath[pathIndex].source === alignmentPath[pathIndex - 1].source) {
|
|
920
950
|
continue;
|
|
921
951
|
}
|
|
922
952
|
const tokenMappingEntry = alignmentPath[pathIndex];
|
|
@@ -988,8 +1018,9 @@ export class Whisper {
|
|
|
988
1018
|
let sumOfAllSquaredWeightsForHead = 0;
|
|
989
1019
|
let countOfAllWeightsForHead = 0;
|
|
990
1020
|
for (const tokenFrames of head) {
|
|
991
|
-
|
|
992
|
-
|
|
1021
|
+
const { sum, sumOfSquares } = sumAndSumOfSquaresOfVector(tokenFrames);
|
|
1022
|
+
sumOfAllWeightsForHead += sum;
|
|
1023
|
+
sumOfAllSquaredWeightsForHead += sumOfSquares;
|
|
993
1024
|
countOfAllWeightsForHead += tokenFrames.length;
|
|
994
1025
|
}
|
|
995
1026
|
const meanOfAllWeightsForHead = sumOfAllWeightsForHead / countOfAllWeightsForHead;
|
|
@@ -1122,19 +1153,19 @@ export class Whisper {
|
|
|
1122
1153
|
}
|
|
1123
1154
|
getKvDimensions(groupCount, length) {
|
|
1124
1155
|
const modelName = this.modelName;
|
|
1125
|
-
if (modelName
|
|
1156
|
+
if (modelName === 'tiny' || modelName === 'tiny.en') {
|
|
1126
1157
|
return [8, groupCount, length, 384];
|
|
1127
1158
|
}
|
|
1128
|
-
else if (modelName
|
|
1159
|
+
else if (modelName === 'base' || modelName === 'base.en') {
|
|
1129
1160
|
return [12, groupCount, length, 512];
|
|
1130
1161
|
}
|
|
1131
|
-
else if (modelName
|
|
1162
|
+
else if (modelName === 'small' || modelName === 'small.en') {
|
|
1132
1163
|
return [24, groupCount, length, 768];
|
|
1133
1164
|
}
|
|
1134
|
-
else if (modelName
|
|
1165
|
+
else if (modelName === 'medium' || modelName === 'medium.en') {
|
|
1135
1166
|
return [48, groupCount, length, 1024];
|
|
1136
1167
|
}
|
|
1137
|
-
else if (modelName
|
|
1168
|
+
else if (modelName === 'large-v1' || modelName === 'large-v2' || modelName === 'large-v3' || modelName === 'large-v3-turbo') {
|
|
1138
1169
|
return [64, groupCount, length, 1280];
|
|
1139
1170
|
}
|
|
1140
1171
|
else {
|
|
@@ -1146,7 +1177,7 @@ export class Whisper {
|
|
|
1146
1177
|
let tokens;
|
|
1147
1178
|
if (this.isMultiligualModel) {
|
|
1148
1179
|
const languageToken = this.tokenConfig.languageTokensStart + languageIdLookup[language];
|
|
1149
|
-
const taskToken = task
|
|
1180
|
+
const taskToken = task === 'translate' ? this.tokenConfig.translateTaskToken : this.tokenConfig.transcribeTaskToken;
|
|
1150
1181
|
tokens = [startOfTextToken, languageToken, taskToken];
|
|
1151
1182
|
}
|
|
1152
1183
|
else {
|
|
@@ -1332,7 +1363,7 @@ export async function loadPackagesAndGetPaths(modelName, languageCode) {
|
|
|
1332
1363
|
else {
|
|
1333
1364
|
if (languageCode) {
|
|
1334
1365
|
const shortLanguageCode = getShortLanguageCode(languageCode);
|
|
1335
|
-
modelName = shortLanguageCode
|
|
1366
|
+
modelName = shortLanguageCode === 'en' ? 'tiny.en' : 'tiny';
|
|
1336
1367
|
}
|
|
1337
1368
|
else {
|
|
1338
1369
|
modelName = 'tiny';
|
|
@@ -1346,7 +1377,7 @@ export async function loadPackagesAndGetPaths(modelName, languageCode) {
|
|
|
1346
1377
|
return { modelName, modelDir };
|
|
1347
1378
|
}
|
|
1348
1379
|
export function normalizeWhisperModelName(modelName, languageCode) {
|
|
1349
|
-
if (languageCode
|
|
1380
|
+
if (languageCode !== 'en' && modelName.endsWith('.en')) {
|
|
1350
1381
|
const originalModelName = modelName;
|
|
1351
1382
|
modelName = modelName.slice(0, modelName.length - 3);
|
|
1352
1383
|
const logger = new Logger();
|
|
@@ -1496,16 +1527,17 @@ const languageIdLookup = {
|
|
|
1496
1527
|
'ba': 96,
|
|
1497
1528
|
'jw': 97,
|
|
1498
1529
|
'su': 98,
|
|
1530
|
+
//'yue': 99
|
|
1499
1531
|
};
|
|
1500
1532
|
const alignmentHeadsIndexes = {
|
|
1501
|
-
'tiny.en': [6, 12, 17, 18, 19, 20, 21, 22,],
|
|
1502
1533
|
'tiny': [14, 18, 20, 21, 22, 23,],
|
|
1503
|
-
'
|
|
1534
|
+
'tiny.en': [6, 12, 17, 18, 19, 20, 21, 22,],
|
|
1504
1535
|
'base': [25, 34, 35, 39, 41, 42, 44, 46,],
|
|
1505
|
-
'
|
|
1536
|
+
'base.en': [27, 39, 41, 45, 47,],
|
|
1506
1537
|
'small': [63, 69, 96, 100, 103, 104, 108, 115, 117, 125,],
|
|
1507
|
-
'
|
|
1538
|
+
'small.en': [78, 84, 87, 92, 98, 101, 103, 108, 112, 116, 118, 120, 121, 122, 123, 126, 131, 134, 136,],
|
|
1508
1539
|
'medium': [223, 244, 255, 257, 320, 372,],
|
|
1540
|
+
'medium.en': [180, 225, 236, 238, 244, 256, 260, 265, 284, 286, 295, 298, 303, 320, 323, 329, 334, 348,],
|
|
1509
1541
|
'large-v1': [199, 222, 224, 237, 447, 451, 457, 462, 475,],
|
|
1510
1542
|
'large-v2': [212, 277, 331, 332, 333, 355, 356, 364, 371, 379, 391, 422, 423, 443, 449, 452, 465, 467, 473, 505, 521, 532, 555,],
|
|
1511
1543
|
'large-v3': [140, 217, 258, 272, 321, 354, 391, 424, 481, 506,],
|