echogarden 2.10.1 → 3.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.
Files changed (595) hide show
  1. package/LICENSE.MIT.md +7 -0
  2. package/README.md +9 -1
  3. package/data/lexicons/heteronyms.en.json +44 -10
  4. package/data/lexicons/words.en.json +726 -22
  5. package/data/schemas/options.json +91 -153
  6. package/dist/alignment/DTWMfccSequenceAlignment.d.ts +1 -0
  7. package/dist/alignment/DTWMfccSequenceAlignment.d.ts.map +1 -0
  8. package/dist/alignment/DTWMfccSequenceAlignment.js.map +1 -1
  9. package/dist/alignment/DTWSequenceAlignment.d.ts +1 -0
  10. package/dist/alignment/DTWSequenceAlignment.d.ts.map +1 -0
  11. package/dist/alignment/DTWSequenceAlignmentWindowed.d.ts +1 -0
  12. package/dist/alignment/DTWSequenceAlignmentWindowed.d.ts.map +1 -0
  13. package/dist/alignment/LevenshteinSequenceAlignment.d.ts +1 -0
  14. package/dist/alignment/LevenshteinSequenceAlignment.d.ts.map +1 -0
  15. package/dist/alignment/SemanticTextAlignment.d.ts +5 -2
  16. package/dist/alignment/SemanticTextAlignment.d.ts.map +1 -0
  17. package/dist/alignment/SemanticTextAlignment.js +7 -7
  18. package/dist/alignment/SemanticTextAlignment.js.map +1 -1
  19. package/dist/alignment/SpeechAlignment.d.ts +10 -10
  20. package/dist/alignment/SpeechAlignment.d.ts.map +1 -0
  21. package/dist/alignment/SpeechAlignment.js +23 -96
  22. package/dist/alignment/SpeechAlignment.js.map +1 -1
  23. package/dist/api/API.d.ts +1 -0
  24. package/dist/api/API.d.ts.map +1 -0
  25. package/dist/api/APIOptions.d.ts +2 -1
  26. package/dist/api/APIOptions.d.ts.map +1 -0
  27. package/dist/api/Alignment.d.ts +9 -6
  28. package/dist/api/Alignment.d.ts.map +1 -0
  29. package/dist/api/Alignment.js +31 -40
  30. package/dist/api/Alignment.js.map +1 -1
  31. package/dist/api/Common.d.ts +8 -0
  32. package/dist/api/Common.d.ts.map +1 -0
  33. package/dist/api/Common.js.map +1 -1
  34. package/dist/api/Denoising.d.ts +6 -2
  35. package/dist/api/Denoising.d.ts.map +1 -0
  36. package/dist/api/Denoising.js +15 -15
  37. package/dist/api/Denoising.js.map +1 -1
  38. package/dist/api/GlobalOptions.d.ts +3 -8
  39. package/dist/api/GlobalOptions.d.ts.map +1 -0
  40. package/dist/api/GlobalOptions.js +2 -13
  41. package/dist/api/GlobalOptions.js.map +1 -1
  42. package/dist/api/LanguageDetectionCommon.d.ts +1 -0
  43. package/dist/api/LanguageDetectionCommon.d.ts.map +1 -0
  44. package/dist/api/Recognition.d.ts +12 -12
  45. package/dist/api/Recognition.d.ts.map +1 -0
  46. package/dist/api/Recognition.js +32 -82
  47. package/dist/api/Recognition.js.map +1 -1
  48. package/dist/api/SourceSeparation.d.ts +8 -2
  49. package/dist/api/SourceSeparation.d.ts.map +1 -0
  50. package/dist/api/SourceSeparation.js +12 -10
  51. package/dist/api/SourceSeparation.js.map +1 -1
  52. package/dist/api/SpeechLanguageDetection.d.ts +12 -7
  53. package/dist/api/SpeechLanguageDetection.d.ts.map +1 -0
  54. package/dist/api/SpeechLanguageDetection.js +37 -30
  55. package/dist/api/SpeechLanguageDetection.js.map +1 -1
  56. package/dist/api/SpeechSearch.d.ts +5 -1
  57. package/dist/api/SpeechSearch.d.ts.map +1 -0
  58. package/dist/api/SpeechSearch.js.map +1 -1
  59. package/dist/api/SpeechTranslation.d.ts +11 -6
  60. package/dist/api/SpeechTranslation.d.ts.map +1 -0
  61. package/dist/api/SpeechTranslation.js +28 -26
  62. package/dist/api/SpeechTranslation.js.map +1 -1
  63. package/dist/api/Synthesis.d.ts +14 -8
  64. package/dist/api/Synthesis.d.ts.map +1 -0
  65. package/dist/api/Synthesis.js +67 -89
  66. package/dist/api/Synthesis.js.map +1 -1
  67. package/dist/api/TextLanguageDetection.d.ts +5 -2
  68. package/dist/api/TextLanguageDetection.d.ts.map +1 -0
  69. package/dist/api/TextLanguageDetection.js +4 -7
  70. package/dist/api/TextLanguageDetection.js.map +1 -1
  71. package/dist/api/TextTranslation.d.ts +5 -2
  72. package/dist/api/TextTranslation.d.ts.map +1 -0
  73. package/dist/api/TextTranslation.js +13 -24
  74. package/dist/api/TextTranslation.js.map +1 -1
  75. package/dist/api/TimelineTranslationAlignment.d.ts +7 -3
  76. package/dist/api/TimelineTranslationAlignment.d.ts.map +1 -0
  77. package/dist/api/TimelineTranslationAlignment.js +20 -11
  78. package/dist/api/TimelineTranslationAlignment.js.map +1 -1
  79. package/dist/api/TranscriptAndTranslationAlignment.d.ts +7 -4
  80. package/dist/api/TranscriptAndTranslationAlignment.d.ts.map +1 -0
  81. package/dist/api/TranscriptAndTranslationAlignment.js +11 -12
  82. package/dist/api/TranscriptAndTranslationAlignment.js.map +1 -1
  83. package/dist/api/TranslationAlignment.d.ts +7 -4
  84. package/dist/api/TranslationAlignment.d.ts.map +1 -0
  85. package/dist/api/TranslationAlignment.js +20 -21
  86. package/dist/api/TranslationAlignment.js.map +1 -1
  87. package/dist/api/VoiceActivityDetection.d.ts +10 -8
  88. package/dist/api/VoiceActivityDetection.d.ts.map +1 -0
  89. package/dist/api/VoiceActivityDetection.js +20 -43
  90. package/dist/api/VoiceActivityDetection.js.map +1 -1
  91. package/dist/audio/AudioBufferConversion.d.ts +1 -0
  92. package/dist/audio/AudioBufferConversion.d.ts.map +1 -0
  93. package/dist/audio/AudioBufferConversion.js.map +1 -1
  94. package/dist/audio/AudioPlayer.d.ts +2 -3
  95. package/dist/audio/AudioPlayer.d.ts.map +1 -0
  96. package/dist/audio/AudioPlayer.js +3 -188
  97. package/dist/audio/AudioPlayer.js.map +1 -1
  98. package/dist/audio/AudioUtilities.d.ts +3 -1
  99. package/dist/audio/AudioUtilities.d.ts.map +1 -0
  100. package/dist/audio/AudioUtilities.js +2 -2
  101. package/dist/audio/AudioUtilities.js.map +1 -1
  102. package/dist/build-tools/MakeTarballsForInstalledPackages.d.ts +1 -0
  103. package/dist/build-tools/MakeTarballsForInstalledPackages.d.ts.map +1 -0
  104. package/dist/build-tools/MakeTarballsForInstalledPackages.js +3 -3
  105. package/dist/build-tools/MakeTarballsForInstalledPackages.js.map +1 -1
  106. package/dist/cli/CLI.d.ts +1 -0
  107. package/dist/cli/CLI.d.ts.map +1 -0
  108. package/dist/cli/CLI.js +139 -92
  109. package/dist/cli/CLI.js.map +1 -1
  110. package/dist/cli/CLIConfigFile.d.ts +1 -0
  111. package/dist/cli/CLIConfigFile.d.ts.map +1 -0
  112. package/dist/cli/CLILauncher.d.ts +1 -0
  113. package/dist/cli/CLILauncher.d.ts.map +1 -0
  114. package/dist/cli/CLIOptions.d.ts +1 -0
  115. package/dist/cli/CLIOptions.d.ts.map +1 -0
  116. package/dist/cli/CLIOptionsSchema.d.ts +1 -0
  117. package/dist/cli/CLIOptionsSchema.d.ts.map +1 -0
  118. package/dist/cli/CLIParser.d.ts +1 -0
  119. package/dist/cli/CLIParser.d.ts.map +1 -0
  120. package/dist/cli/CLIStarter.d.ts +1 -0
  121. package/dist/cli/CLIStarter.d.ts.map +1 -0
  122. package/dist/codecs/FFMpegTranscoder.d.ts +5 -3
  123. package/dist/codecs/FFMpegTranscoder.d.ts.map +1 -0
  124. package/dist/codecs/FFMpegTranscoder.js +16 -14
  125. package/dist/codecs/FFMpegTranscoder.js.map +1 -1
  126. package/dist/codecs/TIMITCodec.d.ts +1 -0
  127. package/dist/codecs/TIMITCodec.d.ts.map +1 -0
  128. package/dist/data-structures/DynamicTypedArray.d.ts +1 -0
  129. package/dist/data-structures/DynamicTypedArray.d.ts.map +1 -0
  130. package/dist/data-structures/DynamicTypedArray.js.map +1 -1
  131. package/dist/data-structures/Queue.d.ts +1 -0
  132. package/dist/data-structures/Queue.d.ts.map +1 -0
  133. package/dist/data-structures/WindowedList.d.ts +1 -0
  134. package/dist/data-structures/WindowedList.d.ts.map +1 -0
  135. package/dist/data-structures/WindowedList.js.map +1 -1
  136. package/dist/denoising/NSNet2.d.ts +4 -2
  137. package/dist/denoising/NSNet2.d.ts.map +1 -0
  138. package/dist/denoising/NSNet2.js +4 -4
  139. package/dist/denoising/NSNet2.js.map +1 -1
  140. package/dist/denoising/RNNoise.d.ts +3 -1
  141. package/dist/denoising/RNNoise.d.ts.map +1 -0
  142. package/dist/denoising/RNNoise.js +10 -6
  143. package/dist/denoising/RNNoise.js.map +1 -1
  144. package/dist/dsp/BiquadFilter.d.ts +1 -0
  145. package/dist/dsp/BiquadFilter.d.ts.map +1 -0
  146. package/dist/dsp/DecayingPeakEstimator.d.ts +1 -0
  147. package/dist/dsp/DecayingPeakEstimator.d.ts.map +1 -0
  148. package/dist/dsp/DecayingPeakEstimator.js.map +1 -1
  149. package/dist/dsp/FFT.d.ts +1 -0
  150. package/dist/dsp/FFT.d.ts.map +1 -0
  151. package/dist/dsp/FFT.js +2 -1
  152. package/dist/dsp/FFT.js.map +1 -1
  153. package/dist/dsp/KWeightingFilter.d.ts +1 -0
  154. package/dist/dsp/KWeightingFilter.d.ts.map +1 -0
  155. package/dist/dsp/KWeightingFilter.js.map +1 -1
  156. package/dist/dsp/LoudnessEstimator.d.ts +1 -0
  157. package/dist/dsp/LoudnessEstimator.d.ts.map +1 -0
  158. package/dist/dsp/LoudnessEstimator.js.map +1 -1
  159. package/dist/dsp/MFCC.d.ts +4 -2
  160. package/dist/dsp/MFCC.d.ts.map +1 -0
  161. package/dist/dsp/MFCC.js +4 -4
  162. package/dist/dsp/MFCC.js.map +1 -1
  163. package/dist/dsp/MelSpectrogram.d.ts +11 -8
  164. package/dist/dsp/MelSpectrogram.d.ts.map +1 -0
  165. package/dist/dsp/MelSpectrogram.js +31 -34
  166. package/dist/dsp/MelSpectrogram.js.map +1 -1
  167. package/dist/dsp/Rubberband.d.ts +1 -0
  168. package/dist/dsp/Rubberband.d.ts.map +1 -0
  169. package/dist/dsp/Rubberband.js +8 -3
  170. package/dist/dsp/Rubberband.js.map +1 -1
  171. package/dist/dsp/Sonic.d.ts +1 -0
  172. package/dist/dsp/Sonic.d.ts.map +1 -0
  173. package/dist/dsp/Sonic.js +1 -1
  174. package/dist/dsp/Sonic.js.map +1 -1
  175. package/dist/dsp/SpeexResampler.d.ts +1 -0
  176. package/dist/dsp/SpeexResampler.d.ts.map +1 -0
  177. package/dist/dsp/SpeexResampler.js +1 -1
  178. package/dist/dsp/SpeexResampler.js.map +1 -1
  179. package/dist/encodings/Ascii.d.ts +2 -1
  180. package/dist/encodings/Ascii.d.ts.map +1 -0
  181. package/dist/encodings/Base64.d.ts +1 -0
  182. package/dist/encodings/Base64.d.ts.map +1 -0
  183. package/dist/encodings/Base64.js.map +1 -1
  184. package/dist/encodings/Hex.d.ts +1 -0
  185. package/dist/encodings/Hex.d.ts.map +1 -0
  186. package/dist/encodings/HtmlEscape.d.ts +1 -0
  187. package/dist/encodings/HtmlEscape.d.ts.map +1 -0
  188. package/dist/encodings/LEB128.d.ts +1 -0
  189. package/dist/encodings/LEB128.d.ts.map +1 -0
  190. package/dist/encodings/TextEncodingsCommon.d.ts +1 -0
  191. package/dist/encodings/TextEncodingsCommon.d.ts.map +1 -0
  192. package/dist/encodings/Utf16.d.ts +1 -0
  193. package/dist/encodings/Utf16.d.ts.map +1 -0
  194. package/dist/encodings/Utf32.d.ts +1 -0
  195. package/dist/encodings/Utf32.d.ts.map +1 -0
  196. package/dist/encodings/Utf8.d.ts +1 -0
  197. package/dist/encodings/Utf8.d.ts.map +1 -0
  198. package/dist/math/MedianFilter.d.ts +1 -0
  199. package/dist/math/MedianFilter.d.ts.map +1 -0
  200. package/dist/math/VectorMath.d.ts +2 -0
  201. package/dist/math/VectorMath.d.ts.map +1 -0
  202. package/dist/math/VectorMath.js +9 -5
  203. package/dist/math/VectorMath.js.map +1 -1
  204. package/dist/nlp/ChineseSegmentation.d.ts +2 -1
  205. package/dist/nlp/ChineseSegmentation.d.ts.map +1 -0
  206. package/dist/nlp/EspeakPhonemizer.d.ts +2 -1
  207. package/dist/nlp/EspeakPhonemizer.d.ts.map +1 -0
  208. package/dist/nlp/EspeakPhonemizer.js +2 -2
  209. package/dist/nlp/EspeakPhonemizer.js.map +1 -1
  210. package/dist/nlp/IPA.d.ts +3 -2
  211. package/dist/nlp/IPA.d.ts.map +1 -0
  212. package/dist/nlp/JapaneseSegmentation.d.ts +1 -0
  213. package/dist/nlp/JapaneseSegmentation.d.ts.map +1 -0
  214. package/dist/nlp/Lexicon.d.ts +1 -0
  215. package/dist/nlp/Lexicon.d.ts.map +1 -0
  216. package/dist/nlp/PhoneConversion.d.ts +1 -0
  217. package/dist/nlp/PhoneConversion.d.ts.map +1 -0
  218. package/dist/nlp/Segmentation.d.ts +2 -1
  219. package/dist/nlp/Segmentation.d.ts.map +1 -0
  220. package/dist/nlp/Segmentation.js +8 -4
  221. package/dist/nlp/Segmentation.js.map +1 -1
  222. package/dist/nlp/TextNormalizer.d.ts +1 -0
  223. package/dist/nlp/TextNormalizer.d.ts.map +1 -0
  224. package/dist/recognition/AmazonTranscribeSTT.d.ts +3 -1
  225. package/dist/recognition/AmazonTranscribeSTT.d.ts.map +1 -0
  226. package/dist/recognition/AmazonTranscribeSTT.js +3 -3
  227. package/dist/recognition/AmazonTranscribeSTT.js.map +1 -1
  228. package/dist/recognition/AzureCognitiveServicesSTT.d.ts +3 -1
  229. package/dist/recognition/AzureCognitiveServicesSTT.d.ts.map +1 -0
  230. package/dist/recognition/AzureCognitiveServicesSTT.js +4 -4
  231. package/dist/recognition/AzureCognitiveServicesSTT.js.map +1 -1
  232. package/dist/recognition/DeepgramSTT.d.ts +3 -1
  233. package/dist/recognition/DeepgramSTT.d.ts.map +1 -0
  234. package/dist/recognition/DeepgramSTT.js +12 -13
  235. package/dist/recognition/DeepgramSTT.js.map +1 -1
  236. package/dist/recognition/GoogleCloudSTT.d.ts +3 -1
  237. package/dist/recognition/GoogleCloudSTT.d.ts.map +1 -0
  238. package/dist/recognition/GoogleCloudSTT.js +11 -10
  239. package/dist/recognition/GoogleCloudSTT.js.map +1 -1
  240. package/dist/recognition/OpenAICloudSTT.d.ts +3 -1
  241. package/dist/recognition/OpenAICloudSTT.d.ts.map +1 -0
  242. package/dist/recognition/OpenAICloudSTT.js +6 -6
  243. package/dist/recognition/OpenAICloudSTT.js.map +1 -1
  244. package/dist/recognition/WhisperCommon.d.ts +9 -0
  245. package/dist/recognition/WhisperCommon.d.ts.map +1 -0
  246. package/dist/recognition/WhisperCommon.js +52 -0
  247. package/dist/recognition/WhisperCommon.js.map +1 -0
  248. package/dist/recognition/{WhisperCppSTT.d.ts → WhisperCppCliSTT.d.ts} +14 -15
  249. package/dist/recognition/WhisperCppCliSTT.d.ts.map +1 -0
  250. package/dist/recognition/{WhisperCppSTT.js → WhisperCppCliSTT.js} +55 -84
  251. package/dist/recognition/WhisperCppCliSTT.js.map +1 -0
  252. package/dist/recognition/WhisperSTT.d.ts +73 -85
  253. package/dist/recognition/WhisperSTT.d.ts.map +1 -0
  254. package/dist/recognition/WhisperSTT.js +384 -519
  255. package/dist/recognition/WhisperSTT.js.map +1 -1
  256. package/dist/server/Client.d.ts +3 -2
  257. package/dist/server/Client.d.ts.map +1 -0
  258. package/dist/server/Client.js.map +1 -1
  259. package/dist/server/Server.d.ts +1 -0
  260. package/dist/server/Server.d.ts.map +1 -0
  261. package/dist/server/ServerStarter.d.ts +1 -0
  262. package/dist/server/ServerStarter.d.ts.map +1 -0
  263. package/dist/server/Worker.d.ts +7 -7
  264. package/dist/server/Worker.d.ts.map +1 -0
  265. package/dist/server/Worker.js +42 -44
  266. package/dist/server/Worker.js.map +1 -1
  267. package/dist/server/WorkerStarter.d.ts +1 -0
  268. package/dist/server/WorkerStarter.d.ts.map +1 -0
  269. package/dist/source-separation/MDXNetSourceSeparation.d.ts +4 -2
  270. package/dist/source-separation/MDXNetSourceSeparation.d.ts.map +1 -0
  271. package/dist/source-separation/MDXNetSourceSeparation.js +10 -8
  272. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
  273. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts +4 -2
  274. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts.map +1 -0
  275. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js +5 -5
  276. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js.map +1 -1
  277. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +6 -3
  278. package/dist/speech-language-detection/SileroLanguageDetection.d.ts.map +1 -0
  279. package/dist/speech-language-detection/SileroLanguageDetection.js +8 -8
  280. package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
  281. package/dist/speech-search/DTWSpeechSearch.d.ts +3 -1
  282. package/dist/speech-search/DTWSpeechSearch.d.ts.map +1 -0
  283. package/dist/speech-search/DTWSpeechSearch.js +4 -4
  284. package/dist/speech-search/DTWSpeechSearch.js.map +1 -1
  285. package/dist/subtitles/Subtitles.d.ts +14 -1
  286. package/dist/subtitles/Subtitles.d.ts.map +1 -0
  287. package/dist/subtitles/Subtitles.js +22 -22
  288. package/dist/subtitles/Subtitles.js.map +1 -1
  289. package/dist/synthesis/AwsPollyTTS.d.ts +4 -2
  290. package/dist/synthesis/AwsPollyTTS.d.ts.map +1 -0
  291. package/dist/synthesis/AwsPollyTTS.js +5 -5
  292. package/dist/synthesis/AwsPollyTTS.js.map +1 -1
  293. package/dist/synthesis/AzureCognitiveServicesTTS.d.ts +3 -1
  294. package/dist/synthesis/AzureCognitiveServicesTTS.d.ts.map +1 -0
  295. package/dist/synthesis/AzureCognitiveServicesTTS.js +3 -3
  296. package/dist/synthesis/AzureCognitiveServicesTTS.js.map +1 -1
  297. package/dist/synthesis/CoquiServerTTS.d.ts +3 -1
  298. package/dist/synthesis/CoquiServerTTS.d.ts.map +1 -0
  299. package/dist/synthesis/CoquiServerTTS.js +7 -8
  300. package/dist/synthesis/CoquiServerTTS.js.map +1 -1
  301. package/dist/synthesis/DeepgramTTS.d.ts +3 -2
  302. package/dist/synthesis/DeepgramTTS.d.ts.map +1 -0
  303. package/dist/synthesis/DeepgramTTS.js +13 -13
  304. package/dist/synthesis/DeepgramTTS.js.map +1 -1
  305. package/dist/synthesis/ElevenLabsTTS.d.ts +4 -3
  306. package/dist/synthesis/ElevenLabsTTS.d.ts.map +1 -0
  307. package/dist/synthesis/ElevenLabsTTS.js +22 -21
  308. package/dist/synthesis/ElevenLabsTTS.js.map +1 -1
  309. package/dist/synthesis/EspeakTTS.d.ts +12 -9
  310. package/dist/synthesis/EspeakTTS.d.ts.map +1 -0
  311. package/dist/synthesis/EspeakTTS.js +118 -68
  312. package/dist/synthesis/EspeakTTS.js.map +1 -1
  313. package/dist/synthesis/FliteTTS.d.ts +3 -2
  314. package/dist/synthesis/FliteTTS.d.ts.map +1 -0
  315. package/dist/synthesis/FliteTTS.js +2 -2
  316. package/dist/synthesis/FliteTTS.js.map +1 -1
  317. package/dist/synthesis/GnuSpeechTTS.d.ts +3 -2
  318. package/dist/synthesis/GnuSpeechTTS.d.ts.map +1 -0
  319. package/dist/synthesis/GnuSpeechTTS.js +1 -1
  320. package/dist/synthesis/GnuSpeechTTS.js.map +1 -1
  321. package/dist/synthesis/GoogleCloudTTS.d.ts +4 -2
  322. package/dist/synthesis/GoogleCloudTTS.d.ts.map +1 -0
  323. package/dist/synthesis/GoogleCloudTTS.js +15 -14
  324. package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
  325. package/dist/synthesis/GoogleTranslateTTS.d.ts +4 -2
  326. package/dist/synthesis/GoogleTranslateTTS.d.ts.map +1 -0
  327. package/dist/synthesis/GoogleTranslateTTS.js +11 -11
  328. package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
  329. package/dist/synthesis/KokoroTTS.d.ts +5 -4
  330. package/dist/synthesis/KokoroTTS.d.ts.map +1 -0
  331. package/dist/synthesis/KokoroTTS.js +11 -10
  332. package/dist/synthesis/KokoroTTS.js.map +1 -1
  333. package/dist/synthesis/MicrosoftEdgeTTS.d.ts +5 -3
  334. package/dist/synthesis/MicrosoftEdgeTTS.d.ts.map +1 -0
  335. package/dist/synthesis/MicrosoftEdgeTTS.js +41 -20
  336. package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
  337. package/dist/synthesis/OpenAICloudTTS.d.ts +3 -2
  338. package/dist/synthesis/OpenAICloudTTS.d.ts.map +1 -0
  339. package/dist/synthesis/OpenAICloudTTS.js +6 -5
  340. package/dist/synthesis/OpenAICloudTTS.js.map +1 -1
  341. package/dist/synthesis/SamTTS.d.ts +3 -1
  342. package/dist/synthesis/SamTTS.d.ts.map +1 -0
  343. package/dist/synthesis/SamTTS.js +2 -2
  344. package/dist/synthesis/SamTTS.js.map +1 -1
  345. package/dist/synthesis/SapiTTS.d.ts +3 -2
  346. package/dist/synthesis/SapiTTS.d.ts.map +1 -0
  347. package/dist/synthesis/SapiTTS.js +2 -2
  348. package/dist/synthesis/SapiTTS.js.map +1 -1
  349. package/dist/synthesis/SvoxPicoTTS.d.ts +3 -2
  350. package/dist/synthesis/SvoxPicoTTS.d.ts.map +1 -0
  351. package/dist/synthesis/SvoxPicoTTS.js +3 -3
  352. package/dist/synthesis/SvoxPicoTTS.js.map +1 -1
  353. package/dist/synthesis/VitsTTS.d.ts +4 -3
  354. package/dist/synthesis/VitsTTS.d.ts.map +1 -0
  355. package/dist/synthesis/VitsTTS.js +14 -11
  356. package/dist/synthesis/VitsTTS.js.map +1 -1
  357. package/dist/tests/Test.d.ts +1 -0
  358. package/dist/tests/Test.d.ts.map +1 -0
  359. package/dist/text-language-detection/FastTextLanguageDetection.d.ts +1 -0
  360. package/dist/text-language-detection/FastTextLanguageDetection.d.ts.map +1 -0
  361. package/dist/text-language-detection/TinyLDLanguageDetection.d.ts +1 -0
  362. package/dist/text-language-detection/TinyLDLanguageDetection.d.ts.map +1 -0
  363. package/dist/text-translation/DeepLTextTranslation.d.ts +3 -2
  364. package/dist/text-translation/DeepLTextTranslation.d.ts.map +1 -0
  365. package/dist/text-translation/DeepLTextTranslation.js +10 -9
  366. package/dist/text-translation/DeepLTextTranslation.js.map +1 -1
  367. package/dist/text-translation/GoogleTranslateTextTranslation.d.ts +5 -4
  368. package/dist/text-translation/GoogleTranslateTextTranslation.d.ts.map +1 -0
  369. package/dist/text-translation/GoogleTranslateTextTranslation.js +20 -18
  370. package/dist/text-translation/GoogleTranslateTextTranslation.js.map +1 -1
  371. package/dist/text-translation/NLLBTextTranslation.d.ts +3 -2
  372. package/dist/text-translation/NLLBTextTranslation.d.ts.map +1 -0
  373. package/dist/text-translation/NLLBTextTranslation.js +4 -6
  374. package/dist/text-translation/NLLBTextTranslation.js.map +1 -1
  375. package/dist/typings/TypedArray.d.ts +1 -0
  376. package/dist/typings/TypedArray.d.ts.map +1 -0
  377. package/dist/utilities/BrowserRequestHeaders.d.ts +1 -0
  378. package/dist/utilities/BrowserRequestHeaders.d.ts.map +1 -0
  379. package/dist/utilities/Compression.d.ts +5 -3
  380. package/dist/utilities/Compression.d.ts.map +1 -0
  381. package/dist/utilities/Compression.js +9 -9
  382. package/dist/utilities/Compression.js.map +1 -1
  383. package/dist/utilities/FileDownloader.d.ts +7 -3
  384. package/dist/utilities/FileDownloader.d.ts.map +1 -0
  385. package/dist/utilities/FileDownloader.js +25 -21
  386. package/dist/utilities/FileDownloader.js.map +1 -1
  387. package/dist/utilities/FileReader.d.ts +1 -0
  388. package/dist/utilities/FileReader.d.ts.map +1 -0
  389. package/dist/utilities/FileReader.js.map +1 -1
  390. package/dist/utilities/FileSystem.d.ts +1 -0
  391. package/dist/utilities/FileSystem.d.ts.map +1 -0
  392. package/dist/utilities/FileSystem.js +1 -1
  393. package/dist/utilities/FileSystem.js.map +1 -1
  394. package/dist/utilities/FileWriter.d.ts +1 -0
  395. package/dist/utilities/FileWriter.d.ts.map +1 -0
  396. package/dist/utilities/FileWriter.js.map +1 -1
  397. package/dist/utilities/Hashing.d.ts +1 -0
  398. package/dist/utilities/Hashing.d.ts.map +1 -0
  399. package/dist/utilities/Hashing.js.map +1 -1
  400. package/dist/utilities/Locale.d.ts +1 -0
  401. package/dist/utilities/Locale.d.ts.map +1 -0
  402. package/dist/utilities/Locale.js.map +1 -1
  403. package/dist/utilities/Logger.d.ts +18 -9
  404. package/dist/utilities/Logger.d.ts.map +1 -0
  405. package/dist/utilities/Logger.js +50 -35
  406. package/dist/utilities/Logger.js.map +1 -1
  407. package/dist/utilities/NpmUtilities.d.ts +1 -0
  408. package/dist/utilities/NpmUtilities.d.ts.map +1 -0
  409. package/dist/utilities/NpmUtilities.js +4 -5
  410. package/dist/utilities/NpmUtilities.js.map +1 -1
  411. package/dist/utilities/ObjectUtilities.d.ts +1 -0
  412. package/dist/utilities/ObjectUtilities.d.ts.map +1 -0
  413. package/dist/utilities/ObjectUtilities.js.map +1 -1
  414. package/dist/utilities/OnnxUtilities.d.ts +1 -0
  415. package/dist/utilities/OnnxUtilities.d.ts.map +1 -0
  416. package/dist/utilities/OpenPromise.d.ts +1 -0
  417. package/dist/utilities/OpenPromise.d.ts.map +1 -0
  418. package/dist/utilities/OpenPromise.js.map +1 -1
  419. package/dist/utilities/PackageManager.d.ts +5 -1
  420. package/dist/utilities/PackageManager.d.ts.map +1 -0
  421. package/dist/utilities/PackageManager.js +37 -22
  422. package/dist/utilities/PackageManager.js.map +1 -1
  423. package/dist/utilities/PathUtilities.d.ts +3 -0
  424. package/dist/utilities/PathUtilities.d.ts.map +1 -0
  425. package/dist/utilities/PathUtilities.js +5 -2
  426. package/dist/utilities/PathUtilities.js.map +1 -1
  427. package/dist/utilities/RandomGenerator.d.ts +1 -0
  428. package/dist/utilities/RandomGenerator.d.ts.map +1 -0
  429. package/dist/utilities/SignalChannel.d.ts +1 -0
  430. package/dist/utilities/SignalChannel.d.ts.map +1 -0
  431. package/dist/utilities/SmoothEstimator.d.ts +1 -0
  432. package/dist/utilities/SmoothEstimator.d.ts.map +1 -0
  433. package/dist/utilities/SmoothEstimator.js.map +1 -1
  434. package/dist/utilities/StringBuilder.d.ts +1 -0
  435. package/dist/utilities/StringBuilder.d.ts.map +1 -0
  436. package/dist/utilities/StringUtilities.d.ts +1 -0
  437. package/dist/utilities/StringUtilities.d.ts.map +1 -0
  438. package/dist/utilities/TarballMaker.d.ts +5 -3
  439. package/dist/utilities/TarballMaker.d.ts.map +1 -0
  440. package/dist/utilities/TarballMaker.js +6 -6
  441. package/dist/utilities/TarballMaker.js.map +1 -1
  442. package/dist/utilities/Timeline.d.ts +1 -0
  443. package/dist/utilities/Timeline.d.ts.map +1 -0
  444. package/dist/utilities/Timeline.js.map +1 -1
  445. package/dist/utilities/Timer.d.ts +1 -0
  446. package/dist/utilities/Timer.d.ts.map +1 -0
  447. package/dist/utilities/Utilities.d.ts +10 -7
  448. package/dist/utilities/Utilities.d.ts.map +1 -0
  449. package/dist/utilities/Utilities.js +49 -31
  450. package/dist/utilities/Utilities.js.map +1 -1
  451. package/dist/utilities/VirtualFileReadStream.d.ts +1 -0
  452. package/dist/utilities/VirtualFileReadStream.d.ts.map +1 -0
  453. package/dist/utilities/WebReader.d.ts +3 -1
  454. package/dist/utilities/WebReader.d.ts.map +1 -0
  455. package/dist/utilities/WebReader.js +7 -6
  456. package/dist/utilities/WebReader.js.map +1 -1
  457. package/dist/utilities/WikipediaReader.d.ts +3 -1
  458. package/dist/utilities/WikipediaReader.d.ts.map +1 -0
  459. package/dist/utilities/WikipediaReader.js +1 -5
  460. package/dist/utilities/WikipediaReader.js.map +1 -1
  461. package/dist/voice-activity-detection/AdaptiveGateVAD.d.ts +3 -1
  462. package/dist/voice-activity-detection/AdaptiveGateVAD.d.ts.map +1 -0
  463. package/dist/voice-activity-detection/AdaptiveGateVAD.js +1 -1
  464. package/dist/voice-activity-detection/AdaptiveGateVAD.js.map +1 -1
  465. package/dist/voice-activity-detection/SileroVAD.d.ts +1 -0
  466. package/dist/voice-activity-detection/SileroVAD.d.ts.map +1 -0
  467. package/dist/voice-activity-detection/SileroVAD.js.map +1 -1
  468. package/dist/voice-activity-detection/WebRtcVAD.d.ts +1 -0
  469. package/dist/voice-activity-detection/WebRtcVAD.d.ts.map +1 -0
  470. package/dist/voice-activity-detection/WebRtcVAD.js +1 -1
  471. package/dist/voice-activity-detection/WebRtcVAD.js.map +1 -1
  472. package/docs/API.md +62 -17
  473. package/docs/CUDA.md +4 -3
  474. package/docs/Engines.md +8 -7
  475. package/docs/Licenses.md +0 -3
  476. package/docs/Options.md +27 -31
  477. package/docs/Server.md +1 -0
  478. package/docs/Tasklist.md +2 -1
  479. package/docs/Technical.md +2 -2
  480. package/package.json +45 -35
  481. package/src/alignment/SemanticTextAlignment.ts +14 -7
  482. package/src/alignment/SpeechAlignment.ts +47 -150
  483. package/src/api/APIOptions.ts +1 -1
  484. package/src/api/Alignment.ts +95 -61
  485. package/src/api/Common.ts +11 -0
  486. package/src/api/Denoising.ts +22 -17
  487. package/src/api/GlobalOptions.ts +4 -20
  488. package/src/api/Recognition.ts +106 -123
  489. package/src/api/SourceSeparation.ts +39 -21
  490. package/src/api/SpeechLanguageDetection.ts +77 -37
  491. package/src/api/SpeechSearch.ts +6 -1
  492. package/src/api/SpeechTranslation.ts +75 -38
  493. package/src/api/Synthesis.ts +220 -116
  494. package/src/api/TextLanguageDetection.ts +10 -12
  495. package/src/api/TextTranslation.ts +43 -26
  496. package/src/api/TimelineTranslationAlignment.ts +41 -13
  497. package/src/api/TranscriptAndTranslationAlignment.ts +28 -15
  498. package/src/api/TranslationAlignment.ts +53 -24
  499. package/src/api/VoiceActivityDetection.ts +33 -68
  500. package/src/audio/AudioPlayer.ts +4 -232
  501. package/src/audio/AudioUtilities.ts +9 -2
  502. package/src/build-tools/MakeTarballsForInstalledPackages.ts +4 -3
  503. package/src/cli/CLI.ts +209 -101
  504. package/src/codecs/FFMpegTranscoder.ts +18 -16
  505. package/src/denoising/NSNet2.ts +5 -4
  506. package/src/denoising/RNNoise.ts +14 -6
  507. package/src/dsp/FFT.ts +2 -1
  508. package/src/dsp/MFCC.ts +7 -5
  509. package/src/dsp/MelSpectrogram.ts +56 -36
  510. package/src/dsp/Rubberband.ts +10 -3
  511. package/src/dsp/Sonic.ts +2 -1
  512. package/src/dsp/SpeexResampler.ts +2 -1
  513. package/src/encodings/Ascii.ts +1 -1
  514. package/src/encodings/Base64.ts +1 -1
  515. package/src/math/VectorMath.ts +10 -6
  516. package/src/nlp/EspeakPhonemizer.ts +2 -2
  517. package/src/nlp/Segmentation.ts +9 -4
  518. package/src/recognition/AmazonTranscribeSTT.ts +4 -3
  519. package/src/recognition/AzureCognitiveServicesSTT.ts +5 -4
  520. package/src/recognition/DeepgramSTT.ts +16 -16
  521. package/src/recognition/GoogleCloudSTT.ts +14 -12
  522. package/src/recognition/OpenAICloudSTT.ts +12 -6
  523. package/src/recognition/WhisperCommon.ts +130 -0
  524. package/src/recognition/{WhisperCppSTT.ts → WhisperCppCliSTT.ts} +73 -133
  525. package/src/recognition/WhisperSTT.ts +569 -718
  526. package/src/server/Client.ts +4 -4
  527. package/src/server/Worker.ts +59 -59
  528. package/src/source-separation/MDXNetSourceSeparation.ts +15 -10
  529. package/src/speech-embeddings/WavToVec2BertFeatureEmbeddings.ts +7 -5
  530. package/src/speech-language-detection/SileroLanguageDetection.ts +18 -9
  531. package/src/speech-search/DTWSpeechSearch.ts +6 -5
  532. package/src/subtitles/Subtitles.ts +22 -22
  533. package/src/synthesis/AwsPollyTTS.ts +12 -5
  534. package/src/synthesis/AzureCognitiveServicesTTS.ts +11 -3
  535. package/src/synthesis/CoquiServerTTS.ts +8 -7
  536. package/src/synthesis/DeepgramTTS.ts +21 -15
  537. package/src/synthesis/ElevenLabsTTS.ts +33 -23
  538. package/src/synthesis/EspeakTTS.ts +145 -69
  539. package/src/synthesis/FliteTTS.ts +3 -3
  540. package/src/synthesis/GnuSpeechTTS.ts +2 -2
  541. package/src/synthesis/GoogleCloudTTS.ts +23 -14
  542. package/src/synthesis/GoogleTranslateTTS.ts +19 -11
  543. package/src/synthesis/KokoroTTS.ts +37 -14
  544. package/src/synthesis/MicrosoftEdgeTTS.ts +71 -23
  545. package/src/synthesis/OpenAICloudTTS.ts +7 -6
  546. package/src/synthesis/SamTTS.ts +3 -2
  547. package/src/synthesis/SapiTTS.ts +3 -3
  548. package/src/synthesis/SvoxPicoTTS.ts +4 -5
  549. package/src/synthesis/VitsTTS.ts +43 -15
  550. package/src/text-translation/DeepLTextTranslation.ts +12 -10
  551. package/src/text-translation/GoogleTranslateTextTranslation.ts +35 -21
  552. package/src/text-translation/NLLBTextTranslation.ts +5 -9
  553. package/src/typings/Fillers.d.ts +0 -60
  554. package/src/typings/TypedArray.ts +12 -1
  555. package/src/utilities/Compression.ts +10 -9
  556. package/src/utilities/FileDownloader.ts +38 -23
  557. package/src/utilities/FileSystem.ts +1 -1
  558. package/src/utilities/Logger.ts +59 -42
  559. package/src/utilities/NpmUtilities.ts +4 -6
  560. package/src/utilities/OpenPromise.ts +1 -2
  561. package/src/utilities/PackageManager.ts +53 -26
  562. package/src/utilities/PathUtilities.ts +6 -2
  563. package/src/utilities/TarballMaker.ts +7 -7
  564. package/src/utilities/Utilities.ts +58 -39
  565. package/src/utilities/WebReader.ts +11 -6
  566. package/src/utilities/WikipediaReader.ts +2 -8
  567. package/src/voice-activity-detection/AdaptiveGateVAD.ts +13 -8
  568. package/src/voice-activity-detection/WebRtcVAD.ts +1 -2
  569. package/tsconfig.json +53 -94
  570. package/dist/audio/AudioRecorder.d.ts +0 -3
  571. package/dist/audio/AudioRecorder.js +0 -68
  572. package/dist/audio/AudioRecorder.js.map +0 -1
  573. package/dist/audio/SoxPath.d.ts +0 -1
  574. package/dist/audio/SoxPath.js +0 -24
  575. package/dist/audio/SoxPath.js.map +0 -1
  576. package/dist/recognition/SileroSTT.d.ts +0 -29
  577. package/dist/recognition/SileroSTT.js +0 -152
  578. package/dist/recognition/SileroSTT.js.map +0 -1
  579. package/dist/recognition/VoskSTT.d.ts +0 -10
  580. package/dist/recognition/VoskSTT.js +0 -72
  581. package/dist/recognition/VoskSTT.js.map +0 -1
  582. package/dist/recognition/WhisperCppSTT.js.map +0 -1
  583. package/dist/synthesis/StreamlabsPollyTTS.d.ts +0 -11
  584. package/dist/synthesis/StreamlabsPollyTTS.js +0 -88
  585. package/dist/synthesis/StreamlabsPollyTTS.js.map +0 -1
  586. package/dist/utilities/BinaryUtilities.d.ts +0 -13
  587. package/dist/utilities/BinaryUtilities.js +0 -113
  588. package/dist/utilities/BinaryUtilities.js.map +0 -1
  589. package/src/audio/AudioRecorder.ts +0 -91
  590. package/src/audio/SoxPath.ts +0 -31
  591. package/src/recognition/SileroSTT.ts +0 -222
  592. package/src/recognition/VoskSTT.ts +0 -112
  593. package/src/synthesis/StreamlabsPollyTTS.ts +0 -114
  594. package/src/utilities/BinaryUtilities.ts +0 -138
  595. /package/{LICENSE.md → LICENSE.GPLv3.md} +0 -0
