echogarden 1.4.4 → 1.5.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.
Files changed (139) hide show
  1. package/data/schemas/options.json +267 -19
  2. package/dist/alignment/{TextAlignment.d.ts → SemanticTextAlignment.d.ts} +4 -2
  3. package/dist/alignment/SemanticTextAlignment.js +336 -0
  4. package/dist/alignment/SemanticTextAlignment.js.map +1 -0
  5. package/dist/alignment/SpeechAlignment.d.ts +2 -1
  6. package/dist/alignment/SpeechAlignment.js +105 -37
  7. package/dist/alignment/SpeechAlignment.js.map +1 -1
  8. package/dist/api/API.d.ts +7 -2
  9. package/dist/api/API.js +7 -2
  10. package/dist/api/API.js.map +1 -1
  11. package/dist/api/APIOptions.d.ts +4 -1
  12. package/dist/api/Alignment.d.ts +1 -1
  13. package/dist/api/Alignment.js +13 -5
  14. package/dist/api/Alignment.js.map +1 -1
  15. package/dist/api/LanguageDetectionCommon.d.ts +6 -0
  16. package/dist/api/LanguageDetectionCommon.js +2 -0
  17. package/dist/api/LanguageDetectionCommon.js.map +1 -0
  18. package/dist/api/Recognition.js.map +1 -1
  19. package/dist/api/{LanguageDetection.d.ts → SpeechLanguageDetection.d.ts} +1 -25
  20. package/dist/api/{LanguageDetection.js → SpeechLanguageDetection.js} +1 -68
  21. package/dist/api/SpeechLanguageDetection.js.map +1 -0
  22. package/dist/api/{Translation.js → SpeechTranslation.js} +3 -3
  23. package/dist/api/SpeechTranslation.js.map +1 -0
  24. package/dist/api/Synthesis.js +4 -4
  25. package/dist/api/TextLanguageDetection.d.ts +21 -0
  26. package/dist/api/TextLanguageDetection.js +67 -0
  27. package/dist/api/TextLanguageDetection.js.map +1 -0
  28. package/dist/api/TextTranslation.d.ts +5 -0
  29. package/dist/api/TextTranslation.js +4 -0
  30. package/dist/api/TextTranslation.js.map +1 -0
  31. package/dist/api/TimelineTranslationAlignment.d.ts +23 -0
  32. package/dist/api/TimelineTranslationAlignment.js +92 -0
  33. package/dist/api/TimelineTranslationAlignment.js.map +1 -0
  34. package/dist/api/TranscriptAndTranslationAlignment.d.ts +35 -0
  35. package/dist/api/TranscriptAndTranslationAlignment.js +78 -0
  36. package/dist/api/TranscriptAndTranslationAlignment.js.map +1 -0
  37. package/dist/api/TranslationAlignment.d.ts +4 -3
  38. package/dist/api/TranslationAlignment.js +9 -8
  39. package/dist/api/TranslationAlignment.js.map +1 -1
  40. package/dist/api/VoiceActivityDetection.js +16 -1
  41. package/dist/api/VoiceActivityDetection.js.map +1 -1
  42. package/dist/cli/CLI.d.ts +27 -7
  43. package/dist/cli/CLI.js +205 -34
  44. package/dist/cli/CLI.js.map +1 -1
  45. package/dist/codecs/FFMpegTranscoder.js +7 -0
  46. package/dist/codecs/FFMpegTranscoder.js.map +1 -1
  47. package/dist/dsp/FFT.d.ts +1 -1
  48. package/dist/dsp/FFT.js +6 -0
  49. package/dist/dsp/FFT.js.map +1 -1
  50. package/dist/dsp/KWeightingFilter.js +1 -1
  51. package/dist/dsp/KWeightingFilter.js.map +1 -1
  52. package/dist/dsp/MelSpectogram.d.ts +3 -2
  53. package/dist/dsp/MelSpectogram.js +14 -8
  54. package/dist/dsp/MelSpectogram.js.map +1 -1
  55. package/dist/math/VectorMath.d.ts +5 -5
  56. package/dist/math/VectorMath.js +4 -4
  57. package/dist/math/VectorMath.js.map +1 -1
  58. package/dist/recognition/WhisperCppSTT.d.ts +1 -1
  59. package/dist/recognition/WhisperCppSTT.js +2 -2
  60. package/dist/recognition/WhisperCppSTT.js.map +1 -1
  61. package/dist/recognition/WhisperSTT.js +9 -6
  62. package/dist/recognition/WhisperSTT.js.map +1 -1
  63. package/dist/server/Client.d.ts +3 -2
  64. package/dist/server/Client.js.map +1 -1
  65. package/dist/server/Worker.d.ts +3 -2
  66. package/dist/server/Worker.js +3 -2
  67. package/dist/server/Worker.js.map +1 -1
  68. package/dist/source-separation/MDXNetSourceSeparation.js +1 -1
  69. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
  70. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts +13 -0
  71. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js +68 -0
  72. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js.map +1 -0
  73. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +1 -1
  74. package/dist/speech-language-detection/SileroLanguageDetection.js +1 -1
  75. package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
  76. package/dist/tests/Test.js +0 -31
  77. package/dist/tests/Test.js.map +1 -1
  78. package/dist/text-language-detection/FastTextLanguageDetection.d.ts +1 -1
  79. package/dist/text-language-detection/FastTextLanguageDetection.js.map +1 -1
  80. package/dist/text-language-detection/TinyLDLanguageDetection.d.ts +1 -1
  81. package/dist/text-language-detection/TinyLDLanguageDetection.js.map +1 -1
  82. package/dist/text-translation/NLLBTextTranslation.js +1 -1
  83. package/dist/text-translation/NLLBTextTranslation.js.map +1 -1
  84. package/dist/utilities/Locale.d.ts +1 -1
  85. package/dist/utilities/Locale.js +1 -1
  86. package/dist/utilities/OnnxUtilities.d.ts +1 -1
  87. package/dist/utilities/PackageManager.js +6 -4
  88. package/dist/utilities/PackageManager.js.map +1 -1
  89. package/dist/utilities/Timeline.d.ts +1 -0
  90. package/dist/utilities/Timeline.js +12 -0
  91. package/dist/utilities/Timeline.js.map +1 -1
  92. package/docs/API.md +81 -3
  93. package/docs/CLI.md +51 -1
  94. package/docs/Engines.md +24 -0
  95. package/docs/Options.md +33 -1
  96. package/package.json +8 -8
  97. package/src/alignment/SemanticTextAlignment.ts +467 -0
  98. package/src/alignment/SpeechAlignment.ts +179 -52
  99. package/src/api/API.ts +18 -2
  100. package/src/api/APIOptions.ts +14 -1
  101. package/src/api/Alignment.ts +31 -9
  102. package/src/api/LanguageDetectionCommon.ts +7 -0
  103. package/src/api/Recognition.ts +2 -0
  104. package/src/api/{LanguageDetection.ts → SpeechLanguageDetection.ts} +1 -119
  105. package/src/api/{Translation.ts → SpeechTranslation.ts} +2 -2
  106. package/src/api/Synthesis.ts +4 -4
  107. package/src/api/TextLanguageDetection.ts +116 -0
  108. package/src/api/TextTranslation.ts +9 -0
  109. package/src/api/TimelineTranslationAlignment.ts +162 -0
  110. package/src/api/TranscriptAndTranslationAlignment.ts +164 -0
  111. package/src/api/TranslationAlignment.ts +12 -10
  112. package/src/api/VoiceActivityDetection.ts +24 -3
  113. package/src/cli/CLI.ts +276 -34
  114. package/src/codecs/FFMpegTranscoder.ts +6 -0
  115. package/src/dsp/FFT.ts +8 -2
  116. package/src/dsp/KWeightingFilter.ts +1 -1
  117. package/src/dsp/MelSpectogram.ts +17 -8
  118. package/src/math/VectorMath.ts +9 -9
  119. package/src/recognition/WhisperCppSTT.ts +2 -2
  120. package/src/recognition/WhisperSTT.ts +10 -6
  121. package/src/server/Client.ts +3 -2
  122. package/src/server/Worker.ts +3 -2
  123. package/src/source-separation/MDXNetSourceSeparation.ts +1 -1
  124. package/src/speech-embeddings/WavToVec2BertFeatureEmbeddings.ts +107 -0
  125. package/src/speech-language-detection/SileroLanguageDetection.ts +2 -1
  126. package/src/tests/Test.ts +1 -38
  127. package/src/text-language-detection/FastTextLanguageDetection.ts +1 -1
  128. package/src/text-language-detection/TinyLDLanguageDetection.ts +1 -1
  129. package/src/text-translation/NLLBTextTranslation.ts +1 -1
  130. package/src/utilities/Locale.ts +1 -1
  131. package/src/utilities/OnnxUtilities.ts +1 -1
  132. package/src/utilities/PackageManager.ts +7 -4
  133. package/src/utilities/Timeline.ts +14 -0
  134. package/dist/alignment/TextAlignment.js +0 -156
  135. package/dist/alignment/TextAlignment.js.map +0 -1
  136. package/dist/api/LanguageDetection.js.map +0 -1
  137. package/dist/api/Translation.js.map +0 -1
  138. package/src/alignment/TextAlignment.ts +0 -234
  139. /package/dist/api/{Translation.d.ts → SpeechTranslation.d.ts} +0 -0
