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,18 +1,18 @@
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 { logToStderr } from '../utilities/Utilities.js';
5
4
  import { extendDeep } from '../utilities/ObjectUtilities.js';
6
5
  import { decodeBase64 } from '../encodings/Base64.js';
7
6
  import { splitToWords } from '../nlp/Segmentation.js';
7
+ import { EasierHttpRequestError, requestHttp } from 'easier-http-request';
8
8
  const log = logToStderr;
9
- export async function synthesize(text, voiceId, language, options) {
10
- const logger = new Logger();
9
+ export async function synthesize(text, voiceId, language, options, callbacks) {
10
+ const logger = new Logger(callbacks.logLevel);
11
11
  logger.start('Request synthesis from ElevenLabs');
12
12
  options = extendDeep(defaultElevenLabsTTSOptions, options);
13
- let response;
13
+ let responseObject;
14
14
  try {
15
- response = await request({
15
+ const response = await requestHttp({
16
16
  url: `https://api.elevenlabs.io/v1/text-to-speech/${voiceId}/with-timestamps`,
17
17
  method: 'POST',
18
18
  headers: {
@@ -22,7 +22,7 @@ export async function synthesize(text, voiceId, language, options) {
22
22
  params: {
23
23
  output_format: 'mp3_44100_64',
24
24
  },
25
- data: {
25
+ body: {
26
26
  text,
27
27
  model_id: options.modelId,
28
28
  voice_setting: {
@@ -33,27 +33,27 @@ export async function synthesize(text, voiceId, language, options) {
33
33
  },
34
34
  seed: options.seed
35
35
  },
36
- responseType: 'json'
36
+ abortSignal: callbacks?.abortSignal,
37
37
  });
38
+ responseObject = await response.json();
38
39
  }
39
40
  catch (e) {
40
- const response = e.response;
41
- if (response) {
42
- logger.log(`Request failed with status code ${response.status}`);
43
- if (response.data) {
41
+ if (e instanceof EasierHttpRequestError) {
42
+ logger.log(`Request failed with status code ${e.statusCode}: ${e.statusText}.`);
43
+ if (e.errorBody) {
44
44
  logger.log(`Server responded with:`);
45
- logger.log(response.data);
45
+ logger.log(e.errorBody);
46
46
  }
47
47
  }
48
48
  throw e;
49
49
  }
50
50
  logger.start('Decode synthesized audio');
51
- const audioData = decodeBase64(response.data.audio_base64);
52
- const rawAudio = await FFMpegTranscoder.decodeToChannels(audioData);
51
+ const audioData = decodeBase64(responseObject.audio_base64);
52
+ const rawAudio = await FFMpegTranscoder.decodeToChannels(audioData, undefined, undefined, { abortSignal: callbacks.abortSignal, logLevel: 'warning' });
53
53
  let timeline;
54
- const characters = response.data.alignment?.characters;
55
- const characterStartTimes = response.data.alignment?.character_start_times_seconds;
56
- const characterEndTimes = response.data.alignment?.character_end_times_seconds;
54
+ const characters = responseObject.alignment?.characters;
55
+ const characterStartTimes = responseObject.alignment?.character_start_times_seconds;
56
+ const characterEndTimes = responseObject.alignment?.character_end_times_seconds;
57
57
  if (characters && characterStartTimes && characterEndTimes) {
58
58
  logger.start('Create timeline from returned character timings');
59
59
  const referenceText = characters.join('');
@@ -76,17 +76,18 @@ export async function synthesize(text, voiceId, language, options) {
76
76
  logger.end();
77
77
  return { rawAudio, timeline };
78
78
  }
79
- export async function getVoiceList(apiKey) {
80
- const response = await request({
79
+ export async function getVoiceList(apiKey, callbacks) {
80
+ const response = await requestHttp({
81
81
  method: 'GET',
82
82
  url: 'https://api.elevenlabs.io/v1/voices',
83
83
  headers: {
84
84
  'accept': 'accept: application/json',
85
85
  'xi-api-key': apiKey
86
86
  },
87
- responseType: 'json'
87
+ abortSignal: callbacks?.abortSignal
88
88
  });
89
- const elevenLabsVoices = response.data.voices;
89
+ const responseObject = await response.json();
90
+ const elevenLabsVoices = responseObject.voices;
90
91
  const voices = elevenLabsVoices.map(elevenLabsVoice => {
91
92
  const gender = elevenLabsVoice?.labels?.gender ?? 'unknown';
92
93
  const supportedLanguages = [];
@@ -1 +1 @@
1
- {"version":3,"file":"ElevenLabsTTS.js","sourceRoot":"","sources":["../../src/synthesis/ElevenLabsTTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElevenLabsTTS.js","sourceRoot":"","sources":["../../src/synthesis/ElevenLabsTTS.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { RawAudio } from '../audio/AudioUtilities.js';
2
2
  import { Lexicon } from '../nlp/Lexicon.js';
3
3
  import { Timeline } from '../utilities/Timeline.js';
4
- export declare function preprocessAndSynthesize(text: string, language: string, espeakOptions: EspeakOptions, lexicons?: Lexicon[]): Promise<{
4
+ import { OperationCallbacks, SynthesisCallbacks } from '../api/API.js';
5
+ export declare function preprocessAndSynthesize(text: string, language: string, espeakOptions: EspeakOptions, lexicons: Lexicon[] | undefined, callbacks: SynthesisCallbacks): Promise<{
5
6
  referenceSynthesizedAudio: RawAudio;
6
7
  referenceTimeline: Timeline;
7
8
  fragments: string[];
@@ -9,24 +10,24 @@ export declare function preprocessAndSynthesize(text: string, language: string,
9
10
  phonemizedFragmentsSubstitutions: Map<number, string[]>;
10
11
  phonemizedSentence: string[][][];
11
12
  }>;
12
- export declare function synthesizeFragments(fragments: string[], espeakOptions: EspeakOptions): Promise<{
13
+ export declare function synthesizeFragments(fragments: string[], espeakOptions: EspeakOptions, callbacks: SynthesisCallbacks): Promise<{
13
14
  rawAudio: RawAudio;
14
15
  timeline: Timeline;
15
16
  events: EspeakEvent[];
16
17
  }>;
17
- export declare function synthesize(text: string, espeakOptions: EspeakOptions): Promise<{
18
+ export declare function synthesize(text: string, espeakOptions: EspeakOptions, callbacks: SynthesisCallbacks): Promise<{
18
19
  rawAudio: RawAudio;
19
20
  events: EspeakEvent[];
20
21
  }>;
21
- export declare function textToIPA(text: string, voice: string): Promise<string>;
22
- export declare function textToPhonemes(text: string, voice: string, useIPA?: boolean): Promise<string>;
23
- export declare function setVoice(voiceId: string): Promise<void>;
24
- export declare function setVolume(volume: number): Promise<any>;
22
+ export declare function textToIPA(text: string, voice: string): string;
23
+ export declare function textToPhonemes(text: string, voice: string, useIPA?: boolean): string;
24
+ export declare function setVoice(voiceId: string): void;
25
+ export declare function setVolume(volume: number): any;
25
26
  export declare function setRate(rate: number): Promise<any>;
26
27
  export declare function setPitch(pitch: number): Promise<any>;
27
28
  export declare function setPitchRange(pitchRange: number): Promise<any>;
28
- export declare function getSampleRate(): Promise<22050>;
29
- export declare function listVoices(): Promise<{
29
+ export declare function getSampleRate(): 22050;
30
+ export declare function listVoices(callbacks: OperationCallbacks): Promise<{
30
31
  identifier: string;
31
32
  name: string;
32
33
  languages: {
@@ -34,6 +35,7 @@ export declare function listVoices(): Promise<{
34
35
  name: string;
35
36
  }[];
36
37
  }[]>;
38
+ export declare function ensureEspeakInstanceInitialized(callbacks: OperationCallbacks): Promise<void>;
37
39
  export type EspeakEventType = 'sentence' | 'word' | 'phoneme' | 'end' | 'mark' | 'play' | 'msg_terminated' | 'list_terminated' | 'samplerate';
38
40
  export interface EspeakEvent {
39
41
  audio_position: number;
@@ -1 +1 @@
1
- {"version":3,"file":"EspeakTTS.d.ts","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAA;AAIvE,OAAO,EAAE,OAAO,EAAkC,MAAM,mBAAmB,CAAA;AAE3E,OAAO,EAAE,QAAQ,EAAiB,MAAM,0BAA0B,CAAA;AAWlE,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,GAAE,OAAO,EAAO;;;;;;;GA4InI;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa;;cAUxE,QAAQ;YACV,WAAW,EAAE;GAoR7B;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;;;GAkD1E;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAO1D;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAO,mBAc9E;AAGD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,iBAQ7C;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,gBAI7C;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,gBAIzC;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,gBAI3C;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,gBAIrD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,CAEpD;AAED,wBAAsB,UAAU;gBAIlB,MAAM;UACZ,MAAM;eACD;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAA;KACZ,EAAE;KAIJ;AAcD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,YAAY,CAAA;AAE7I,MAAM,WAAW,WAAW;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,eAAe,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB;AACD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,oBAAoB,EAAE,aAQlC,CAAA;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAU,iBAiBlF"}
1
+ {"version":3,"file":"EspeakTTS.d.ts","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAoB,MAAM,4BAA4B,CAAA;AAIvE,OAAO,EAAE,OAAO,EAAkC,MAAM,mBAAmB,CAAA;AAE3E,OAAO,EAAE,QAAQ,EAAiB,MAAM,0BAA0B,CAAA;AAKlE,OAAO,EAAmB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAWvF,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAK,EAAE,SAAS,EAAE,kBAAkB;;;;;;;GAmMlK;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB;;cAUvG,QAAQ;YACV,WAAW,EAAE;GAoR7B;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB;;;GAkDzG;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAQpD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAO,UAexE;AAGD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,QAQvC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,OAIvC;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,gBAIzC;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,gBAI3C;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,gBAIrD;AAED,wBAAgB,aAAa,IAAI,KAAK,CAErC;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,kBAAkB;gBAIhD,MAAM;UACZ,MAAM;eACD;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAA;KACZ,EAAE;KAIJ;AAwBD,wBAAsB,+BAA+B,CAAC,SAAS,EAAE,kBAAkB,iBAElF;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,YAAY,CAAA;AAE7I,MAAM,WAAW,WAAW;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,eAAe,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB;AACD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,oBAAoB,EAAE,aAQlC,CAAA;AAED,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAU,iBAiBlF"}
@@ -9,13 +9,18 @@ import { tryGetFirstLexiconSubstitution } from '../nlp/Lexicon.js';
9
9
  import { phonemizeSentence } from '../nlp/EspeakPhonemizer.js';
10
10
  import { extendDeep } from '../utilities/ObjectUtilities.js';
11
11
  import { escapeHtml } from '../encodings/HtmlEscape.js';
12
+ import * as TextSegmentation from '@echogarden/text-segmentation';
13
+ import { loadPackage } from '../utilities/PackageManager.js';
12
14
  import { wrapEmscriptenModuleHeap } from 'wasm-heap-manager';
15
+ import { pathToFileUrl, resolvePath } from '../utilities/PathUtilities.js';
13
16
  const log = logToStderr;
14
17
  let espeakInstance;
15
18
  let espeakModule;
16
- export async function preprocessAndSynthesize(text, language, espeakOptions, lexicons = []) {
17
- const logger = new Logger();
19
+ export async function preprocessAndSynthesize(text, language, espeakOptions, lexicons = [], callbacks) {
20
+ const logger = new Logger(callbacks.logLevel);
18
21
  espeakOptions = extendDeep(defaultEspeakOptions, espeakOptions);
22
+ await logger.startAsync('Load espeak instance');
23
+ await ensureEspeakInstanceInitialized(callbacks);
19
24
  await logger.startAsync('Tokenize and analyze text');
20
25
  let lowerCaseLanguageCode = language.toLowerCase();
21
26
  if (lowerCaseLanguageCode === 'en-gb') {
@@ -43,7 +48,6 @@ export async function preprocessAndSynthesize(text, language, espeakOptions, lex
43
48
  wordsWithMerges.push(currentWord);
44
49
  }
45
50
  }
46
- words = wordsWithMerges;
47
51
  }
48
52
  // Remove words containing only whitespace
49
53
  const nonWhitespaceWords = [];
@@ -70,8 +74,8 @@ export async function preprocessAndSynthesize(text, language, espeakOptions, lex
70
74
  continue;
71
75
  }
72
76
  phonemizedFragmentsSubstitutions.set(fragmentIndex, substitutionPhonemes);
73
- const referenceIPA = (await textToPhonemes(fragment, espeakOptions.voice, true)).replaceAll('_', ' ');
74
- const referenceKirshenbaum = (await textToPhonemes(fragment, espeakOptions.voice, false)).replaceAll('_', '');
77
+ const referenceIPA = textToPhonemes(fragment, espeakOptions.voice, true).replaceAll('_', ' ');
78
+ const referenceKirshenbaum = textToPhonemes(fragment, espeakOptions.voice, false).replaceAll('_', '');
75
79
  const kirshenbaumPhonemes = substitutionPhonemes.map(phone => ipaPhoneToKirshenbaum(phone)).join('');
76
80
  logger.logTitledMessage(`\nLexicon substitution for '${fragment}'`, `IPA: ${substitutionPhonemes.join(' ')} (original: ${referenceIPA}), Kirshenbaum: ${kirshenbaumPhonemes} (reference: ${referenceKirshenbaum})`);
77
81
  const substitutionPhonemesFragment = ` [[${kirshenbaumPhonemes}]] `;
@@ -80,44 +84,79 @@ export async function preprocessAndSynthesize(text, language, espeakOptions, lex
80
84
  fragments = referenceFragments;
81
85
  preprocessedFragments = normalizedFragments;
82
86
  logger.start('Synthesize preprocessed fragments with eSpeak');
83
- const { rawAudio: referenceSynthesizedAudio, timeline: referenceTimeline } = await synthesizeFragments(preprocessedFragments, espeakOptions);
87
+ const { rawAudio: referenceSynthesizedAudio, timeline: referenceTimeline } = await synthesizeFragments(preprocessedFragments, espeakOptions, { ...callbacks, logLevel: 'warning' });
84
88
  await logger.startAsync('Build phonemized tokens');
85
- const phonemizedSentence = [];
86
- let wordIndex = 0;
87
- for (const phraseEntry of referenceTimeline) {
88
- const phrase = [];
89
- for (const wordEntry of phraseEntry.timeline) {
90
- wordEntry.text = fragments[wordIndex];
91
- if (phonemizedFragmentsSubstitutions.has(wordIndex)) {
92
- phrase.push(phonemizedFragmentsSubstitutions.get(wordIndex));
89
+ // Build modified clause timeline using word segmentation library instead
90
+ // of eSpeak's native clauses
91
+ const clauseTimeline = [];
92
+ {
93
+ const fragmentWordSequence = new TextSegmentation.WordSequence();
94
+ for (let fragment of fragments) {
95
+ fragmentWordSequence.addWord(fragment, 0, !wordCharacterRegExp.test(fragment));
96
+ }
97
+ const wordEntries = referenceTimeline.flatMap(phraseEntry => phraseEntry.timeline);
98
+ const segmentedWords = await TextSegmentation.segmentWordSequence(fragmentWordSequence, {
99
+ requireSpaceAfterColonsOrSemicolons: false
100
+ });
101
+ let phraseStartWordIndex = 0;
102
+ for (const sentence of segmentedWords.sentences) {
103
+ for (const phrase of sentence.phrases) {
104
+ const phraseEndWordIndex = phraseStartWordIndex + phrase.words.length;
105
+ const phraseEntryTimeline = [];
106
+ for (let wordIndex = phraseStartWordIndex; wordIndex < phraseEndWordIndex; wordIndex++) {
107
+ phraseEntryTimeline.push(wordEntries[wordIndex]);
108
+ }
109
+ const clauseEntry = {
110
+ type: 'clause',
111
+ text: phraseEntryTimeline.map(wordEntry => wordEntry.text).join(' '),
112
+ startTime: phraseEntryTimeline[0].startTime,
113
+ endTime: phraseEntryTimeline[phraseEntryTimeline.length - 1].endTime,
114
+ timeline: phraseEntryTimeline,
115
+ };
116
+ clauseTimeline.push(clauseEntry);
117
+ phraseStartWordIndex = phraseEndWordIndex;
93
118
  }
94
- else {
95
- for (const tokenEntry of wordEntry.timeline) {
96
- const tokenPhonemes = [];
97
- for (const phoneme of tokenEntry.timeline) {
98
- if (phoneme.text) {
99
- tokenPhonemes.push(phoneme.text);
119
+ }
120
+ }
121
+ const phonemizedSentence = [];
122
+ {
123
+ let wordIndex = 0;
124
+ for (const phraseEntry of clauseTimeline) {
125
+ const phrase = [];
126
+ for (const wordEntry of phraseEntry.timeline) {
127
+ wordEntry.text = fragments[wordIndex];
128
+ if (phonemizedFragmentsSubstitutions.has(wordIndex)) {
129
+ phrase.push(phonemizedFragmentsSubstitutions.get(wordIndex));
130
+ }
131
+ else {
132
+ for (const tokenEntry of wordEntry.timeline) {
133
+ const tokenPhonemes = [];
134
+ for (const phoneme of tokenEntry.timeline) {
135
+ if (phoneme.text) {
136
+ tokenPhonemes.push(phoneme.text);
137
+ }
138
+ }
139
+ if (tokenPhonemes.length > 0) {
140
+ phrase.push(tokenPhonemes);
100
141
  }
101
- }
102
- if (tokenPhonemes.length > 0) {
103
- phrase.push(tokenPhonemes);
104
142
  }
105
143
  }
144
+ wordIndex += 1;
145
+ }
146
+ phraseEntry.text = phraseEntry.timeline.map(wordEntry => wordEntry.text).join(' ');
147
+ if (phrase.length > 0) {
148
+ phonemizedSentence.push(phrase);
106
149
  }
107
- wordIndex += 1;
108
- }
109
- if (phrase.length > 0) {
110
- phonemizedSentence.push(phrase);
111
150
  }
112
151
  }
113
152
  logger.log(phonemizedSentence.map(phrase => phrase.map(word => word.join(' ')).join(' | ')).join(' || '));
114
153
  logger.end();
115
- return { referenceSynthesizedAudio, referenceTimeline, fragments, preprocessedFragments, phonemizedFragmentsSubstitutions, phonemizedSentence };
154
+ return { referenceSynthesizedAudio, referenceTimeline: clauseTimeline, fragments, preprocessedFragments, phonemizedFragmentsSubstitutions, phonemizedSentence };
116
155
  }
117
- export async function synthesizeFragments(fragments, espeakOptions) {
156
+ export async function synthesizeFragments(fragments, espeakOptions, callbacks) {
118
157
  espeakOptions = extendDeep(defaultEspeakOptions, espeakOptions);
119
158
  const voice = espeakOptions.voice;
120
- const sampleRate = await getSampleRate();
159
+ const sampleRate = getSampleRate();
121
160
  if (fragments.length === 0) {
122
161
  return {
123
162
  rawAudio: getEmptyRawAudio(1, sampleRate),
@@ -152,7 +191,7 @@ export async function synthesizeFragments(fragments, espeakOptions) {
152
191
  textWithMarkers += `<mark name="s-${i}"/>${fragment}<mark name="e-${i}"/> `;
153
192
  }
154
193
  }
155
- const { rawAudio, events } = await synthesize(textWithMarkers, { ...espeakOptions, ssml: true });
194
+ const { rawAudio, events } = await synthesize(textWithMarkers, { ...espeakOptions, ssml: true }, callbacks);
156
195
  // Add first marker if missing
157
196
  if (fragments.length > 0) {
158
197
  const firstMarkerEvent = events.find(event => event.type === 'mark');
@@ -268,7 +307,7 @@ export async function synthesizeFragments(fragments, espeakOptions) {
268
307
  if (tokenTimeline.length !== 1 || tokenTimeline[0].text !== '') {
269
308
  continue;
270
309
  }
271
- const wordReferencePhonemes = (await textToPhonemes(wordEntry.text, espeakOptions.voice, true)).split('_');
310
+ const wordReferencePhonemes = textToPhonemes(wordEntry.text, espeakOptions.voice, true).split('_');
272
311
  const wordReferenceIPA = wordReferencePhonemes.join(' ');
273
312
  if (wordReferenceIPA.trim().length === 0) {
274
313
  continue;
@@ -336,26 +375,26 @@ export async function synthesizeFragments(fragments, espeakOptions) {
336
375
  }
337
376
  return { rawAudio, timeline: clauseTimeline, events };
338
377
  }
339
- export async function synthesize(text, espeakOptions) {
340
- const logger = new Logger();
378
+ export async function synthesize(text, espeakOptions, callbacks) {
379
+ const logger = new Logger(callbacks.logLevel);
341
380
  espeakOptions = extendDeep(defaultEspeakOptions, espeakOptions);
342
381
  logger.start('Get eSpeak Emscripten instance');
343
382
  if (!espeakOptions.ssml) {
344
383
  text = escapeHtml(text);
345
384
  }
346
- const { instance } = await getEspeakInstance();
385
+ const { instance } = await getEspeakInstance(callbacks);
347
386
  const sampleChunks = [];
348
387
  const allEvents = [];
349
388
  logger.start('Synthesize with eSpeak');
350
389
  if (espeakOptions.useKlatt) {
351
- await setVoice(`${espeakOptions.voice}+klatt6`);
390
+ setVoice(`${espeakOptions.voice}+klatt6`);
352
391
  }
353
392
  else {
354
- await setVoice(espeakOptions.voice);
393
+ setVoice(espeakOptions.voice);
355
394
  }
356
- await setRate(espeakOptions.rate);
357
- await setPitch(espeakOptions.pitch);
358
- await setPitchRange(espeakOptions.pitchRange);
395
+ setRate(espeakOptions.rate);
396
+ setPitch(espeakOptions.pitch);
397
+ setPitchRange(espeakOptions.pitchRange);
359
398
  instance.synthesize(text, (samples, events) => {
360
399
  if (samples && samples.length > 0) {
361
400
  sampleChunks.push(int16PcmToFloat32(samples));
@@ -373,63 +412,74 @@ export async function synthesize(text, espeakOptions) {
373
412
  logger.end();
374
413
  return { rawAudio, events: allEvents };
375
414
  }
376
- export async function textToIPA(text, voice) {
377
- await setVoice(voice);
378
- const { instance } = await getEspeakInstance();
379
- const ipa = instance.synthesize_ipa(text).ipa.trim();
415
+ export function textToIPA(text, voice) {
416
+ errorIfEspeakInstanceNotLoaded();
417
+ setVoice(voice);
418
+ const ipa = espeakInstance.synthesize_ipa(text).ipa.trim();
380
419
  return ipa;
381
420
  }
382
- export async function textToPhonemes(text, voice, useIPA = true) {
383
- await setVoice(voice);
384
- const { instance, module } = await getEspeakInstance();
385
- const textPtr = instance.convert_to_phonemes(text, useIPA);
386
- const wasmHeap = wrapEmscriptenModuleHeap(module);
421
+ export function textToPhonemes(text, voice, useIPA = true) {
422
+ errorIfEspeakInstanceNotLoaded();
423
+ setVoice(voice);
424
+ const textPtr = espeakInstance.convert_to_phonemes(text, useIPA);
425
+ const wasmHeap = wrapEmscriptenModuleHeap(espeakModule);
387
426
  const resultRef = wasmHeap.wrapNullTerminatedUtf8String(textPtr.ptr);
388
427
  const result = resultRef.value;
389
428
  resultRef.free();
390
429
  return result;
391
430
  }
392
431
  let lastVoiceId;
393
- export async function setVoice(voiceId) {
394
- const { instance } = await getEspeakInstance();
432
+ export function setVoice(voiceId) {
433
+ errorIfEspeakInstanceNotLoaded();
395
434
  if (voiceId !== lastVoiceId) {
396
- instance.set_voice(voiceId);
435
+ espeakInstance.set_voice(voiceId);
397
436
  lastVoiceId = voiceId;
398
437
  }
399
438
  }
400
- export async function setVolume(volume) {
401
- const { instance } = await getEspeakInstance();
402
- return instance.setVolume(volume);
439
+ export function setVolume(volume) {
440
+ errorIfEspeakInstanceNotLoaded();
441
+ return espeakInstance.setVolume(volume);
403
442
  }
404
443
  export async function setRate(rate) {
405
- const { instance } = await getEspeakInstance();
406
- return instance.set_rate(rate);
444
+ errorIfEspeakInstanceNotLoaded();
445
+ return espeakInstance.set_rate(rate);
407
446
  }
408
447
  export async function setPitch(pitch) {
409
- const { instance } = await getEspeakInstance();
410
- return instance.set_pitch(pitch);
448
+ errorIfEspeakInstanceNotLoaded();
449
+ return espeakInstance.set_pitch(pitch);
411
450
  }
412
451
  export async function setPitchRange(pitchRange) {
413
- const { instance } = await getEspeakInstance();
414
- return instance.set_range(pitchRange);
452
+ errorIfEspeakInstanceNotLoaded();
453
+ return espeakInstance.set_range(pitchRange);
415
454
  }
416
- export async function getSampleRate() {
455
+ export function getSampleRate() {
417
456
  return 22050;
418
457
  }
419
- export async function listVoices() {
420
- const { instance } = await getEspeakInstance();
458
+ export async function listVoices(callbacks) {
459
+ const { instance } = await getEspeakInstance(callbacks);
421
460
  const voiceList = instance.list_voices();
422
461
  return voiceList;
423
462
  }
424
- async function getEspeakInstance() {
463
+ function errorIfEspeakInstanceNotLoaded() {
425
464
  if (!espeakInstance) {
426
- const { default: EspeakInitializer } = await import('@echogarden/espeak-ng-emscripten');
465
+ throw new Error(`Espeak instance has not been initialized.`);
466
+ }
467
+ }
468
+ async function getEspeakInstance(callbacks) {
469
+ if (!espeakInstance) {
470
+ const packagePath = await loadPackage('espeak-ng-emscripten', callbacks);
471
+ const normalizedModulePath = resolvePath(packagePath, 'espeak-ng.js');
472
+ const modulePathAsFileUrl = pathToFileUrl(normalizedModulePath).href;
473
+ const { default: EspeakInitializer } = await import(modulePathAsFileUrl);
427
474
  const m = await EspeakInitializer();
428
475
  espeakInstance = await (new m.eSpeakNGWorker());
429
476
  espeakModule = m;
430
477
  }
431
478
  return { instance: espeakInstance, module: espeakModule };
432
479
  }
480
+ export async function ensureEspeakInstanceInitialized(callbacks) {
481
+ await getEspeakInstance(callbacks);
482
+ }
433
483
  export const defaultEspeakOptions = {
434
484
  voice: 'en-us',
435
485
  ssml: false,
@@ -440,8 +490,8 @@ export const defaultEspeakOptions = {
440
490
  insertSeparators: false
441
491
  };
442
492
  export async function testKirshenbaumPhonemization(text, language = 'en-us') {
443
- const ipaPhonemizedSentence = (await phonemizeSentence(text, language)).flatMap(clause => clause);
444
- const kirshenbaumPhonemizedSentence = (await phonemizeSentence(text, language, undefined, false)).flatMap(clause => clause);
493
+ const ipaPhonemizedSentence = phonemizeSentence(text, language).flatMap(clause => clause);
494
+ const kirshenbaumPhonemizedSentence = phonemizeSentence(text, language, undefined, false).flatMap(clause => clause);
445
495
  const ipaFragments = ipaPhonemizedSentence.map(word => word.join(''));
446
496
  const kirshenbaumFragments = kirshenbaumPhonemizedSentence.map(word => word.join(''));
447
497
  const fragments = ipaPhonemizedSentence.map(word => word.map(phoneme => ipaPhoneToKirshenbaum(phoneme)).join(''));
@@ -1 +1 @@
1
- {"version":3,"file":"EspeakTTS.js","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EspeakTTS.js","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { SynthesisVoice } from '../api/API.js';
1
+ import { SynthesisCallbacks, SynthesisVoice } from '../api/API.js';
2
2
  export type FliteVoiceName = 'kal' | 'kal16' | 'awb' | 'rms' | 'slt' | string;
3
- export declare function synthesize(text: string, voice: FliteVoiceName, voiceDir: string | undefined, rate: number, pitchMeanHz?: number, pitchStdDev?: number): Promise<{
3
+ export declare function synthesize(text: string, voice: FliteVoiceName, voiceDir: string | undefined, rate: number, pitchMeanHz: number | undefined, pitchStdDev: number | undefined, callbacks: SynthesisCallbacks): Promise<{
4
4
  rawAudio: import("@echogarden/wave-codec").RawAudio;
5
5
  events: FliteEvent[];
6
6
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"FliteTTS.d.ts","sourceRoot":"","sources":["../../src/synthesis/FliteTTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAS9C,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAI7E,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;;;GAmG3J;AAsDD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,CAAA;AAE9D,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,cAAc,EAqNrC,CAAA"}
1
+ {"version":3,"file":"FliteTTS.d.ts","sourceRoot":"","sources":["../../src/synthesis/FliteTTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AASlE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAI7E,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,kBAAkB;;;GAmGhN;AAsDD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,CAAA;AAE9D,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,cAAc,EAqNrC,CAAA"}
@@ -5,8 +5,8 @@ import { open, close, remove, ensureDir, readFileAsBinary, readFileAsUtf8 } from
5
5
  import { getAppTempDir, joinPath } from '../utilities/PathUtilities.js';
6
6
  const log = logToStderr;
7
7
  let fliteModuleObject;
8
- export async function synthesize(text, voice, voiceDir, rate, pitchMeanHz, pitchStdDev) {
9
- const logger = new Logger();
8
+ export async function synthesize(text, voice, voiceDir, rate, pitchMeanHz, pitchStdDev, callbacks) {
9
+ const logger = new Logger(callbacks.logLevel);
10
10
  logger.start('Get Flite WASI instance');
11
11
  const randomId = getRandomHexString(16);
12
12
  const outFileName = `${randomId}.out.wav`;