@@ -8,16 +8,16 @@ import { appName } from '../api/Common.js';
8
8
  import { readAndParseJsonFile, remove } from '../utilities/FileSystem.js';
9
9
  import { splitToLines } from '../nlp/Segmentation.js';
10
10
  import { extendDeep } from '../utilities/ObjectUtilities.js';
11
- import { formatLanguageCodeWithName, getShortLanguageCode } from '../utilities/Locale.js';
11
+ import { formatLanguageCodeWithName } from '../utilities/Locale.js';
12
12
  import { loadPackage } from '../utilities/PackageManager.js';
13
13
  import { detectSpeechLanguageByParts } from '../api/SpeechLanguageDetection.js';
14
- export async function recognize(sourceRawAudio, task, sourceLanguage, modelName, modelPath, options) {
14
+ export async function recognize(sourceRawAudio, task, sourceLanguage, modelId, modelPath, options, callbacks) {
15
15
  return new Promise(async (resolve, reject) => {
16
- const logger = new Logger();
16
+ const logger = new Logger(callbacks.logLevel);
17
17
  if (sourceRawAudio.sampleRate != 16000) {
18
18
  throw new Error('Source audio must have a sample rate of 16000 Hz');
19
19
  }
20
- options = extendDeep(defaultWhisperCppOptions, options);
20
+ options = extendDeep(defaultWhisperCppCliOptions, options);
21
21
  let buildKind;
22
22
  let executablePath;
23
23
  if (options.executablePath) {
@@ -33,12 +33,12 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
33
33
  if (options.enableGPU == null) {
34
34
  options.enableGPU = buildKind.startsWith('cublas-');
35
35
  }
36
- else if (options.enableGPU === true && !buildKind.startsWith('cublas-')) {
36
+ else if (process.platform !== 'darwin' && options.enableGPU === true && !buildKind.startsWith('cublas-')) {
37
37
  throw new Error('GPU support is only available for CUDA builds');
38
38
  }
39
39
  }
40
40
  else {
41
- if (options.enableGPU) {
41
+ if (process.platform !== 'darwin' && options.enableGPU) {
42
42
  buildKind = 'cublas-12.4.0';
43
43
  }
44
44
  else {
@@ -46,7 +46,7 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
46
46
  }
47
47
  }
48
48
  logger.end();
49
- executablePath = await loadExecutablePackage(buildKind);
49
+ executablePath = await loadBinariesPackage(buildKind, callbacks);
50
50
  }
51
51
  if (options.enableFlashAttention && options.enableDTW) {
52
52
  options.enableDTW = false;
@@ -54,7 +54,7 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
54
54
  if (task === 'translate' && options.model.startsWith('large-v3-turbo')) {
55
55
  throw new Error(`The 'large-v3-turbo' model doesn't support translation tasks.`);
56
56
  }
57
- logger.start(`Recognize with command-line whisper.cpp (model: ${options.model || modelName}, build: ${buildKind})`);
57
+ logger.start(`Recognize with command-line whisper.cpp (model: ${options.model || modelId}, build: ${buildKind})`);
58
58
  logger.log('');
59
59
  logger.log('');
60
60
  const sourceAsWave = encodeRawAudioToWave(sourceRawAudio);
@@ -91,7 +91,7 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
91
91
  args.push('--no-gpu');
92
92
  }
93
93
  if (options.enableDTW) {
94
- args.push('--max-len', '0', '--dtw', modelName.replaceAll('-', '.'));
94
+ args.push('--max-len', '0', '--dtw', modelId.replaceAll('-', '.'));
95
95
  }
96
96
  else {
97
97
  args.push('--max-len', '0');
@@ -99,6 +99,9 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
99
99
  if (options.enableFlashAttention) {
100
100
  args.push('--flash-attn');
101
101
  }
102
+ else {
103
+ args.push('--no-flash-attn');
104
+ }
102
105
  if (task === 'translate') {
103
106
  args.push('--translate');
104
107
  }
@@ -106,11 +109,15 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
106
109
  args.push('--detect-language');
107
110
  }
108
111
  const argsString = args.join(' ');
109
- const process = spawn(executablePath, [...args, '-']);
112
+ const cliProcess = spawn(executablePath, [...args, '-']);
113
+ callbacks.abortSignal?.addEventListener('abort', () => {
114
+ reject(new DOMException('whisper.cpp CLI process aborted by user.', 'AbortError'));
115
+ cliProcess.kill();
116
+ });
110
117
  const stdoutLines = [];
111
118
  let stderrOutput = '';
112
- process.stdout.setEncoding('utf8');
113
- process.stdout.on('data', (str) => {
119
+ cliProcess.stdout.setEncoding('utf8');
120
+ cliProcess.stdout.on('data', (str) => {
114
121
  if (task === 'detect-language') {
115
122
  return;
116
123
  }
@@ -120,17 +127,17 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
120
127
  logger.log(parts.join('\n'));
121
128
  stdoutLines.push(...parts);
122
129
  });
123
- process.stderr.setEncoding('utf8');
124
- process.stderr.on('data', (str) => {
130
+ cliProcess.stderr.setEncoding('utf8');
131
+ cliProcess.stderr.on('data', (str) => {
125
132
  if (options.verbose) {
126
133
  logger.log(str);
127
134
  }
128
135
  stderrOutput += str;
129
136
  });
130
- process.on('error', (e) => {
137
+ cliProcess.on('error', (e) => {
131
138
  reject(e);
132
139
  });
133
- process.on('close', async (exitCode) => {
140
+ cliProcess.on('close', async (exitCode) => {
134
141
  logger.end();
135
142
  if (exitCode === 0) {
136
143
  const parsedStdOut = parseStdOutLinesToTimeline(stdoutLines, 'word');
@@ -140,7 +147,7 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
140
147
  resolve({ timeline: [], transcript: '', language: resultObject.result.language });
141
148
  }
142
149
  else {
143
- const parsedResultObject = await parseResultObject(resultObject, modelName, getRawAudioDuration(sourceRawAudio), options.enableDTW);
150
+ const parsedResultObject = await parseResultObject(resultObject, modelId, getRawAudioDuration(sourceRawAudio), options.enableDTW, callbacks);
144
151
  resolve(parsedResultObject);
145
152
  }
146
153
  }
@@ -149,16 +156,16 @@ export async function recognize(sourceRawAudio, task, sourceLanguage, modelName,
149
156
  logger.log(stderrOutput);
150
157
  }
151
158
  });
152
- //writeToStdinInChunks(process, sourceAsWave, 2 ** 10)
153
- process.stdin.end(sourceAsWave);
159
+ //writeToStdinInChunks(cliProcess, sourceAsWave, 2 ** 10)
160
+ cliProcess.stdin.end(sourceAsWave);
154
161
  });
155
162
  }
156
- export async function detectLanguage(sourceRawAudio, modelName, modelPath) {
163
+ export async function detectLanguage(sourceRawAudio, modelId, modelPath, callbacks) {
157
164
  if (sourceRawAudio.sampleRate != 16000) {
158
165
  throw new Error('Source audio must have a sample rate of 16000');
159
166
  }
160
167
  async function detectLanguageForPart(partAudio) {
161
- const { language } = await recognize(partAudio, 'detect-language', undefined, modelName, modelPath, {});
168
+ const { language } = await recognize(partAudio, 'detect-language', undefined, modelId, modelPath, {}, { abortSignal: callbacks.abortSignal, logLevel: callbacks.logLevel });
162
169
  const partResults = [{
163
170
  language: language,
164
171
  languageName: formatLanguageCodeWithName(language),
@@ -166,14 +173,14 @@ export async function detectLanguage(sourceRawAudio, modelName, modelPath) {
166
173
  }];
167
174
  return partResults;
168
175
  }
169
- const results = await detectSpeechLanguageByParts(sourceRawAudio, detectLanguageForPart);
176
+ const results = await detectSpeechLanguageByParts(sourceRawAudio, detectLanguageForPart, undefined, undefined, callbacks);
170
177
  results.sort((entry1, entry2) => entry2.probability - entry1.probability);
171
178
  return results;
172
179
  }
173
- async function parseResultObject(resultObject, modelName, totalDuration, enableDTW) {
174
- const { Whisper } = await import('../recognition/WhisperSTT.js');
175
- const whisper = new Whisper(modelName, '', [], []);
176
- await whisper.initializeTokenizerIfNeeded();
180
+ async function parseResultObject(resultObject, modelId, totalDuration, enableDTW, callbacks) {
181
+ const { Whisper } = await import('./WhisperSTT.js');
182
+ const whisper = new Whisper(modelId, '', '');
183
+ await whisper.initializeTokenizerIfNeeded(callbacks);
177
184
  const tokenTimeline = [];
178
185
  let currentCorrectionTimeOffset = 0;
179
186
  let lastTokenEndOffset = 0;
@@ -266,32 +273,7 @@ function parseStdOutLinesToTimeline(lines, entryType) {
266
273
  }
267
274
  return { transcript, timeline };
268
275
  }
269
- export async function loadModelPackage(modelId, languageCode) {
270
- if (modelId === 'large') {
271
- modelId = 'large-v2';
272
- }
273
- if (modelId) {
274
- const modelName = getModelNameFromModelId(modelId);
275
- if (languageCode != 'en' && modelName.endsWith('.en')) {
276
- throw new Error(`The English-only model '${modelName}' cannot be used with a non-English language '${languageCode}'.`);
277
- }
278
- }
279
- else {
280
- if (languageCode) {
281
- const shortLanguageCode = getShortLanguageCode(languageCode);
282
- modelId = shortLanguageCode == 'en' ? 'base.en' : 'base';
283
- }
284
- else {
285
- modelId = 'base';
286
- }
287
- }
288
- const packageName = `whisper.cpp-${modelId}`;
289
- const modelDir = await loadPackage(packageName);
290
- const modelPath = joinPath(modelDir, `ggml-${modelId}.bin`);
291
- const modelName = getModelNameFromModelId(modelId);
292
- return { modelName, modelPath };
293
- }
294
- export async function loadExecutablePackage(buildKind) {
276
+ export async function loadBinariesPackage(buildKind, callbacks) {
295
277
  if (buildKind === 'custom') {
296
278
  throw new Error(`A 'custom' build kind requires providing a custom path to the 'whisper-cli' executable in the 'executablePath' option.`);
297
279
  }
@@ -300,10 +282,10 @@ export async function loadExecutablePackage(buildKind) {
300
282
  let packageName;
301
283
  if (buildKind.startsWith('cublas-')) {
302
284
  if (platform === 'win32' && arch === 'x64') {
303
- packageName = `whisper.cpp-binaries-windows-x64-${buildKind}-latest`;
285
+ packageName = `whisper.cpp-binaries-windows-x64-${buildKind}`;
304
286
  }
305
287
  else if (platform === 'linux' && arch === 'x64') {
306
- packageName = `whisper.cpp-binaries-linux-x64-${buildKind}-latest`;
288
+ packageName = `whisper.cpp-binaries-linux-x64-${buildKind}`;
307
289
  }
308
290
  else {
309
291
  throw new Error(`whisper.cpp GPU builds (NVIDIA CUDA only) are currently only available as packages for Windows x64 and Linux x64. Please specify a custom path to a whisper.cpp 'main' binary in the 'executablePath' option.`);
@@ -311,10 +293,22 @@ export async function loadExecutablePackage(buildKind) {
311
293
  }
312
294
  else if (buildKind === 'cpu') {
313
295
  if (platform === 'win32' && arch === 'x64') {
314
- packageName = `whisper.cpp-binaries-windows-x64-cpu-latest`;
296
+ packageName = `whisper.cpp-binaries-windows-x64-cpu`;
297
+ }
298
+ else if (platform === 'win32' && arch === 'arm64') {
299
+ packageName = `whisper.cpp-binaries-windows-arm64-cpu`;
300
+ }
301
+ else if (platform === 'darwin' && arch === 'x64') {
302
+ packageName = `whisper.cpp-binaries-macos-universal`;
303
+ }
304
+ else if (platform === 'darwin' && arch === 'arm64') {
305
+ packageName = `whisper.cpp-binaries-macos-universal`;
315
306
  }
316
307
  else if (platform === 'linux' && arch === 'x64') {
317
- packageName = `whisper.cpp-binaries-linux-x64-cpu-latest`;
308
+ packageName = `whisper.cpp-binaries-linux-x64-cpu`;
309
+ }
310
+ else if (platform === 'linux' && arch === 'arm64') {
311
+ packageName = `whisper.cpp-binaries-linux-arm64-cpu`;
318
312
  }
319
313
  else {
320
314
  throw new Error(`Couldn't find a matching whisper.cpp binary package. Please specify a custom path to a whisper.cpp 'main' binary in the 'executablePath' option.`);
@@ -323,43 +317,20 @@ export async function loadExecutablePackage(buildKind) {
323
317
  else {
324
318
  throw new Error(`Unsupported build kind '${buildKind}'`);
325
319
  }
326
- const packagePath = await loadPackage(packageName);
327
- let filename = 'whisper-cli'; // used to be called 'main' but 'main' is now deprecated
320
+ const packagePath = await loadPackage(packageName, callbacks);
321
+ let filename = 'whisper-cli';
328
322
  if (platform === 'win32') {
329
323
  filename += '.exe';
330
324
  }
331
325
  return joinPath(packagePath, filename);
332
326
  }
333
- function getModelNameFromModelId(modelId) {
334
- if (modelId.startsWith('large-v1')) {
335
- return 'large-v1';
336
- }
337
- if (modelId.startsWith('large-v2')) {
338
- return 'large-v2';
339
- }
340
- if (modelId.startsWith('large-v3-turbo')) {
341
- return 'large-v3-turbo';
342
- }
343
- if (modelId.startsWith('large-v3')) {
344
- return 'large-v3';
345
- }
346
- const lastDashIndex = modelId.lastIndexOf('-');
347
- let modelName;
348
- if (lastDashIndex >= 0) {
349
- modelName = modelId.substring(0, lastDashIndex);
350
- }
351
- else {
352
- modelName = modelId;
353
- }
354
- return modelName;
355
- }
356
- export const defaultWhisperCppOptions = {
327
+ export const defaultWhisperCppCliOptions = {
357
328
  build: undefined,
358
329
  executablePath: undefined,
359
330
  model: undefined,
331
+ enableGPU: undefined,
360
332
  threadCount: 4,
361
333
  splitCount: 1,
362
- enableGPU: undefined,
363
334
  topCandidateCount: 5,
364
335
  beamCount: 5,
365
336
  repetitionThreshold: 2.4,
@@ -370,4 +341,4 @@ export const defaultWhisperCppOptions = {
370
341
  enableFlashAttention: false,
371
342
  verbose: false,
372
343
  };
373
- //# sourceMappingURL=WhisperCppSTT.js.map
344
+ //# sourceMappingURL=WhisperCppCliSTT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhisperCppCliSTT.js","sourceRoot":"","sources":["../../src/recognition/WhisperCppCliSTT.ts"],"names":[],"mappings":"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"}
@@ -1,75 +1,62 @@
1
- import type * as Onnx from 'onnxruntime-node';
2
- import { Filterbank } from '../dsp/MelSpectrogram.js';
3
- import { Timeline } from '../utilities/Timeline.js';
4
- import { AlignmentPath } from '../alignment/SpeechAlignment.js';
5
1
  import { RawAudio } from '../audio/AudioUtilities.js';
6
- import { type LanguageDetectionResults } from '../api/API.js';
7
- import { XorShift32PRNG } from '../utilities/RandomGenerator.js';
2
+ import { Timeline } from '../utilities/Timeline.js';
8
3
  import { type Tiktoken } from 'tiktoken/lite';
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, onPart?: WhisperPartCallback): Promise<{
4
+ import { XorShift32PRNG } from '../utilities/RandomGenerator.js';
5
+ import { WhisperCppContext, CrossAttentionQKs } from '@echogarden/whisper.cpp-binding';
6
+ import { LoadPackageCallbacks } from '../utilities/PackageManager.js';
7
+ import { AlignmentPath } from '../alignment/SpeechAlignment.js';
8
+ import { Filterbank } from '../dsp/MelSpectrogram.js';
9
+ import { SpeechLanguageDetectionCallbacks } from '../api/SpeechLanguageDetection.js';
10
+ import { LanguageDetectionResults } from '../api/LanguageDetectionCommon.js';
11
+ import { RecognitionCallbacks } from '../api/Recognition.js';
12
+ import { AlignmentCallbacks } from '../api/Alignment.js';
13
+ import { OperationCallbacks } from '../api/Common.js';
14
+ import { WhisperModelId, WhisperQuantizedModelId, WhisperTask } from './WhisperCommon.js';
15
+ export declare function recognize(sourceRawAudio: RawAudio, modelId: WhisperModelId, modelPath: string, libPath: string, task: WhisperTask, sourceLanguage: string, options: WhisperOptions, callbacks: RecognitionCallbacks): Promise<{
11
16
  transcript: string;
12
17
  timeline: Timeline;
13
18
  allDecodedTokens: number[];
14
19
  }>;
15
- export declare function align(sourceRawAudio: RawAudio, transcript: string, modelName: WhisperModelName, modelDir: string, sourceLanguage: string, options: WhisperAlignmentOptions): Promise<Timeline>;
16
- export declare function alignEnglishTranslation(sourceRawAudio: RawAudio, translatedTranscript: string, modelName: WhisperModelName, modelDir: string, sourceLanguage: string, options: WhisperAlignmentOptions): Promise<Timeline>;
17
- export declare function detectLanguage(sourceRawAudio: RawAudio, modelName: WhisperModelName, modelDir: string, options: WhisperLanguageDetectionOptions): Promise<LanguageDetectionResults>;
18
- export declare function detectVoiceActivity(sourceRawAudio: RawAudio, modelName: WhisperModelName, modelDir: string, options: WhisperVADOptions): Promise<{
19
- partProbabilities: Timeline;
20
- }>;
20
+ export declare function align(sourceRawAudio: RawAudio, transcript: string, modelId: WhisperModelId, modelPath: string, libPath: string, sourceLanguage: string, options: WhisperAlignmentOptions, callbacks: RecognitionCallbacks): Promise<Timeline>;
21
+ export declare function alignEnglishTranslation(sourceRawAudio: RawAudio, translatedTranscript: string, modelId: WhisperModelId, modelPath: string, libPath: string, sourceLanguage: string, options: WhisperAlignmentOptions, callbacks: AlignmentCallbacks): Promise<Timeline>;
22
+ export declare function detectLanguage(sourceRawAudio: RawAudio, modelId: WhisperModelId, modelPath: string, libPath: string, options: WhisperLanguageDetectionOptions, callbacks: SpeechLanguageDetectionCallbacks): Promise<LanguageDetectionResults>;
21
23
  export declare class Whisper {
22
- readonly modelName: WhisperModelName;
23
- readonly modelDir: string;
24
- readonly encoderExecutionProviders: OnnxExecutionProvider[];
25
- readonly decoderExecutionProviders: OnnxExecutionProvider[];
24
+ readonly modelId: WhisperModelId;
25
+ readonly modelPath: string;
26
+ readonly libPath: string;
26
27
  isMultiligualModel: boolean;
27
- audioEncoder?: Onnx.InferenceSession;
28
- textDecoder?: Onnx.InferenceSession;
29
28
  tiktoken?: Tiktoken;
30
- tokenConfig: {
31
- endOfTextToken: number;
32
- startOfTextToken: number;
33
- languageTokensStart: number;
34
- languageTokensEnd: number;
35
- translateTaskToken: number;
36
- transcribeTaskToken: number;
37
- startOfPromptToken: number;
38
- nonSpeechToken: number;
39
- noTimestampsToken: number;
40
- timestampTokensStart: number;
41
- timestampTokensEnd: number;
42
- };
29
+ context?: WhisperCppContext;
30
+ specialTokens: WhisperSpecialTokens;
43
31
  randomGen: XorShift32PRNG;
44
- constructor(modelName: WhisperModelName, modelDir: string, encoderExecutionProviders: OnnxExecutionProvider[], decoderExecutionProviders: OnnxExecutionProvider[], prngSeed?: number);
45
- recognize(rawAudio: RawAudio, task: WhisperTask, language: string, options: WhisperOptions, logitFilter?: WhisperLogitFilter, onPart?: WhisperPartCallback): Promise<{
32
+ constructor(modelId: WhisperModelId, modelPath: string, libPath: string, prngSeed?: number);
33
+ recognize(rawAudio: RawAudio, task: WhisperTask, language: string, options: WhisperOptions, logitFilter: WhisperLogitFilter | undefined, callbacks: RecognitionCallbacks): Promise<{
46
34
  transcript: string;
47
35
  timeline: Timeline;
48
36
  allDecodedTokens: number[];
49
37
  }>;
50
- align(rawAudio: RawAudio, transcript: string, sourceLanguage: string, task: 'transcribe' | 'translate', whisperAlignmentOptions: WhisperAlignmentOptions): Promise<Timeline>;
51
- detectLanguage(audioFeatures: Onnx.Tensor, temperature: number): Promise<LanguageDetectionResults>;
52
- detectVoiceActivity(audioFeatures: Onnx.Tensor, temperature: number): Promise<number>;
53
- decodeTokens(audioFeatures: Onnx.Tensor, initialTokens: number[], audioDuration: number, isFirstPart: boolean, isFinalPart: boolean, options: WhisperOptions, logitFilter?: WhisperLogitFilter): Promise<{
38
+ align(rawAudio: RawAudio, transcript: string, sourceLanguage: string, task: 'transcribe' | 'translate', whisperAlignmentOptions: WhisperAlignmentOptions, callbacks: RecognitionCallbacks): Promise<Timeline>;
39
+ detectLanguage(audioSamples: RawAudio, options: WhisperLanguageDetectionOptions, callbacks: SpeechLanguageDetectionCallbacks): Promise<LanguageDetectionResults>;
40
+ encodeSamples(samples: Float32Array, useCustomMelConverter: boolean | undefined, options: WhisperOptions, callbacks: OperationCallbacks): Promise<void>;
41
+ decodeTokens(initialTokens: number[], audioDuration: number, isFirstPart: boolean, isFinalPart: boolean, options: WhisperOptions, logitFilter: WhisperLogitFilter | undefined, callbacks: RecognitionCallbacks): Promise<{
54
42
  decodedTokens: number[];
55
- decodedTokensTimestampLogits: number[][];
43
+ decodedTokensTimestampLogits: Float32Array<ArrayBufferLike>[];
56
44
  decodedTokensConfidence: number[];
57
- decodedTokensCrossAttentionQKs: OnnxLikeFloat32Tensor[];
45
+ decodedTokensCrossAttentionQKs: CrossAttentionQKs[];
58
46
  decodedTokensDecodingTime: number[];
59
47
  decodedTokensInferenceTime: number[];
60
48
  decodedTokensOverheadTime: number[];
61
49
  }>;
62
- encodeAudio(rawAudio: RawAudio): Promise<Onnx.Tensor>;
63
50
  tokenTimelineToWordTimeline(tokenTimeline: Timeline, language: string): Timeline;
64
51
  getTokenTimelineFromAlignmentPath(alignmentPath: AlignmentPath, tokens: number[], startTimeOffset: number, endTimeOffset: number, tokensConfidence?: number[], correctionAmount?: number): Promise<Timeline>;
65
- findAlignmentPathFromQKs(qksTensors: OnnxLikeFloat32Tensor[], tokens: number[], segmentStartFrame: number, segmentEndFrame: number, headIndexes?: number[]): Promise<AlignmentPath>;
66
- initializeIfNeeded(): Promise<void>;
67
- initializeTokenizerIfNeeded(): Promise<void>;
68
- initializeEncoderSessionIfNeeded(): Promise<void>;
69
- initializeDecoderSessionIfNeeded(): Promise<void>;
70
- getKvDimensions(groupCount: number, length: number): number[];
52
+ findAlignmentPathFromCrossAttentionQKs(crossAttentionQKs: CrossAttentionQKs[], tokens: number[], partStartFrameIndex: number, partEndFrameIndex: number, alignmentHeadsIndexesToUse?: number[]): Promise<AlignmentPath>;
53
+ initializeIfNeeded(options: WhisperOptions, callbacks: OperationCallbacks): Promise<void>;
54
+ initializeContextIfNeeded(options: WhisperOptions, callbacks: OperationCallbacks): Promise<void>;
55
+ initializeTokenizerIfNeeded(callbacks: LoadPackageCallbacks): Promise<void>;
71
56
  getTextStartTokens(language: string, task: WhisperTask, disableTimestamps?: boolean): number[];
72
57
  tokenToText(token: number, includeMetadataTokens?: boolean): string;
58
+ tokenToBytes(token: number): Uint8Array<ArrayBufferLike>;
59
+ tokensToBytes(tokens: number[]): Uint8Array<ArrayBufferLike>;
73
60
  tokensToText(tokens: number[], includeMetadataTokens?: boolean): string;
74
61
  textToTokens(text: string): number[];
75
62
  isTextToken(token: number): boolean;
@@ -84,11 +71,10 @@ export declare class Whisper {
84
71
  secondsRangeToFrameCount(startSeconds: number, endSeconds: number): number;
85
72
  languageTokenToLanguageIndex(languageToken: number): void;
86
73
  get isEnglishOnlyModel(): boolean;
87
- get isLargeModel(): boolean;
88
- get filterbankCount(): 128 | 80;
89
- get filterbanks(): Filterbank[];
90
- get alignmentHeadIndexes(): number[];
91
- get defaultTimestampAccuracy(): "medium" | "high";
74
+ get isLargeV3Model(): boolean;
75
+ get melBandCount(): 80 | 128;
76
+ get melFilterbank(): Filterbank;
77
+ get defaultTimestampAccuracy(): "high" | "medium";
92
78
  getSuppressedTokens(): number[];
93
79
  getSuppressedTextTokens(): number[];
94
80
  getSuppressedMetadataTokens(): number[];
@@ -99,28 +85,34 @@ export declare class Whisper {
99
85
  };
100
86
  getTokensData(tokens: number[]): WhisperTokenData[];
101
87
  }
102
- export declare function loadPackagesAndGetPaths(modelName: WhisperModelName | undefined, languageCode: string | undefined): Promise<{
103
- modelName: WhisperModelName;
104
- modelDir: string;
88
+ export declare function isMultilingualModel(modelId: WhisperModelId): boolean;
89
+ export declare function isEnglishOnlyModel(modelId: WhisperModelId): boolean;
90
+ export declare function loadLibraryPackages(enableGPU: boolean | undefined, callbacks: LoadPackageCallbacks): Promise<{
91
+ libPath: string;
105
92
  }>;
106
- export declare function normalizeWhisperModelName(modelName: WhisperModelName, languageCode: string | undefined): WhisperModelName;
107
- export declare function isMultilingualModel(modelName: WhisperModelName): boolean;
108
- export declare function isEnglishOnlyModel(modelName: WhisperModelName): boolean;
109
- export declare function getDefaultEncoderProvidersForModel(modelName: WhisperModelName): OnnxExecutionProvider[];
110
- export declare function getDefaultDecoderProvidersForModel(modelName: WhisperModelName): OnnxExecutionProvider[];
93
+ interface WhisperSpecialTokens {
94
+ endOfTextToken: number;
95
+ startOfTextToken: number;
96
+ languageTokensStart: number;
97
+ languageTokensEnd: number;
98
+ translateTaskToken: number;
99
+ transcribeTaskToken: number;
100
+ startOfPromptToken: number;
101
+ nonSpeechToken: number;
102
+ noTimestampsToken: number;
103
+ timestampTokensStart: number;
104
+ timestampTokensEnd: number;
105
+ }
106
+ export type WhisperLogitFilter = (logits: Float32Array, decodedTokens: number[], isFirstPart: boolean, isFinalPart: boolean) => Float32Array;
111
107
  export type WhisperTokenData = {
112
108
  id: number;
113
109
  text: string;
114
110
  };
115
- export type WhisperLogitFilter = (logits: number[], decodedTokens: number[], isFirstPart: boolean, isFinalPart: boolean) => number[];
116
- export type WhisperModelName = 'tiny' | 'tiny.en' | 'base' | 'base.en' | 'small' | 'small.en' | 'medium' | 'medium.en' | 'large-v1' | 'large-v2' | 'large-v3' | 'large-v3-turbo';
117
- export type WhisperTask = 'transcribe' | 'translate' | 'detect-language';
118
- export declare const modelNameToPackageName: {
119
- [modelName in WhisperModelName]: string;
120
- };
121
- export declare const tokenizerPackageName = "whisper-tokenizer";
122
111
  export interface WhisperOptions {
123
- model?: WhisperModelName;
112
+ model?: WhisperQuantizedModelId;
113
+ enableGPU?: boolean;
114
+ threadCount?: number;
115
+ gpuDeviceIndex?: number;
124
116
  temperature?: number;
125
117
  prompt?: string;
126
118
  topCandidateCount?: number;
@@ -133,33 +125,29 @@ export interface WhisperOptions {
133
125
  endTokenThreshold?: number;
134
126
  includeEndTokenInCandidates?: boolean;
135
127
  timestampAccuracy?: WhisperTimestampAccuracy;
136
- encoderProvider?: OnnxExecutionProvider;
137
- decoderProvider?: OnnxExecutionProvider;
138
128
  seed?: number;
139
129
  }
140
130
  export declare const defaultWhisperOptions: WhisperOptions;
141
131
  export interface WhisperAlignmentOptions {
142
- model?: WhisperModelName;
132
+ model?: WhisperQuantizedModelId;
133
+ enableGPU?: boolean;
134
+ threadCount?: number;
135
+ gpuDeviceIndex?: number;
143
136
  endTokenThreshold?: number;
144
137
  maxTokensPerPart?: number;
145
138
  timestampAccuracy?: WhisperTimestampAccuracy;
146
- encoderProvider?: OnnxExecutionProvider;
147
- decoderProvider?: OnnxExecutionProvider;
148
139
  }
149
140
  export declare const defaultWhisperAlignmentOptions: WhisperAlignmentOptions;
150
141
  export interface WhisperLanguageDetectionOptions {
151
- model?: WhisperModelName;
142
+ model?: WhisperQuantizedModelId;
143
+ enableGPU?: boolean;
144
+ threadCount?: number;
145
+ gpuDeviceIndex?: number;
152
146
  temperature?: number;
153
- encoderProvider?: OnnxExecutionProvider;
154
- decoderProvider?: OnnxExecutionProvider;
155
147
  }
156
148
  export declare const defaultWhisperLanguageDetectionOptions: WhisperLanguageDetectionOptions;
157
- export interface WhisperVADOptions {
158
- model?: WhisperModelName;
159
- temperature?: number;
160
- encoderProvider?: OnnxExecutionProvider;
161
- decoderProvider?: OnnxExecutionProvider;
162
- }
163
- export declare const defaultWhisperVADOptions: WhisperVADOptions;
164
149
  export type WhisperTimestampAccuracy = 'medium' | 'high';
165
- export type WhisperPartCallback = (partTranscript: string, partTokenTimeline: Timeline, partWordTimeline: Timeline) => void;
150
+ export type WhisperPartCallback = (partTranscript: string, partTokenTimeline: Timeline, partWordTimeline: Timeline) => Promise<void>;
151
+ export type WhisperTokenCallback = (tokenId: number, tokenUtf8Bytes: Uint8Array) => Promise<void>;
152
+ export {};
153
+ //# sourceMappingURL=WhisperSTT.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhisperSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/WhisperSTT.ts"],"names":[],"mappings":"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"}