echogarden 2.10.2 → 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 (496) 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.js.map +1 -1
  7. package/dist/alignment/SemanticTextAlignment.d.ts +4 -2
  8. package/dist/alignment/SemanticTextAlignment.d.ts.map +1 -1
  9. package/dist/alignment/SemanticTextAlignment.js +7 -7
  10. package/dist/alignment/SemanticTextAlignment.js.map +1 -1
  11. package/dist/alignment/SpeechAlignment.d.ts +9 -10
  12. package/dist/alignment/SpeechAlignment.d.ts.map +1 -1
  13. package/dist/alignment/SpeechAlignment.js +23 -96
  14. package/dist/alignment/SpeechAlignment.js.map +1 -1
  15. package/dist/api/APIOptions.d.ts +1 -1
  16. package/dist/api/APIOptions.d.ts.map +1 -1
  17. package/dist/api/Alignment.d.ts +8 -6
  18. package/dist/api/Alignment.d.ts.map +1 -1
  19. package/dist/api/Alignment.js +31 -40
  20. package/dist/api/Alignment.js.map +1 -1
  21. package/dist/api/Common.d.ts +7 -0
  22. package/dist/api/Common.d.ts.map +1 -1
  23. package/dist/api/Common.js.map +1 -1
  24. package/dist/api/Denoising.d.ts +5 -2
  25. package/dist/api/Denoising.d.ts.map +1 -1
  26. package/dist/api/Denoising.js +15 -15
  27. package/dist/api/Denoising.js.map +1 -1
  28. package/dist/api/GlobalOptions.d.ts +2 -8
  29. package/dist/api/GlobalOptions.d.ts.map +1 -1
  30. package/dist/api/GlobalOptions.js +2 -13
  31. package/dist/api/GlobalOptions.js.map +1 -1
  32. package/dist/api/Recognition.d.ts +11 -12
  33. package/dist/api/Recognition.d.ts.map +1 -1
  34. package/dist/api/Recognition.js +32 -82
  35. package/dist/api/Recognition.js.map +1 -1
  36. package/dist/api/SourceSeparation.d.ts +7 -2
  37. package/dist/api/SourceSeparation.d.ts.map +1 -1
  38. package/dist/api/SourceSeparation.js +12 -10
  39. package/dist/api/SourceSeparation.js.map +1 -1
  40. package/dist/api/SpeechLanguageDetection.d.ts +11 -7
  41. package/dist/api/SpeechLanguageDetection.d.ts.map +1 -1
  42. package/dist/api/SpeechLanguageDetection.js +37 -30
  43. package/dist/api/SpeechLanguageDetection.js.map +1 -1
  44. package/dist/api/SpeechSearch.d.ts +4 -1
  45. package/dist/api/SpeechSearch.d.ts.map +1 -1
  46. package/dist/api/SpeechSearch.js.map +1 -1
  47. package/dist/api/SpeechTranslation.d.ts +10 -6
  48. package/dist/api/SpeechTranslation.d.ts.map +1 -1
  49. package/dist/api/SpeechTranslation.js +28 -26
  50. package/dist/api/SpeechTranslation.js.map +1 -1
  51. package/dist/api/Synthesis.d.ts +13 -8
  52. package/dist/api/Synthesis.d.ts.map +1 -1
  53. package/dist/api/Synthesis.js +67 -89
  54. package/dist/api/Synthesis.js.map +1 -1
  55. package/dist/api/TextLanguageDetection.d.ts +4 -2
  56. package/dist/api/TextLanguageDetection.d.ts.map +1 -1
  57. package/dist/api/TextLanguageDetection.js +4 -7
  58. package/dist/api/TextLanguageDetection.js.map +1 -1
  59. package/dist/api/TextTranslation.d.ts +4 -2
  60. package/dist/api/TextTranslation.d.ts.map +1 -1
  61. package/dist/api/TextTranslation.js +13 -24
  62. package/dist/api/TextTranslation.js.map +1 -1
  63. package/dist/api/TimelineTranslationAlignment.d.ts +6 -3
  64. package/dist/api/TimelineTranslationAlignment.d.ts.map +1 -1
  65. package/dist/api/TimelineTranslationAlignment.js +20 -11
  66. package/dist/api/TimelineTranslationAlignment.js.map +1 -1
  67. package/dist/api/TranscriptAndTranslationAlignment.d.ts +6 -4
  68. package/dist/api/TranscriptAndTranslationAlignment.d.ts.map +1 -1
  69. package/dist/api/TranscriptAndTranslationAlignment.js +11 -12
  70. package/dist/api/TranscriptAndTranslationAlignment.js.map +1 -1
  71. package/dist/api/TranslationAlignment.d.ts +6 -4
  72. package/dist/api/TranslationAlignment.d.ts.map +1 -1
  73. package/dist/api/TranslationAlignment.js +20 -21
  74. package/dist/api/TranslationAlignment.js.map +1 -1
  75. package/dist/api/VoiceActivityDetection.d.ts +9 -8
  76. package/dist/api/VoiceActivityDetection.d.ts.map +1 -1
  77. package/dist/api/VoiceActivityDetection.js +20 -43
  78. package/dist/api/VoiceActivityDetection.js.map +1 -1
  79. package/dist/audio/AudioBufferConversion.js.map +1 -1
  80. package/dist/audio/AudioPlayer.d.ts +1 -3
  81. package/dist/audio/AudioPlayer.d.ts.map +1 -1
  82. package/dist/audio/AudioPlayer.js +3 -188
  83. package/dist/audio/AudioPlayer.js.map +1 -1
  84. package/dist/audio/AudioUtilities.d.ts +2 -1
  85. package/dist/audio/AudioUtilities.d.ts.map +1 -1
  86. package/dist/audio/AudioUtilities.js +2 -2
  87. package/dist/audio/AudioUtilities.js.map +1 -1
  88. package/dist/build-tools/MakeTarballsForInstalledPackages.js +3 -3
  89. package/dist/build-tools/MakeTarballsForInstalledPackages.js.map +1 -1
  90. package/dist/cli/CLI.d.ts.map +1 -1
  91. package/dist/cli/CLI.js +139 -92
  92. package/dist/cli/CLI.js.map +1 -1
  93. package/dist/codecs/FFMpegTranscoder.d.ts +4 -3
  94. package/dist/codecs/FFMpegTranscoder.d.ts.map +1 -1
  95. package/dist/codecs/FFMpegTranscoder.js +16 -14
  96. package/dist/codecs/FFMpegTranscoder.js.map +1 -1
  97. package/dist/codecs/TIMITCodec.d.ts.map +1 -1
  98. package/dist/data-structures/DynamicTypedArray.d.ts.map +1 -1
  99. package/dist/data-structures/DynamicTypedArray.js.map +1 -1
  100. package/dist/data-structures/Queue.d.ts.map +1 -1
  101. package/dist/data-structures/WindowedList.d.ts.map +1 -1
  102. package/dist/data-structures/WindowedList.js.map +1 -1
  103. package/dist/denoising/NSNet2.d.ts +3 -2
  104. package/dist/denoising/NSNet2.d.ts.map +1 -1
  105. package/dist/denoising/NSNet2.js +4 -4
  106. package/dist/denoising/NSNet2.js.map +1 -1
  107. package/dist/denoising/RNNoise.d.ts +2 -1
  108. package/dist/denoising/RNNoise.d.ts.map +1 -1
  109. package/dist/denoising/RNNoise.js +10 -6
  110. package/dist/denoising/RNNoise.js.map +1 -1
  111. package/dist/dsp/BiquadFilter.d.ts.map +1 -1
  112. package/dist/dsp/DecayingPeakEstimator.d.ts.map +1 -1
  113. package/dist/dsp/DecayingPeakEstimator.js.map +1 -1
  114. package/dist/dsp/FFT.d.ts.map +1 -1
  115. package/dist/dsp/FFT.js +2 -1
  116. package/dist/dsp/FFT.js.map +1 -1
  117. package/dist/dsp/KWeightingFilter.d.ts.map +1 -1
  118. package/dist/dsp/KWeightingFilter.js.map +1 -1
  119. package/dist/dsp/LoudnessEstimator.d.ts.map +1 -1
  120. package/dist/dsp/LoudnessEstimator.js.map +1 -1
  121. package/dist/dsp/MFCC.d.ts +3 -2
  122. package/dist/dsp/MFCC.d.ts.map +1 -1
  123. package/dist/dsp/MFCC.js +4 -4
  124. package/dist/dsp/MFCC.js.map +1 -1
  125. package/dist/dsp/MelSpectrogram.d.ts +10 -8
  126. package/dist/dsp/MelSpectrogram.d.ts.map +1 -1
  127. package/dist/dsp/MelSpectrogram.js +31 -34
  128. package/dist/dsp/MelSpectrogram.js.map +1 -1
  129. package/dist/dsp/Rubberband.d.ts.map +1 -1
  130. package/dist/dsp/Rubberband.js +8 -3
  131. package/dist/dsp/Rubberband.js.map +1 -1
  132. package/dist/dsp/Sonic.d.ts.map +1 -1
  133. package/dist/dsp/Sonic.js +1 -1
  134. package/dist/dsp/Sonic.js.map +1 -1
  135. package/dist/dsp/SpeexResampler.d.ts.map +1 -1
  136. package/dist/dsp/SpeexResampler.js +1 -1
  137. package/dist/dsp/SpeexResampler.js.map +1 -1
  138. package/dist/encodings/Ascii.d.ts +1 -1
  139. package/dist/encodings/Ascii.d.ts.map +1 -1
  140. package/dist/encodings/Base64.js.map +1 -1
  141. package/dist/encodings/Utf16.d.ts.map +1 -1
  142. package/dist/encodings/Utf8.d.ts.map +1 -1
  143. package/dist/math/VectorMath.d.ts +1 -0
  144. package/dist/math/VectorMath.d.ts.map +1 -1
  145. package/dist/math/VectorMath.js +9 -5
  146. package/dist/math/VectorMath.js.map +1 -1
  147. package/dist/nlp/ChineseSegmentation.d.ts +1 -1
  148. package/dist/nlp/ChineseSegmentation.d.ts.map +1 -1
  149. package/dist/nlp/EspeakPhonemizer.d.ts +1 -1
  150. package/dist/nlp/EspeakPhonemizer.d.ts.map +1 -1
  151. package/dist/nlp/EspeakPhonemizer.js +2 -2
  152. package/dist/nlp/EspeakPhonemizer.js.map +1 -1
  153. package/dist/nlp/IPA.d.ts +2 -2
  154. package/dist/nlp/Segmentation.d.ts +1 -1
  155. package/dist/nlp/Segmentation.d.ts.map +1 -1
  156. package/dist/nlp/Segmentation.js +8 -4
  157. package/dist/nlp/Segmentation.js.map +1 -1
  158. package/dist/recognition/AmazonTranscribeSTT.d.ts +2 -1
  159. package/dist/recognition/AmazonTranscribeSTT.d.ts.map +1 -1
  160. package/dist/recognition/AmazonTranscribeSTT.js +3 -3
  161. package/dist/recognition/AmazonTranscribeSTT.js.map +1 -1
  162. package/dist/recognition/AzureCognitiveServicesSTT.d.ts +2 -1
  163. package/dist/recognition/AzureCognitiveServicesSTT.d.ts.map +1 -1
  164. package/dist/recognition/AzureCognitiveServicesSTT.js +4 -4
  165. package/dist/recognition/AzureCognitiveServicesSTT.js.map +1 -1
  166. package/dist/recognition/DeepgramSTT.d.ts +2 -1
  167. package/dist/recognition/DeepgramSTT.d.ts.map +1 -1
  168. package/dist/recognition/DeepgramSTT.js +12 -13
  169. package/dist/recognition/DeepgramSTT.js.map +1 -1
  170. package/dist/recognition/GoogleCloudSTT.d.ts +2 -1
  171. package/dist/recognition/GoogleCloudSTT.d.ts.map +1 -1
  172. package/dist/recognition/GoogleCloudSTT.js +11 -10
  173. package/dist/recognition/GoogleCloudSTT.js.map +1 -1
  174. package/dist/recognition/OpenAICloudSTT.d.ts +2 -1
  175. package/dist/recognition/OpenAICloudSTT.d.ts.map +1 -1
  176. package/dist/recognition/OpenAICloudSTT.js +6 -6
  177. package/dist/recognition/OpenAICloudSTT.js.map +1 -1
  178. package/dist/recognition/WhisperCommon.d.ts +9 -0
  179. package/dist/recognition/WhisperCommon.d.ts.map +1 -0
  180. package/dist/recognition/WhisperCommon.js +52 -0
  181. package/dist/recognition/WhisperCommon.js.map +1 -0
  182. package/dist/recognition/{WhisperCppSTT.d.ts → WhisperCppCliSTT.d.ts} +14 -16
  183. package/dist/recognition/WhisperCppCliSTT.d.ts.map +1 -0
  184. package/dist/recognition/{WhisperCppSTT.js → WhisperCppCliSTT.js} +55 -84
  185. package/dist/recognition/WhisperCppCliSTT.js.map +1 -0
  186. package/dist/recognition/WhisperSTT.d.ts +72 -85
  187. package/dist/recognition/WhisperSTT.d.ts.map +1 -1
  188. package/dist/recognition/WhisperSTT.js +384 -519
  189. package/dist/recognition/WhisperSTT.js.map +1 -1
  190. package/dist/server/Client.d.ts +2 -2
  191. package/dist/server/Client.d.ts.map +1 -1
  192. package/dist/server/Client.js.map +1 -1
  193. package/dist/server/Worker.d.ts +6 -7
  194. package/dist/server/Worker.d.ts.map +1 -1
  195. package/dist/server/Worker.js +42 -44
  196. package/dist/server/Worker.js.map +1 -1
  197. package/dist/source-separation/MDXNetSourceSeparation.d.ts +3 -2
  198. package/dist/source-separation/MDXNetSourceSeparation.d.ts.map +1 -1
  199. package/dist/source-separation/MDXNetSourceSeparation.js +10 -8
  200. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
  201. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts +3 -2
  202. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts.map +1 -1
  203. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js +5 -5
  204. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js.map +1 -1
  205. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +5 -3
  206. package/dist/speech-language-detection/SileroLanguageDetection.d.ts.map +1 -1
  207. package/dist/speech-language-detection/SileroLanguageDetection.js +8 -8
  208. package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
  209. package/dist/speech-search/DTWSpeechSearch.d.ts +2 -1
  210. package/dist/speech-search/DTWSpeechSearch.d.ts.map +1 -1
  211. package/dist/speech-search/DTWSpeechSearch.js +4 -4
  212. package/dist/speech-search/DTWSpeechSearch.js.map +1 -1
  213. package/dist/subtitles/Subtitles.d.ts +13 -1
  214. package/dist/subtitles/Subtitles.d.ts.map +1 -1
  215. package/dist/subtitles/Subtitles.js +22 -22
  216. package/dist/subtitles/Subtitles.js.map +1 -1
  217. package/dist/synthesis/AwsPollyTTS.d.ts +3 -2
  218. package/dist/synthesis/AwsPollyTTS.d.ts.map +1 -1
  219. package/dist/synthesis/AwsPollyTTS.js +5 -5
  220. package/dist/synthesis/AwsPollyTTS.js.map +1 -1
  221. package/dist/synthesis/AzureCognitiveServicesTTS.d.ts +2 -1
  222. package/dist/synthesis/AzureCognitiveServicesTTS.d.ts.map +1 -1
  223. package/dist/synthesis/AzureCognitiveServicesTTS.js +3 -3
  224. package/dist/synthesis/AzureCognitiveServicesTTS.js.map +1 -1
  225. package/dist/synthesis/CoquiServerTTS.d.ts +2 -1
  226. package/dist/synthesis/CoquiServerTTS.d.ts.map +1 -1
  227. package/dist/synthesis/CoquiServerTTS.js +7 -8
  228. package/dist/synthesis/CoquiServerTTS.js.map +1 -1
  229. package/dist/synthesis/DeepgramTTS.d.ts +2 -2
  230. package/dist/synthesis/DeepgramTTS.d.ts.map +1 -1
  231. package/dist/synthesis/DeepgramTTS.js +13 -13
  232. package/dist/synthesis/DeepgramTTS.js.map +1 -1
  233. package/dist/synthesis/ElevenLabsTTS.d.ts +3 -3
  234. package/dist/synthesis/ElevenLabsTTS.d.ts.map +1 -1
  235. package/dist/synthesis/ElevenLabsTTS.js +22 -21
  236. package/dist/synthesis/ElevenLabsTTS.js.map +1 -1
  237. package/dist/synthesis/EspeakTTS.d.ts +11 -9
  238. package/dist/synthesis/EspeakTTS.d.ts.map +1 -1
  239. package/dist/synthesis/EspeakTTS.js +118 -68
  240. package/dist/synthesis/EspeakTTS.js.map +1 -1
  241. package/dist/synthesis/FliteTTS.d.ts +2 -2
  242. package/dist/synthesis/FliteTTS.d.ts.map +1 -1
  243. package/dist/synthesis/FliteTTS.js +2 -2
  244. package/dist/synthesis/FliteTTS.js.map +1 -1
  245. package/dist/synthesis/GnuSpeechTTS.d.ts +2 -2
  246. package/dist/synthesis/GnuSpeechTTS.d.ts.map +1 -1
  247. package/dist/synthesis/GnuSpeechTTS.js +1 -1
  248. package/dist/synthesis/GnuSpeechTTS.js.map +1 -1
  249. package/dist/synthesis/GoogleCloudTTS.d.ts +3 -2
  250. package/dist/synthesis/GoogleCloudTTS.d.ts.map +1 -1
  251. package/dist/synthesis/GoogleCloudTTS.js +15 -14
  252. package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
  253. package/dist/synthesis/GoogleTranslateTTS.d.ts +3 -2
  254. package/dist/synthesis/GoogleTranslateTTS.d.ts.map +1 -1
  255. package/dist/synthesis/GoogleTranslateTTS.js +11 -11
  256. package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
  257. package/dist/synthesis/KokoroTTS.d.ts +4 -4
  258. package/dist/synthesis/KokoroTTS.d.ts.map +1 -1
  259. package/dist/synthesis/KokoroTTS.js +11 -10
  260. package/dist/synthesis/KokoroTTS.js.map +1 -1
  261. package/dist/synthesis/MicrosoftEdgeTTS.d.ts +4 -3
  262. package/dist/synthesis/MicrosoftEdgeTTS.d.ts.map +1 -1
  263. package/dist/synthesis/MicrosoftEdgeTTS.js +41 -20
  264. package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
  265. package/dist/synthesis/OpenAICloudTTS.d.ts +2 -2
  266. package/dist/synthesis/OpenAICloudTTS.d.ts.map +1 -1
  267. package/dist/synthesis/OpenAICloudTTS.js +6 -5
  268. package/dist/synthesis/OpenAICloudTTS.js.map +1 -1
  269. package/dist/synthesis/SamTTS.d.ts +2 -1
  270. package/dist/synthesis/SamTTS.d.ts.map +1 -1
  271. package/dist/synthesis/SamTTS.js +2 -2
  272. package/dist/synthesis/SamTTS.js.map +1 -1
  273. package/dist/synthesis/SapiTTS.d.ts +2 -2
  274. package/dist/synthesis/SapiTTS.d.ts.map +1 -1
  275. package/dist/synthesis/SapiTTS.js +2 -2
  276. package/dist/synthesis/SapiTTS.js.map +1 -1
  277. package/dist/synthesis/SvoxPicoTTS.d.ts +2 -2
  278. package/dist/synthesis/SvoxPicoTTS.d.ts.map +1 -1
  279. package/dist/synthesis/SvoxPicoTTS.js +3 -3
  280. package/dist/synthesis/SvoxPicoTTS.js.map +1 -1
  281. package/dist/synthesis/VitsTTS.d.ts +3 -3
  282. package/dist/synthesis/VitsTTS.d.ts.map +1 -1
  283. package/dist/synthesis/VitsTTS.js +14 -11
  284. package/dist/synthesis/VitsTTS.js.map +1 -1
  285. package/dist/text-translation/DeepLTextTranslation.d.ts +2 -2
  286. package/dist/text-translation/DeepLTextTranslation.d.ts.map +1 -1
  287. package/dist/text-translation/DeepLTextTranslation.js +10 -9
  288. package/dist/text-translation/DeepLTextTranslation.js.map +1 -1
  289. package/dist/text-translation/GoogleTranslateTextTranslation.d.ts +4 -4
  290. package/dist/text-translation/GoogleTranslateTextTranslation.d.ts.map +1 -1
  291. package/dist/text-translation/GoogleTranslateTextTranslation.js +20 -18
  292. package/dist/text-translation/GoogleTranslateTextTranslation.js.map +1 -1
  293. package/dist/text-translation/NLLBTextTranslation.d.ts +2 -2
  294. package/dist/text-translation/NLLBTextTranslation.d.ts.map +1 -1
  295. package/dist/text-translation/NLLBTextTranslation.js +4 -6
  296. package/dist/text-translation/NLLBTextTranslation.js.map +1 -1
  297. package/dist/typings/TypedArray.d.ts.map +1 -1
  298. package/dist/utilities/Compression.d.ts +4 -3
  299. package/dist/utilities/Compression.d.ts.map +1 -1
  300. package/dist/utilities/Compression.js +9 -9
  301. package/dist/utilities/Compression.js.map +1 -1
  302. package/dist/utilities/FileDownloader.d.ts +6 -3
  303. package/dist/utilities/FileDownloader.d.ts.map +1 -1
  304. package/dist/utilities/FileDownloader.js +25 -21
  305. package/dist/utilities/FileDownloader.js.map +1 -1
  306. package/dist/utilities/FileReader.d.ts.map +1 -1
  307. package/dist/utilities/FileReader.js.map +1 -1
  308. package/dist/utilities/FileSystem.js +1 -1
  309. package/dist/utilities/FileSystem.js.map +1 -1
  310. package/dist/utilities/FileWriter.d.ts.map +1 -1
  311. package/dist/utilities/FileWriter.js.map +1 -1
  312. package/dist/utilities/Hashing.d.ts.map +1 -1
  313. package/dist/utilities/Hashing.js.map +1 -1
  314. package/dist/utilities/Locale.js.map +1 -1
  315. package/dist/utilities/Logger.d.ts +17 -9
  316. package/dist/utilities/Logger.d.ts.map +1 -1
  317. package/dist/utilities/Logger.js +50 -35
  318. package/dist/utilities/Logger.js.map +1 -1
  319. package/dist/utilities/NpmUtilities.d.ts.map +1 -1
  320. package/dist/utilities/NpmUtilities.js +4 -5
  321. package/dist/utilities/NpmUtilities.js.map +1 -1
  322. package/dist/utilities/ObjectUtilities.js.map +1 -1
  323. package/dist/utilities/OpenPromise.d.ts.map +1 -1
  324. package/dist/utilities/OpenPromise.js.map +1 -1
  325. package/dist/utilities/PackageManager.d.ts +4 -1
  326. package/dist/utilities/PackageManager.d.ts.map +1 -1
  327. package/dist/utilities/PackageManager.js +37 -22
  328. package/dist/utilities/PackageManager.js.map +1 -1
  329. package/dist/utilities/PathUtilities.d.ts +2 -0
  330. package/dist/utilities/PathUtilities.d.ts.map +1 -1
  331. package/dist/utilities/PathUtilities.js +5 -2
  332. package/dist/utilities/PathUtilities.js.map +1 -1
  333. package/dist/utilities/RandomGenerator.d.ts.map +1 -1
  334. package/dist/utilities/SignalChannel.d.ts.map +1 -1
  335. package/dist/utilities/SmoothEstimator.d.ts.map +1 -1
  336. package/dist/utilities/SmoothEstimator.js.map +1 -1
  337. package/dist/utilities/StringBuilder.d.ts.map +1 -1
  338. package/dist/utilities/TarballMaker.d.ts +4 -3
  339. package/dist/utilities/TarballMaker.d.ts.map +1 -1
  340. package/dist/utilities/TarballMaker.js +6 -6
  341. package/dist/utilities/TarballMaker.js.map +1 -1
  342. package/dist/utilities/Timeline.js.map +1 -1
  343. package/dist/utilities/Timer.d.ts.map +1 -1
  344. package/dist/utilities/Utilities.d.ts +9 -7
  345. package/dist/utilities/Utilities.d.ts.map +1 -1
  346. package/dist/utilities/Utilities.js +49 -33
  347. package/dist/utilities/Utilities.js.map +1 -1
  348. package/dist/utilities/VirtualFileReadStream.d.ts.map +1 -1
  349. package/dist/utilities/WebReader.d.ts +2 -1
  350. package/dist/utilities/WebReader.d.ts.map +1 -1
  351. package/dist/utilities/WebReader.js +7 -6
  352. package/dist/utilities/WebReader.js.map +1 -1
  353. package/dist/utilities/WikipediaReader.d.ts +2 -1
  354. package/dist/utilities/WikipediaReader.d.ts.map +1 -1
  355. package/dist/utilities/WikipediaReader.js +1 -5
  356. package/dist/utilities/WikipediaReader.js.map +1 -1
  357. package/dist/voice-activity-detection/AdaptiveGateVAD.d.ts +2 -1
  358. package/dist/voice-activity-detection/AdaptiveGateVAD.d.ts.map +1 -1
  359. package/dist/voice-activity-detection/AdaptiveGateVAD.js +1 -1
  360. package/dist/voice-activity-detection/AdaptiveGateVAD.js.map +1 -1
  361. package/dist/voice-activity-detection/SileroVAD.d.ts.map +1 -1
  362. package/dist/voice-activity-detection/SileroVAD.js.map +1 -1
  363. package/dist/voice-activity-detection/WebRtcVAD.d.ts.map +1 -1
  364. package/dist/voice-activity-detection/WebRtcVAD.js +1 -1
  365. package/dist/voice-activity-detection/WebRtcVAD.js.map +1 -1
  366. package/docs/API.md +62 -17
  367. package/docs/CUDA.md +4 -3
  368. package/docs/Engines.md +8 -7
  369. package/docs/Licenses.md +0 -3
  370. package/docs/Options.md +27 -31
  371. package/docs/Server.md +1 -0
  372. package/docs/Tasklist.md +2 -1
  373. package/docs/Technical.md +2 -2
  374. package/package.json +45 -35
  375. package/src/alignment/SemanticTextAlignment.ts +14 -7
  376. package/src/alignment/SpeechAlignment.ts +47 -150
  377. package/src/api/APIOptions.ts +1 -1
  378. package/src/api/Alignment.ts +95 -61
  379. package/src/api/Common.ts +11 -0
  380. package/src/api/Denoising.ts +22 -17
  381. package/src/api/GlobalOptions.ts +4 -20
  382. package/src/api/Recognition.ts +106 -123
  383. package/src/api/SourceSeparation.ts +39 -21
  384. package/src/api/SpeechLanguageDetection.ts +77 -37
  385. package/src/api/SpeechSearch.ts +6 -1
  386. package/src/api/SpeechTranslation.ts +75 -38
  387. package/src/api/Synthesis.ts +220 -116
  388. package/src/api/TextLanguageDetection.ts +10 -12
  389. package/src/api/TextTranslation.ts +43 -26
  390. package/src/api/TimelineTranslationAlignment.ts +41 -13
  391. package/src/api/TranscriptAndTranslationAlignment.ts +28 -15
  392. package/src/api/TranslationAlignment.ts +53 -24
  393. package/src/api/VoiceActivityDetection.ts +33 -68
  394. package/src/audio/AudioPlayer.ts +4 -232
  395. package/src/audio/AudioUtilities.ts +9 -2
  396. package/src/build-tools/MakeTarballsForInstalledPackages.ts +4 -3
  397. package/src/cli/CLI.ts +209 -101
  398. package/src/codecs/FFMpegTranscoder.ts +18 -16
  399. package/src/denoising/NSNet2.ts +5 -4
  400. package/src/denoising/RNNoise.ts +14 -6
  401. package/src/dsp/FFT.ts +2 -1
  402. package/src/dsp/MFCC.ts +7 -5
  403. package/src/dsp/MelSpectrogram.ts +56 -36
  404. package/src/dsp/Rubberband.ts +10 -3
  405. package/src/dsp/Sonic.ts +2 -1
  406. package/src/dsp/SpeexResampler.ts +2 -1
  407. package/src/encodings/Ascii.ts +1 -1
  408. package/src/encodings/Base64.ts +1 -1
  409. package/src/math/VectorMath.ts +10 -6
  410. package/src/nlp/EspeakPhonemizer.ts +2 -2
  411. package/src/nlp/Segmentation.ts +9 -4
  412. package/src/recognition/AmazonTranscribeSTT.ts +4 -3
  413. package/src/recognition/AzureCognitiveServicesSTT.ts +5 -4
  414. package/src/recognition/DeepgramSTT.ts +16 -16
  415. package/src/recognition/GoogleCloudSTT.ts +14 -12
  416. package/src/recognition/OpenAICloudSTT.ts +12 -6
  417. package/src/recognition/WhisperCommon.ts +130 -0
  418. package/src/recognition/{WhisperCppSTT.ts → WhisperCppCliSTT.ts} +73 -133
  419. package/src/recognition/WhisperSTT.ts +569 -718
  420. package/src/server/Client.ts +4 -4
  421. package/src/server/Worker.ts +59 -59
  422. package/src/source-separation/MDXNetSourceSeparation.ts +15 -10
  423. package/src/speech-embeddings/WavToVec2BertFeatureEmbeddings.ts +7 -5
  424. package/src/speech-language-detection/SileroLanguageDetection.ts +18 -9
  425. package/src/speech-search/DTWSpeechSearch.ts +6 -5
  426. package/src/subtitles/Subtitles.ts +22 -22
  427. package/src/synthesis/AwsPollyTTS.ts +12 -5
  428. package/src/synthesis/AzureCognitiveServicesTTS.ts +11 -3
  429. package/src/synthesis/CoquiServerTTS.ts +8 -7
  430. package/src/synthesis/DeepgramTTS.ts +21 -15
  431. package/src/synthesis/ElevenLabsTTS.ts +33 -23
  432. package/src/synthesis/EspeakTTS.ts +145 -69
  433. package/src/synthesis/FliteTTS.ts +3 -3
  434. package/src/synthesis/GnuSpeechTTS.ts +2 -2
  435. package/src/synthesis/GoogleCloudTTS.ts +23 -14
  436. package/src/synthesis/GoogleTranslateTTS.ts +19 -11
  437. package/src/synthesis/KokoroTTS.ts +37 -14
  438. package/src/synthesis/MicrosoftEdgeTTS.ts +71 -23
  439. package/src/synthesis/OpenAICloudTTS.ts +7 -6
  440. package/src/synthesis/SamTTS.ts +3 -2
  441. package/src/synthesis/SapiTTS.ts +3 -3
  442. package/src/synthesis/SvoxPicoTTS.ts +4 -5
  443. package/src/synthesis/VitsTTS.ts +43 -15
  444. package/src/text-translation/DeepLTextTranslation.ts +12 -10
  445. package/src/text-translation/GoogleTranslateTextTranslation.ts +35 -21
  446. package/src/text-translation/NLLBTextTranslation.ts +5 -9
  447. package/src/typings/Fillers.d.ts +0 -60
  448. package/src/typings/TypedArray.ts +12 -1
  449. package/src/utilities/Compression.ts +10 -9
  450. package/src/utilities/FileDownloader.ts +38 -23
  451. package/src/utilities/FileSystem.ts +1 -1
  452. package/src/utilities/Logger.ts +59 -42
  453. package/src/utilities/NpmUtilities.ts +4 -6
  454. package/src/utilities/OpenPromise.ts +1 -2
  455. package/src/utilities/PackageManager.ts +53 -26
  456. package/src/utilities/PathUtilities.ts +6 -2
  457. package/src/utilities/TarballMaker.ts +7 -7
  458. package/src/utilities/Utilities.ts +58 -41
  459. package/src/utilities/WebReader.ts +11 -6
  460. package/src/utilities/WikipediaReader.ts +2 -8
  461. package/src/voice-activity-detection/AdaptiveGateVAD.ts +13 -8
  462. package/src/voice-activity-detection/WebRtcVAD.ts +1 -2
  463. package/tsconfig.json +53 -54
  464. package/dist/audio/AudioRecorder.d.ts +0 -4
  465. package/dist/audio/AudioRecorder.d.ts.map +0 -1
  466. package/dist/audio/AudioRecorder.js +0 -68
  467. package/dist/audio/AudioRecorder.js.map +0 -1
  468. package/dist/audio/SoxPath.d.ts +0 -2
  469. package/dist/audio/SoxPath.d.ts.map +0 -1
  470. package/dist/audio/SoxPath.js +0 -24
  471. package/dist/audio/SoxPath.js.map +0 -1
  472. package/dist/recognition/SileroSTT.d.ts +0 -30
  473. package/dist/recognition/SileroSTT.d.ts.map +0 -1
  474. package/dist/recognition/SileroSTT.js +0 -152
  475. package/dist/recognition/SileroSTT.js.map +0 -1
  476. package/dist/recognition/VoskSTT.d.ts +0 -11
  477. package/dist/recognition/VoskSTT.d.ts.map +0 -1
  478. package/dist/recognition/VoskSTT.js +0 -72
  479. package/dist/recognition/VoskSTT.js.map +0 -1
  480. package/dist/recognition/WhisperCppSTT.d.ts.map +0 -1
  481. package/dist/recognition/WhisperCppSTT.js.map +0 -1
  482. package/dist/synthesis/StreamlabsPollyTTS.d.ts +0 -12
  483. package/dist/synthesis/StreamlabsPollyTTS.d.ts.map +0 -1
  484. package/dist/synthesis/StreamlabsPollyTTS.js +0 -88
  485. package/dist/synthesis/StreamlabsPollyTTS.js.map +0 -1
  486. package/dist/utilities/BinaryUtilities.d.ts +0 -14
  487. package/dist/utilities/BinaryUtilities.d.ts.map +0 -1
  488. package/dist/utilities/BinaryUtilities.js +0 -113
  489. package/dist/utilities/BinaryUtilities.js.map +0 -1
  490. package/src/audio/AudioRecorder.ts +0 -91
  491. package/src/audio/SoxPath.ts +0 -31
  492. package/src/recognition/SileroSTT.ts +0 -222
  493. package/src/recognition/VoskSTT.ts +0 -112
  494. package/src/synthesis/StreamlabsPollyTTS.ts +0 -114
  495. package/src/utilities/BinaryUtilities.ts +0 -138
  496. /package/{LICENSE.md → LICENSE.GPLv3.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AzureCognitiveServicesSTT.js","sourceRoot":"","sources":["../../src/recognition/AzureCognitiveServicesSTT.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AzureCognitiveServicesSTT.js","sourceRoot":"","sources":["../../src/recognition/AzureCognitiveServicesSTT.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,wCAAwC,CAAA;AAEnE,OAAO,EAAY,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAI/C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB,EAAE,eAAuB,EAAE,aAAqB,EAAE,YAAoB,EAAE,SAAS,GAA8B,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,SAA+B;IAC9N,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAE7C,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;IAEjE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAErH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAE9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAA;IAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAExC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAA;QAC7C,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;QAElE,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,SAAS;YACT,OAAO;SACP,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,CAAA;IAEZ,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;AAChC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,QAAkB,EAAE,eAAuB,EAAE,aAAqB,EAAE,YAAoB,EAAE,SAAS,GAA8B,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,SAA+B;IAChO,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAEnD,OAAO,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzE,MAAM,WAAW,GAAG,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAEzG,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAE5E,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,MAAqB,CAAC,CAAA;QACrD,WAAW,CAAC,KAAK,EAAE,CAAA;QAEnB,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QAEtE,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;QAE5F,YAAY,CAAC,yBAAyB,GAAG,YAAY,CAAA;QAErD,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACpC,YAAY,CAAC,0BAA0B,EAAE,CAAA;QAEzC,YAAY,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAA;QAE3D,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAE5E,UAAU,CAAC,kBAAkB,CAC5B,CAAC,MAAM,EAAE,EAAE;YACV,UAAU,CAAC,KAAK,EAAE,CAAA;YAElB,OAAO,CAAC,MAAM,CAAC,CAAA;QAChB,CAAC,EAED,CAAC,KAAK,EAAE,EAAE;YACT,UAAU,CAAC,KAAK,EAAE,CAAA;YAElB,MAAM,CAAC,KAAK,CAAC,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { RawAudio } from '../audio/AudioUtilities.js';
2
2
  import { TimelineEntry } from '../utilities/Timeline.js';
3
- export declare function recognize(rawAudio: RawAudio, languageCode: string | undefined, options: DeepgramSTTOptions): Promise<{
3
+ import { RecognitionCallbacks } from '../api/Recognition.js';
4
+ export declare function recognize(rawAudio: RawAudio, languageCode: string | undefined, options: DeepgramSTTOptions, callbacks: RecognitionCallbacks): Promise<{
4
5
  transcript: string;
5
6
  timeline: TimelineEntry[];
6
7
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DeepgramSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/DeepgramSTT.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGrD,OAAO,EAAY,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGlE,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,kBAAkB;;;GAiHhH;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,yBAAyB,EAAE,kBAIvC,CAAA"}
1
+ {"version":3,"file":"DeepgramSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/DeepgramSTT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAG5D,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB;;;GAgHjJ;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,yBAAyB,EAAE,kBAIvC,CAAA"}
@@ -1,9 +1,9 @@
1
- import { request } from 'gaxios';
2
1
  import { Logger } from '../utilities/Logger.js';
3
2
  import { extendDeep } from '../utilities/ObjectUtilities.js';
4
3
  import * as FFMpegTranscoder from '../codecs/FFMpegTranscoder.js';
5
- export async function recognize(rawAudio, languageCode, options) {
6
- const logger = new Logger();
4
+ import { EasierHttpRequestError, requestHttp } from 'easier-http-request';
5
+ export async function recognize(rawAudio, languageCode, options, callbacks) {
6
+ const logger = new Logger(callbacks.logLevel);
7
7
  logger.start('Initialize Deepgram recognition');
8
8
  options = extendDeep(defaultDeepgramSTTOptions, options);
9
9
  if (!options.apiKey) {
@@ -24,11 +24,11 @@ export async function recognize(rawAudio, languageCode, options) {
24
24
  }
25
25
  // Set audio encoding parameters
26
26
  logger.start('Convert audio to Opus format');
27
- const audioData = await FFMpegTranscoder.encodeFromChannels(rawAudio, FFMpegTranscoder.getDefaultFFMpegOptionsForSpeech('opus'));
27
+ const audioData = await FFMpegTranscoder.encodeFromChannels(rawAudio, FFMpegTranscoder.getDefaultFFMpegOptionsForSpeech('opus'), callbacks);
28
28
  logger.start('Send request to Deepgram API');
29
- let response;
29
+ let deepgramResponse;
30
30
  try {
31
- response = await request({
31
+ const response = await requestHttp({
32
32
  method: 'POST',
33
33
  url: 'https://api.deepgram.com/v1/listen',
34
34
  params,
@@ -38,21 +38,20 @@ export async function recognize(rawAudio, languageCode, options) {
38
38
  'Accept': 'application/json'
39
39
  },
40
40
  body: audioData,
41
- responseType: 'json',
41
+ abortSignal: callbacks?.abortSignal,
42
42
  });
43
+ deepgramResponse = await response.json();
43
44
  }
44
45
  catch (e) {
45
- const response = e.response;
46
- if (response) {
47
- logger.log(`Request failed with status code ${response.status}`);
48
- if (response.data) {
46
+ if (e instanceof EasierHttpRequestError) {
47
+ logger.log(`Request failed with status code ${e.statusCode}: ${e.statusText}.`);
48
+ if (e.errorBody) {
49
49
  logger.log(`Server responded with:`);
50
- logger.log(response.data);
50
+ logger.log(e.errorBody);
51
51
  }
52
52
  }
53
53
  throw e;
54
54
  }
55
- const deepgramResponse = response.data;
56
55
  const firstAlternative = deepgramResponse.results?.channels[0]?.alternatives[0];
57
56
  // Extract transcript and create timeline
58
57
  const transcript = firstAlternative?.transcript || '';
@@ -1 +1 @@
1
- {"version":3,"file":"DeepgramSTT.js","sourceRoot":"","sources":["../../src/recognition/DeepgramSTT.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeepgramSTT.js","sourceRoot":"","sources":["../../src/recognition/DeepgramSTT.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { Timeline } from '../utilities/Timeline.js';
2
2
  import { RawAudio } from '../audio/AudioUtilities.js';
3
+ import { RecognitionCallbacks } from '../api/Recognition.js';
3
4
  export type AudioEncoding = 'LINEAR16' | 'FLAC' | 'MULAW' | 'AMR' | 'AMR' | 'AMR_WB' | 'OGG_OPUS' | 'SPEEX_WITH_HEADER_BYTE' | 'MP3' | 'WEBM_OPUS';
4
- export declare function recognize(rawAudio: RawAudio, apiKey: string, languageCode?: string): Promise<{
5
+ export declare function recognize(rawAudio: RawAudio, apiKey: string, languageCode: string | undefined, callbacks: RecognitionCallbacks): Promise<{
5
6
  transcript: string;
6
7
  timeline: Timeline;
7
8
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleCloudSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGrD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,wBAAwB,GAAG,KAAK,GAAG,WAAW,CAAA;AAElJ,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,SAAU;;;GAoDzF"}
1
+ {"version":3,"file":"GoogleCloudSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAG5D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,wBAAwB,GAAG,KAAK,GAAG,WAAW,CAAA;AAElJ,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,oBAAU,EAAE,SAAS,EAAE,oBAAoB;;;GAsD1H"}
@@ -1,10 +1,10 @@
1
- import { request } from 'gaxios';
2
1
  import * as FFMpegTranscoder from '../codecs/FFMpegTranscoder.js';
3
2
  import { Logger } from '../utilities/Logger.js';
4
3
  import { encodeBase64 } from '../encodings/Base64.js';
5
- export async function recognize(rawAudio, apiKey, languageCode = 'en-US') {
6
- const flac16Khz16bitMonoAudio = await FFMpegTranscoder.encodeFromChannels(rawAudio, { format: 'flac', sampleRate: 16000, sampleFormat: 's16', channelCount: 1 });
7
- const logger = new Logger();
4
+ import { requestHttp } from 'easier-http-request';
5
+ export async function recognize(rawAudio, apiKey, languageCode = 'en-US', callbacks) {
6
+ const flac16Khz16bitMonoAudio = await FFMpegTranscoder.encodeFromChannels(rawAudio, { format: 'flac', sampleRate: 16000, sampleFormat: 's16', channelCount: 1 }, callbacks);
7
+ const logger = new Logger(callbacks.logLevel);
8
8
  logger.start('Request recognition from Google Cloud');
9
9
  const requestBody = {
10
10
  config: {
@@ -25,7 +25,7 @@ export async function recognize(rawAudio, apiKey, languageCode = 'en-US') {
25
25
  content: encodeBase64(flac16Khz16bitMonoAudio)
26
26
  }
27
27
  };
28
- const response = await request({
28
+ const response = await requestHttp({
29
29
  method: 'POST',
30
30
  url: `https://speech.googleapis.com/v1p1beta1/speech:recognize`,
31
31
  params: {
@@ -34,16 +34,17 @@ export async function recognize(rawAudio, apiKey, languageCode = 'en-US') {
34
34
  headers: {
35
35
  'User-Agent': ''
36
36
  },
37
- data: requestBody,
38
- responseType: 'json'
37
+ body: requestBody,
38
+ abortSignal: callbacks.abortSignal,
39
39
  });
40
+ const responseObject = await response.json();
40
41
  logger.start('Parse response body');
41
- const result = parseResponseBody(response.data);
42
+ const result = parseResponseObject(responseObject);
42
43
  logger.end();
43
44
  return result;
44
45
  }
45
- function parseResponseBody(responseBody) {
46
- const results = responseBody.results;
46
+ function parseResponseObject(responseObject) {
47
+ const results = responseObject.results;
47
48
  let transcript = '';
48
49
  const timeline = [];
49
50
  for (const result of results) {
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleCloudSTT.js","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleCloudSTT.js","sourceRoot":"","sources":["../../src/recognition/GoogleCloudSTT.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { RawAudio } from '../audio/AudioUtilities.js';
2
2
  import { Timeline } from '../utilities/Timeline.js';
3
- export declare function recognize(rawAudio: RawAudio, languageCode: string, options: OpenAICloudSTTOptions, task?: Task): Promise<{
3
+ import { RecognitionCallbacks } from '../api/Recognition.js';
4
+ export declare function recognize(rawAudio: RawAudio, languageCode: string, options: OpenAICloudSTTOptions, task: Task | undefined, callbacks: RecognitionCallbacks): Promise<{
4
5
  transcript: string;
5
6
  timeline: Timeline | undefined;
6
7
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICloudSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/OpenAICloudSTT.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAIrD,OAAO,EAAE,QAAQ,EAAiB,MAAM,0BAA0B,CAAA;AAGlE,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,GAAE,IAAmB;;;GA+FlI;AAiCD,KAAK,IAAI,GAAG,YAAY,GAAG,WAAW,CAAA;AAEtC,MAAM,WAAW,qBAAqB;IACrC,KAAK,CAAC,EAAE,WAAW,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,MAAM,CAAA;IAE7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,eAAO,MAAM,4BAA4B,EAAE,qBAa1C,CAAA"}
1
+ {"version":3,"file":"OpenAICloudSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/OpenAICloudSTT.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAIrD,OAAO,EAAE,QAAQ,EAAiB,MAAM,0BAA0B,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,YAAe,EAAE,SAAS,EAAE,oBAAoB;;;GAoGnK;AAiCD,KAAK,IAAI,GAAG,YAAY,GAAG,WAAW,CAAA;AAEtC,MAAM,WAAW,qBAAqB;IACrC,KAAK,CAAC,EAAE,WAAW,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,MAAM,CAAA;IAE7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,eAAO,MAAM,4BAA4B,EAAE,qBAa1C,CAAA"}
@@ -3,8 +3,8 @@ import { createVirtualFileReadStreamForBuffer } from '../utilities/VirtualFileRe
3
3
  import { Logger } from '../utilities/Logger.js';
4
4
  import { extendDeep } from '../utilities/ObjectUtilities.js';
5
5
  import { alignSegments } from '../api/Alignment.js';
6
- export async function recognize(rawAudio, languageCode, options, task = 'transcribe') {
7
- const logger = new Logger();
6
+ export async function recognize(rawAudio, languageCode, options, task = 'transcribe', callbacks) {
7
+ const logger = new Logger(callbacks.logLevel);
8
8
  logger.start('Load OpenAI module');
9
9
  options = extendDeep(defaultOpenAICloudSTTOptions, options);
10
10
  if (options.requestWordTimestamps === undefined) {
@@ -22,7 +22,7 @@ export async function recognize(rawAudio, languageCode, options, task = 'transcr
22
22
  const openai = new OpenAI(options);
23
23
  logger.start('Encode audio to send');
24
24
  const ffmpegOptions = FFMpegTranscoder.getDefaultFFMpegOptionsForSpeech('mp3');
25
- const encodedAudio = await FFMpegTranscoder.encodeFromChannels(rawAudio, ffmpegOptions);
25
+ const encodedAudio = await FFMpegTranscoder.encodeFromChannels(rawAudio, ffmpegOptions, callbacks);
26
26
  const virtualFileStream = createVirtualFileReadStreamForBuffer(encodedAudio, 'audio.mp3');
27
27
  logger.start(options.baseURL ? `Send request to ${options.baseURL}` : 'Send request to OpenAI Cloud API');
28
28
  let responseFormat;
@@ -43,7 +43,7 @@ export async function recognize(rawAudio, languageCode, options, task = 'transcr
43
43
  response_format: responseFormat,
44
44
  temperature: options.temperature,
45
45
  timestamp_granularities,
46
- });
46
+ }, { signal: callbacks.abortSignal });
47
47
  }
48
48
  else if (task == 'translate') {
49
49
  response = await openai.audio.translations.create({
@@ -52,7 +52,7 @@ export async function recognize(rawAudio, languageCode, options, task = 'transcr
52
52
  prompt: options.prompt,
53
53
  response_format: responseFormat,
54
54
  temperature: options.temperature,
55
- });
55
+ }, { signal: callbacks.abortSignal });
56
56
  }
57
57
  else {
58
58
  throw new Error(`Invalid task`);
@@ -76,7 +76,7 @@ export async function recognize(rawAudio, languageCode, options, task = 'transcr
76
76
  }));
77
77
  if (task === 'transcribe') {
78
78
  logger.start('Align segments');
79
- timeline = await alignSegments(rawAudio, segmentTimeline, { language: languageCode });
79
+ timeline = await alignSegments(rawAudio, segmentTimeline, { language: languageCode }, { ...callbacks, logLevel: 'warning' });
80
80
  }
81
81
  else {
82
82
  timeline = segmentTimeline;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICloudSTT.js","sourceRoot":"","sources":["../../src/recognition/OpenAICloudSTT.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAICloudSTT.js","sourceRoot":"","sources":["../../src/recognition/OpenAICloudSTT.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { LoadPackageCallbacks } from '../utilities/PackageManager.js';
2
+ export declare function loadModelPackage(quantizedModelId: WhisperQuantizedModelId | undefined, languageCode: string | undefined, callbacks: LoadPackageCallbacks): Promise<{
3
+ modelId: WhisperModelId;
4
+ modelPath: string;
5
+ }>;
6
+ export type WhisperModelId = 'tiny' | 'tiny.en' | 'base' | 'base.en' | 'small' | 'small.en' | 'medium' | 'medium.en' | 'large-v1' | 'large-v2' | 'large-v3' | 'large-v3-turbo';
7
+ export type WhisperQuantizedModelId = 'tiny' | 'tiny-q5_1' | 'tiny-q8_0' | 'tiny.en' | 'tiny.en-q5_1' | 'tiny.en-q8_0' | 'base' | 'base-q5_1' | 'base-q8_0' | 'base.en' | 'base.en-q5_1' | 'base.en-q8_0' | 'small' | 'small-q5_1' | 'small-q8_0' | 'small.en' | 'small.en-q5_1' | 'small.en-q8_0' | 'medium' | 'medium-q5_0' | 'medium-q8_0' | 'medium.en' | 'medium.en-q5_0' | 'medium.en-q8_0' | 'large' | 'large-v1' | 'large-v2' | 'large-v2-q5_0' | 'large-v2-q8_0' | 'large-v3' | 'large-v3-q5_0' | 'large-v3-turbo' | 'large-v3-turbo-q5_0' | 'large-v3-turbo-q8_0';
8
+ export type WhisperTask = 'transcribe' | 'translate' | 'detect-language';
9
+ //# sourceMappingURL=WhisperCommon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhisperCommon.d.ts","sourceRoot":"","sources":["../../src/recognition/WhisperCommon.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAGlF,wBAAsB,gBAAgB,CAAC,gBAAgB,EAAE,uBAAuB,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,oBAAoB;;;GA2B9J;AAgCD,MAAM,MAAM,cAAc,GACzB,MAAM,GACN,SAAS,GAET,MAAM,GACN,SAAS,GAET,OAAO,GACP,UAAU,GAEV,QAAQ,GACR,WAAW,GAEX,UAAU,GACV,UAAU,GACV,UAAU,GACV,gBAAgB,CAAA;AAEjB,MAAM,MAAM,uBAAuB,GAClC,MAAM,GACN,WAAW,GACX,WAAW,GAEX,SAAS,GACT,cAAc,GACd,cAAc,GAEd,MAAM,GACN,WAAW,GACX,WAAW,GAEX,SAAS,GACT,cAAc,GACd,cAAc,GAEd,OAAO,GACP,YAAY,GACZ,YAAY,GAEZ,UAAU,GACV,eAAe,GACf,eAAe,GAEf,QAAQ,GACR,aAAa,GACb,aAAa,GAEb,WAAW,GACX,gBAAgB,GAChB,gBAAgB,GAEhB,OAAO,GAEP,UAAU,GAEV,UAAU,GACV,eAAe,GACf,eAAe,GAEf,UAAU,GACV,eAAe,GAEf,gBAAgB,GAChB,qBAAqB,GACrB,qBAAqB,CAAA;AAEtB,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAA"}
@@ -0,0 +1,52 @@
1
+ import { getShortLanguageCode } from '../utilities/Locale.js';
2
+ import { loadPackage } from '../utilities/PackageManager.js';
3
+ import { joinPath } from '../utilities/PathUtilities.js';
4
+ export async function loadModelPackage(quantizedModelId, languageCode, callbacks) {
5
+ if (quantizedModelId === 'large') {
6
+ quantizedModelId = 'large-v2';
7
+ }
8
+ if (quantizedModelId) {
9
+ const modelName = getShortModelIdFromWhisperCppModelId(quantizedModelId);
10
+ if (languageCode != 'en' && modelName.endsWith('.en')) {
11
+ throw new Error(`The English-only model '${modelName}' cannot be used with a non-English language '${languageCode}'.`);
12
+ }
13
+ }
14
+ else {
15
+ if (languageCode) {
16
+ const shortLanguageCode = getShortLanguageCode(languageCode);
17
+ quantizedModelId = shortLanguageCode == 'en' ? 'base.en' : 'base';
18
+ }
19
+ else {
20
+ quantizedModelId = 'base';
21
+ }
22
+ }
23
+ const packageName = `whisper.cpp-${quantizedModelId}`;
24
+ const modelDir = await loadPackage(packageName, callbacks);
25
+ const modelPath = joinPath(modelDir, `ggml-${quantizedModelId}.bin`);
26
+ const modelId = getShortModelIdFromWhisperCppModelId(quantizedModelId);
27
+ return { modelId, modelPath };
28
+ }
29
+ function getShortModelIdFromWhisperCppModelId(quantizedModelId) {
30
+ if (quantizedModelId.startsWith('large-v1')) {
31
+ return 'large-v1';
32
+ }
33
+ if (quantizedModelId.startsWith('large-v2')) {
34
+ return 'large-v2';
35
+ }
36
+ if (quantizedModelId.startsWith('large-v3-turbo')) {
37
+ return 'large-v3-turbo';
38
+ }
39
+ if (quantizedModelId.startsWith('large-v3')) {
40
+ return 'large-v3';
41
+ }
42
+ const lastDashIndex = quantizedModelId.lastIndexOf('-');
43
+ let modelName;
44
+ if (lastDashIndex >= 0) {
45
+ modelName = quantizedModelId.substring(0, lastDashIndex);
46
+ }
47
+ else {
48
+ modelName = quantizedModelId;
49
+ }
50
+ return modelName;
51
+ }
52
+ //# sourceMappingURL=WhisperCommon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhisperCommon.js","sourceRoot":"","sources":["../../src/recognition/WhisperCommon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAwB,MAAM,gCAAgC,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAExD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,gBAAqD,EAAE,YAAgC,EAAE,SAA+B;IAC9J,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;QAClC,gBAAgB,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,oCAAoC,CAAC,gBAAgB,CAAC,CAAA;QAExE,IAAI,YAAY,IAAI,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,iDAAiD,YAAY,IAAI,CAAC,CAAA;QACvH,CAAC;IACF,CAAC;SAAM,CAAC;QACP,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;YAE5D,gBAAgB,GAAG,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;QAClE,CAAC;aAAM,CAAC;YACP,gBAAgB,GAAG,MAAM,CAAA;QAC1B,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,eAAe,gBAAgB,EAAE,CAAA;IACrD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,gBAAgB,MAAM,CAAC,CAAA;IACpE,MAAM,OAAO,GAAG,oCAAoC,CAAC,gBAAgB,CAAC,CAAA;IAEtE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,SAAS,oCAAoC,CAAC,gBAAyC;IACtF,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAA;IAClB,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAA;IAClB,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,OAAO,gBAAgB,CAAA;IACxB,CAAC;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAA;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAEvD,IAAI,SAAiB,CAAA;IAErB,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACxB,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAmB,CAAA;IAC3E,CAAC;SAAM,CAAC;QACP,SAAS,GAAG,gBAAgB,CAAA;IAC7B,CAAC;IAED,OAAO,SAA2B,CAAA;AACnC,CAAC"}
@@ -1,15 +1,14 @@
1
1
  import { RawAudio } from '../audio/AudioUtilities.js';
2
- import { type WhisperTask, type WhisperModelName } from './WhisperSTT.js';
2
+ import { type WhisperTask, type WhisperModelId, type WhisperQuantizedModelId } from './WhisperCommon.js';
3
3
  import { Timeline } from '../utilities/Timeline.js';
4
- export declare function recognize(sourceRawAudio: RawAudio, task: WhisperTask, sourceLanguage: string | undefined, modelName: WhisperModelName, modelPath: string, options: WhisperCppOptions): Promise<RecognitionResult>;
5
- export declare function detectLanguage(sourceRawAudio: RawAudio, modelName: WhisperModelName, modelPath: string): Promise<import("../api/LanguageDetectionCommon.js").LanguageDetectionResults>;
6
- export declare function loadModelPackage(modelId: WhisperCppModelId | undefined, languageCode: string | undefined): Promise<{
7
- modelName: WhisperModelName;
8
- modelPath: string;
9
- }>;
10
- export type WhisperCppBuild = 'cpu' | 'cublas-12.4.0' | 'custom';
11
- export declare function loadExecutablePackage(buildKind: WhisperCppBuild): Promise<string>;
12
- export interface WhisperCppVerboseResult {
4
+ import { LoadPackageCallbacks } from '../utilities/PackageManager.js';
5
+ import { SpeechLanguageDetectionCallbacks } from '../api/SpeechLanguageDetection.js';
6
+ import { RecognitionCallbacks } from '../api/Recognition.js';
7
+ export declare function recognize(sourceRawAudio: RawAudio, task: WhisperTask, sourceLanguage: string | undefined, modelId: WhisperModelId, modelPath: string, options: WhisperCppCliOptions, callbacks: RecognitionCallbacks): Promise<RecognitionResult>;
8
+ export declare function detectLanguage(sourceRawAudio: RawAudio, modelId: WhisperModelId, modelPath: string, callbacks: SpeechLanguageDetectionCallbacks): Promise<import("../api/LanguageDetectionCommon.js").LanguageDetectionResults>;
9
+ export type WhisperCppCliBuild = 'cpu' | 'cublas-12.4.0' | 'custom';
10
+ export declare function loadBinariesPackage(buildKind: WhisperCppCliBuild, callbacks: LoadPackageCallbacks): Promise<string>;
11
+ export interface WhisperCppCliVerboseResult {
13
12
  model: {
14
13
  type: string;
15
14
  multilingual: boolean;
@@ -69,11 +68,11 @@ interface RecognitionResult {
69
68
  timeline: Timeline;
70
69
  language?: string;
71
70
  }
72
- export interface WhisperCppOptions {
73
- build?: WhisperCppBuild;
71
+ export interface WhisperCppCliOptions {
72
+ build?: WhisperCppCliBuild;
74
73
  executablePath?: string;
74
+ model?: WhisperQuantizedModelId;
75
75
  enableGPU?: boolean;
76
- model?: WhisperCppModelId;
77
76
  threadCount?: number;
78
77
  splitCount?: number;
79
78
  topCandidateCount?: number;
@@ -86,7 +85,6 @@ export interface WhisperCppOptions {
86
85
  enableFlashAttention?: boolean;
87
86
  verbose?: boolean;
88
87
  }
89
- export declare const defaultWhisperCppOptions: WhisperCppOptions;
90
- export type WhisperCppModelId = 'tiny' | 'tiny-q5_1' | 'tiny.en' | 'tiny.en-q5_1' | 'tiny.en-q8_0' | 'base' | 'base-q5_1' | 'base.en' | 'base.en-q5_1' | 'small' | 'small-q5_1' | 'small.en' | 'small.en-q5_1' | 'medium' | 'medium-q5_0' | 'medium.en' | 'medium.en-q5_0' | 'large' | 'large-v1' | 'large-v2' | 'large-v2-q5_0' | 'large-v3' | 'large-v3-q5_0' | `large-v3-turbo` | `large-v3-turbo-q5_0`;
88
+ export declare const defaultWhisperCppCliOptions: WhisperCppCliOptions;
91
89
  export {};
92
- //# sourceMappingURL=WhisperCppSTT.d.ts.map
90
+ //# sourceMappingURL=WhisperCppCliSTT.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhisperCppCliSTT.d.ts","sourceRoot":"","sources":["../../src/recognition/WhisperCppCliSTT.ts"],"names":[],"mappings":"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"}