package/docs/API.md CHANGED
@@ -72,10 +72,13 @@ const { audio } = await Echogarden.synthesize("Hello World!", { engine: 'espeak'
72
72
  {
73
73
  index: number // Index of part
74
74
  total: number // Total number of parts
75
+
75
76
  audio: RawAudio | Buffer // Audio for part
77
+
76
78
  timeline: Timeline // Timeline for part
77
79
  transcript: string // Transcript for part
78
80
  language: string // Language for part
81
+
79
82
  peakDecibelsSoFar: number // Peak decibels measured for all synthesized audio, so far
80
83
  }
81
84
  ```
@@ -109,9 +112,15 @@ Applies speech recognition to the input.
109
112
  ```ts
110
113
  {
111
114
  transcript: string
115
+
112
116
  timeline: Timeline
113
117
  wordTimeline: Timeline
118
+
114
119
  language: string
120
+
121
+ inputRawAudio: RawAudio
122
+ isolatedRawAudio?: RawAudio
123
+ backgroundRawAudio?: RawAudio
115
124
  }
116
125
  ```
117
126
 
@@ -131,8 +140,13 @@ Aligns input audio with the given transcript.
131
140
  {
132
141
  timeline: Timeline
133
142
  wordTimeline: Timeline
143
+
134
144
  transcript: string
135
145
  language: string
146
+
147
+ inputRawAudio: RawAudio
148
+ isolatedRawAudio?: RawAudio
149
+ backgroundRawAudio?: RawAudio
136
150
  }
137
151
  ```
138
152
 
@@ -140,7 +154,7 @@ Aligns input audio with the given transcript.
140
154
 
141
155
  ### `translateSpeech(input, options)`
142
156
 
143
- Translates speech audio directly to English text.
157
+ Translates speech audio directly to a transcript in a different language (only English is currently supported).
144
158
 
145
159
  * `input`: can be an audio file path (`string`), encoded audio (`Buffer` or `Uint8array`) or a raw audio object (`RawAudio`)
146
160
  * `options`: speech translation options object
@@ -150,9 +164,14 @@ Translates speech audio directly to English text.
150
164
  {
151
165
  transcript: string
152
166
  timeline: Timeline
153
- wordTimeline: Timeline
167
+ wordTimeline?: Timeline
168
+
154
169
  sourceLanguage: string
155
170
  targetLanguage: string
171
+
172
+ inputRawAudio: RawAudio
173
+ isolatedRawAudio?: RawAudio
174
+ backgroundRawAudio?: RawAudio
156
175
  }
157
176
  ```
158
177
 
@@ -172,8 +191,67 @@ Aligns input audio with the given translated transcript.
172
191
  {
173
192
  timeline: Timeline
174
193
  wordTimeline: Timeline
194
+
195
+ translatedTranscript: string
196
+ sourceLanguage: string
197
+ targetLanguage: string
198
+
199
+ inputRawAudio: RawAudio
200
+ isolatedRawAudio?: RawAudio
201
+ backgroundRawAudio?: RawAudio
202
+ }
203
+ ```
204
+
205
+ ### `alignTranscriptAndTranslation(input, transcript, translatedTranscript, options)`
206
+
207
+ Aligns input audio to both the native language transcript a translated one.
208
+
209
+ * `input`: can be an audio file path (`string`), encoded audio (`Buffer` or `Uint8array`) or a raw audio object (`RawAudio`)
210
+ * `transcript`: the transcript to align to, in the native speech language
211
+ * `translatedTranscript`: the translated transcript to align to
212
+ * `options`: transcript and translation alignment options object
213
+
214
+ #### Returns (via promise):
215
+
216
+ ```ts
217
+ {
218
+ timeline: Timeline
219
+ wordTimeline: Timeline
220
+
221
+ translatedTimeline: Timeline
222
+ translatedWordTimeline: Timeline
223
+
175
224
  transcript: string
176
- language: string
225
+ translatedTranscript: string
226
+
227
+ sourceLanguage: string
228
+ targetLanguage: string
229
+
230
+ inputRawAudio: RawAudio
231
+ isolatedRawAudio?: RawAudio
232
+ backgroundRawAudio?: RawAudio
233
+ }
234
+ ```
235
+
236
+ ### `alignTimelineTranslation(inputTimeline, translatedTranscript, options)`
237
+
238
+ Aligns given timeline with its translated transcript.
239
+
240
+ * `inputTimeline`: input timeline in the native language
241
+ * `translatedTranscript`: the translated transcript to align to
242
+ * `options`: timeline translation alignment options object
243
+
244
+ #### Returns (via promise):
245
+
246
+ ```ts
247
+ {
248
+ timeline: Timeline
249
+ wordTimeline: Timeline
250
+
251
+ sourceLanguage?: string
252
+ targetLanguage: string
253
+
254
+ rawAudio?: RawAudio
177
255
  }
178
256
  ```
179
257
 
package/docs/CLI.md CHANGED
@@ -106,7 +106,8 @@ echogarden translate-speech speech.mp3 translation.txt --sourceLanguage=es --tar
106
106
 
107
107
  ## Speech-to-translated-transcript alignment
108
108
 
109
- **Task**: Given an audio file and its translated transcript, try to approximate the timing of the start and end of each translated word.
109
+ ### Direct alignment (English target only)
110
+ **Task**: Given a spoken audio file and its English translated transcript, try to approximate the timing of the start and end of each translated word.
110
111
 
111
112
  This would align the audio file `dutch-speech.mp3` with the translated transcript provided in `english-translation.txt`, and would play the synchronized result in the terminal:
112
113
  ```bash
@@ -118,6 +119,55 @@ This would align the audio file `dutch-speech.mp3` with the translated transcrip
118
119
  echogarden align-translation dutch-speech.mp3 english-translation.txt result.srt result.json
119
120
  ```
120
121
 
122
+ ### Two-stage alignment (any of 96 source and target languages, combined stages)
123
+ **Task**: Given a spoken audio file, its transcript, and its translated transcript, try to approximate the timing of the start and end of each translated word.
124
+
125
+ This would align the audio file `dutch-speech.mp3` with the Dutch (native language) transcript provided in `dutch-transcript.txt` and the translated transcript provided in `russian-translation.txt`, and would play the synchronized result in the terminal:
126
+
127
+ ```bash
128
+ echogarden align-transcript-and-translation dutch-speech.mp3 dutch-transcript.txt russian-translation.txt
129
+ ```
130
+
131
+ This would perform the same operation but write the results to disk:
132
+
133
+ ```bash
134
+ echogarden align-transcript-and-translation dutch-speech.mp3 dutch-transcript.txt russian-translation.txt out.json out.srt
135
+ ```
136
+
137
+ The output would include separate files for the native language and the translation language:
138
+
139
+ ```
140
+ out.json
141
+ out.srt
142
+
143
+ out.translated.json
144
+ out.translated.srt
145
+ ```
146
+
147
+ ### Two-stage alignment (any of 96 source and target languages, separate stages)
148
+
149
+ **Task**: Given an audio file, its transcript, and its translated transcript, try to approximate the timing of the start and end of each translated word. Do this in two, separate stages.
150
+
151
+ This manual two-step approach allows to reuse the already-aligned transcript in the next stage, possibly for several different translation languages. The method used for alignment is otherwise identical to `align-transcript-and-translation`.
152
+
153
+ **Stage 1**:
154
+
155
+ Align the audio with its native language transcript, to produce a timeline in the native language:
156
+ ```bash
157
+ echogarden align dutch-speech.mp3 dutch-transcript.txt dutch-timeline.json
158
+ ```
159
+
160
+ **Stage 2**:
161
+
162
+ Align the resulting timeline with the target translation, and play the synchronized result in the terminal.
163
+
164
+ ```bash
165
+ echogarden align-timeline-translation dutch-timeline.json russian-transcript.txt --audio=dutch-speech.mp3
166
+ ```
167
+
168
+ (`--audio` is only used for previewing the result in the terminal. Otherwise, it is not necessary)
169
+
170
+
121
171
  ## Language detection
122
172
 
123
173
  **Task**: Given audio or textual input, try to identify which language it is spoken or written in.
package/docs/Engines.md CHANGED
@@ -84,6 +84,30 @@ The goal here is to match (or "align") a given spoken recording in one language,
84
84
 
85
85
  * `whisper`: given a spoken recording in any of the [98 languages](https://platform.openai.com/docs/guides/speech-to-text/supported-languages) supported by Whisper, and an English translation of its transcript, the translated transcript is tokenized and then decoded, in order, using a guided approach, with any multilingual Whisper model, set to its `translate` task mode. In this way, the approximate mapping between the spoken audio and each word of the translation is estimated
86
86
 
87
+ ## Speech-to-transcript-and-translation alignment
88
+
89
+ This is a two-stage approach for translation alignment, that can accept about 100 source and target languages:
90
+
91
+ 1. First, the spoken audio is aligned with the native language transcript
92
+ 2. Then, the resulting timeline is aligned with the translated text using semantic text-to-text alignment
93
+
94
+ This approach is potentially faster than the single-stage one, because the first stage can use any alignment approach, including the default synthesis-based `dtw` engine, which is much faster than running a full speech recognition engine like Whisper.
95
+
96
+ The second stage uses a multilingual text embedding model (currently defaults to [multilingual E5](https://huggingface.co/intfloat/multilingual-e5-base)) to produce a vector representation of both the transcript and the translated text tokens. Then, it applies DTW over the two vector sequences to align the tokens of the two languages. Since this stage works on tokens only (the audio is not involved), it is generally fast.
97
+
98
+ In terms of accuracy, the two-stage approach can be more accurate than the alignment derived from the Whisper model in the one-stage approach, especially when compared to using the smaller Whisper models like `tiny` or `base`, and for source languages that Whisper generally isn't very good at, like Chinese, Japanese, and less common languages.
99
+
100
+ For a non-English target language, this approach is currently the only one that can be used.
101
+
102
+ ## Timeline-to-translation alignment
103
+
104
+ Aligns a timeline with a translation of its text. Does not involve the spoken audio itself.
105
+
106
+ This is used for the second stage of the two-stage approach described above. It can also be used independently. It allows to reuse the same timeline to align with multiple translations, in different languages, without needing to redo the native-language alignment each time.
107
+
108
+ Another use case it to take a timeline produced as part of synthesized or recognized speech and then align it with one or more translations of its text.
109
+
110
+ * [`E5`](https://huggingface.co/intfloat/multilingual-e5-base) (`e5`): E5 is a multilingual text embedding model by Microsoft, supporting 100 languages. This model encodes sequences of text tokens to vectors, in such a way that words with similar meanings in different languages are mapped to similar vectors. This cross-language semantic vector encoding is then used for aligning the tokens between the timeline and the translation. Then, the translated words are mapped to the timestamps of the corresponding words in the timeline.
87
111
 
88
112
  ## Language detection
89
113
 
package/docs/Options.md CHANGED
@@ -271,7 +271,8 @@ Applies to CLI operation: `align-translation`, API method: `alignTranslation`
271
271
 
272
272
  **General**:
273
273
  * `engine`: alignment algorithm to use, can only be `whisper`. Defaults to `whisper`
274
- * `language`: language code for the source audio ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `zh`, etc. Auto-detected from audio if not set
274
+ * `sourceLanguage`: language code for the source audio ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `zh`, etc. Auto-detected from audio if not set
275
+ * `targetLanguage`: language code for the translated transcript. Can only be `en` for now. Defaults to `en`
275
276
  * `crop`: crop to active parts using voice activity detection before starting. Defaults to `true`
276
277
  * `isolate`: apply source separation to isolate voice before starting alignment. Defaults to `false`
277
278
  * `subtitles`: prefix to provide options for subtitles. Options detailed in section for subtitles
@@ -284,6 +285,37 @@ Applies to CLI operation: `align-translation`, API method: `alignTranslation`
284
285
  * `whisper.encoderProvider`: encoder ONNX execution provider. See details in recognition section above
285
286
  * `whisper.decoderProvider`: decoder ONNX execution provider. See details in recognition section above
286
287
 
288
+ ## Speech-to-transcript-and-translation alignment
289
+
290
+ Applies to CLI operation: `align-transcript-and-translation`, API method: `alignTranscriptAndTranslation`
291
+
292
+ **General**:
293
+ * `engine`: can only be `two-stage`. Defaults to `two-stage`
294
+ * `sourceLanguage`: language code for the source audio ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `zh`, etc. Auto-detected from audio if not set
295
+ * `targetLanguage`: language code for the translated transcript. Can only be `en` for now. Defaults to `en`
296
+ * `crop`: crop to active parts using voice activity detection before starting. Defaults to `true`
297
+ * `isolate`: apply source separation to isolate voice before starting alignment. Defaults to `false`
298
+ * `alignment`: prefix to provide options for alignment. Options detailed in section for alignment
299
+ * `timelineAlignment`: prefix to provide options for timeline alignment. Options detailed in section for timeline alignment
300
+ * `vad`: prefix to provide options for voice activity detection when `crop` is set to `true`. Options detailed in section for voice activity detection
301
+ * `sourceSeparation`: prefix to provide options for source separation when `isolate` is set to `true`. Options detailed in section for source separation
302
+ * `subtitles`: prefix to provide options for subtitles. Options detailed in section for subtitles
303
+
304
+ ## Timeline-to-translated-text alignment
305
+
306
+ Applies to CLI operation: `align-timeline-translation`, API method: `alignTimelineTranslation`
307
+
308
+ **General**:
309
+ * `engine`: alignment engine to use. Can only be `e5`. Defaults to `e5`
310
+ * `sourceLanguage`: language code for the source timeline. Auto-detected from timeline if not set
311
+ * `targetLanguage`: language code for the translated transcript. Auto-detected if not set
312
+ * `audio`: spoken audio to play when previewing the result in the CLI (not required or used by the alignment itself). Optional
313
+ * `languageDetection`: prefix to provide options for language detection. Options detailed in section for text language detection
314
+ * `subtitles`: prefix to provide options for subtitles. Options detailed in section for subtitles
315
+
316
+ **E5**:
317
+ * `e5.model`: E5 model to use. Defaults to `e5-small-fp16` (support for additional models will be added in the future)
318
+
287
319
  ## Language detection
288
320
 
289
321
  ### Speech language detection
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "1.4.4",
3
+ "version": "1.5.0",
4
4
  "description": "An easy-to-use speech toolset. Includes tools for synthesis, recognition, alignment, speech translation, language detection, source separation and more.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0",
@@ -55,8 +55,8 @@
55
55
  "echogarden": "./dist/cli/CLILauncher.js"
56
56
  },
57
57
  "dependencies": {
58
- "@aws-sdk/client-polly": "^3.576.0",
59
- "@aws-sdk/client-transcribe-streaming": "^3.576.0",
58
+ "@aws-sdk/client-polly": "^3.583.0",
59
+ "@aws-sdk/client-transcribe-streaming": "^3.583.0",
60
60
  "@echogarden/espeak-ng-emscripten": "^0.1.2",
61
61
  "@echogarden/fasttext-wasm": "^0.1.0",
62
62
  "@echogarden/flite-wasi": "^0.1.1",
@@ -76,19 +76,19 @@
76
76
  "command-exists": "^1.2.9",
77
77
  "compromise": "^14.13.0",
78
78
  "fs-extra": "^11.2.0",
79
- "gaxios": "^6.5.0",
79
+ "gaxios": "^6.6.0",
80
80
  "graceful-fs": "^4.2.11",
81
81
  "html-escaper": "^3.0.3",
82
82
  "html-to-text": "^9.0.5",
83
83
  "import-meta-resolve": "^4.1.0",
84
- "jieba-wasm": "^0.0.2",
85
- "jsdom": "^24.0.0",
84
+ "jieba-wasm": "^1.0.0",
85
+ "jsdom": "^24.1.0",
86
86
  "json5": "^2.2.3",
87
87
  "kuromoji": "^0.1.2",
88
88
  "microsoft-cognitiveservices-speech-sdk": "^1.36.0",
89
89
  "moving-median": "^1.0.0",
90
90
  "msgpack-lite": "^0.1.26",
91
- "onnxruntime-node": "^1.17.3",
91
+ "onnxruntime-node": "^1.18.0",
92
92
  "openai": "^4.47.1",
93
93
  "sam-js": "^0.2.1",
94
94
  "strip-ansi": "^7.1.0",
@@ -124,7 +124,7 @@
124
124
  "@types/recursive-readdir": "^2.2.4",
125
125
  "@types/tar": "^6.1.13",
126
126
  "@types/ws": "^8.5.10",
127
- "ts-json-schema-generator": "^2.1.2-next.1",
127
+ "ts-json-schema-generator": "^2.2.0",
128
128
  "typescript": "^5.4.5"
129
129
  }
130
130
  }