echogarden 0.12.2 → 1.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 (334) hide show
  1. package/README.md +15 -14
  2. package/data/schemas/options.json +398 -111
  3. package/dist/alignment/DTWMfccSequenceAlignment.d.ts +1 -1
  4. package/dist/alignment/DTWMfccSequenceAlignment.js +8 -8
  5. package/dist/alignment/DTWSequenceAlignment.d.ts +1 -1
  6. package/dist/alignment/DTWSequenceAlignment.js +1 -1
  7. package/dist/alignment/DTWSequenceAlignmentWindowed.d.ts +1 -1
  8. package/dist/alignment/DTWSequenceAlignmentWindowed.js +2 -2
  9. package/dist/alignment/LevenshteinSequenceAlignment.d.ts +1 -1
  10. package/dist/alignment/LevenshteinSequenceAlignment.js +1 -1
  11. package/dist/alignment/SpeechAlignment.d.ts +9 -10
  12. package/dist/alignment/SpeechAlignment.js +136 -105
  13. package/dist/alignment/SpeechAlignment.js.map +1 -1
  14. package/dist/api/API.d.ts +13 -12
  15. package/dist/api/API.js +14 -13
  16. package/dist/api/API.js.map +1 -1
  17. package/dist/api/APIOptions.d.ts +5 -4
  18. package/dist/api/Alignment.d.ts +15 -9
  19. package/dist/api/Alignment.js +88 -74
  20. package/dist/api/Alignment.js.map +1 -1
  21. package/dist/api/Common.js +1 -1
  22. package/dist/api/Denoising.d.ts +6 -6
  23. package/dist/api/Denoising.js +23 -23
  24. package/dist/api/Denoising.js.map +1 -1
  25. package/dist/api/LanguageDetection.d.ts +19 -12
  26. package/dist/api/LanguageDetection.js +88 -38
  27. package/dist/api/LanguageDetection.js.map +1 -1
  28. package/dist/api/Recognition.d.ts +16 -6
  29. package/dist/api/Recognition.js +129 -55
  30. package/dist/api/Recognition.js.map +1 -1
  31. package/dist/api/SourceSeparation.d.ts +17 -0
  32. package/dist/api/SourceSeparation.js +61 -0
  33. package/dist/api/SourceSeparation.js.map +1 -0
  34. package/dist/api/Synthesis.d.ts +18 -18
  35. package/dist/api/Synthesis.js +191 -164
  36. package/dist/api/Synthesis.js.map +1 -1
  37. package/dist/api/Translation.d.ts +19 -8
  38. package/dist/api/Translation.js +132 -35
  39. package/dist/api/Translation.js.map +1 -1
  40. package/dist/api/Vad.d.ts +10 -5
  41. package/dist/api/Vad.js +76 -38
  42. package/dist/api/Vad.js.map +1 -1
  43. package/dist/audio/AudioBufferConversion.d.ts +1 -1
  44. package/dist/audio/AudioBufferConversion.js +4 -4
  45. package/dist/audio/AudioPlayer.d.ts +1 -1
  46. package/dist/audio/AudioPlayer.js +26 -26
  47. package/dist/audio/AudioPlayer.js.map +1 -1
  48. package/dist/audio/AudioRecorder.d.ts +1 -1
  49. package/dist/audio/AudioRecorder.js +5 -5
  50. package/dist/audio/AudioUtilities.d.ts +13 -9
  51. package/dist/audio/AudioUtilities.js +86 -24
  52. package/dist/audio/AudioUtilities.js.map +1 -1
  53. package/dist/cli/CLI.d.ts +3 -3
  54. package/dist/cli/CLI.js +271 -162
  55. package/dist/cli/CLI.js.map +1 -1
  56. package/dist/cli/CLIConfigFile.js +8 -8
  57. package/dist/cli/CLILauncher.js +6 -6
  58. package/dist/cli/CLIOptionsSchema.js +2 -2
  59. package/dist/cli/CLIParser.js +5 -5
  60. package/dist/cli/CLIStarter.js +4 -4
  61. package/dist/codecs/FFMpegTranscoder.d.ts +2 -2
  62. package/dist/codecs/FFMpegTranscoder.js +37 -37
  63. package/dist/codecs/FFMpegTranscoder.js.map +1 -1
  64. package/dist/codecs/TIMITCodec.js +5 -5
  65. package/dist/codecs/WaveCodec.d.ts +1 -1
  66. package/dist/codecs/WaveCodec.js +22 -22
  67. package/dist/denoising/RNNoise.d.ts +1 -1
  68. package/dist/denoising/RNNoise.js +9 -9
  69. package/dist/dsp/BiquadFilter.d.ts +3 -2
  70. package/dist/dsp/BiquadFilter.js +18 -11
  71. package/dist/dsp/BiquadFilter.js.map +1 -1
  72. package/dist/dsp/DecayingPeakEstimator.d.ts +16 -0
  73. package/dist/dsp/DecayingPeakEstimator.js +23 -0
  74. package/dist/dsp/DecayingPeakEstimator.js.map +1 -0
  75. package/dist/dsp/FFT.d.ts +8 -4
  76. package/dist/dsp/FFT.js +76 -30
  77. package/dist/dsp/FFT.js.map +1 -1
  78. package/dist/dsp/KWeightingFilter.d.ts +9 -0
  79. package/dist/dsp/KWeightingFilter.js +40 -0
  80. package/dist/dsp/KWeightingFilter.js.map +1 -0
  81. package/dist/dsp/LoudnessEstimator.d.ts +21 -0
  82. package/dist/dsp/LoudnessEstimator.js +47 -0
  83. package/dist/dsp/LoudnessEstimator.js.map +1 -0
  84. package/dist/dsp/MFCC.d.ts +2 -2
  85. package/dist/dsp/MFCC.js +15 -15
  86. package/dist/dsp/MelSpectogram.d.ts +1 -1
  87. package/dist/dsp/MelSpectogram.js +6 -6
  88. package/dist/dsp/Rubberband.d.ts +11 -11
  89. package/dist/dsp/Rubberband.js +27 -27
  90. package/dist/dsp/Sonic.d.ts +1 -1
  91. package/dist/dsp/Sonic.js +3 -3
  92. package/dist/dsp/SpeexResampler.d.ts +1 -1
  93. package/dist/dsp/SpeexResampler.js +2 -2
  94. package/dist/math/VectorMath.d.ts +12 -8
  95. package/dist/math/VectorMath.js +35 -32
  96. package/dist/math/VectorMath.js.map +1 -1
  97. package/dist/nlp/ChineseSegmentation.js +2 -2
  98. package/dist/nlp/CompromiseNLP.js +3 -3
  99. package/dist/nlp/EspeakPhonemizer.js +30 -30
  100. package/dist/nlp/IPA.js +20 -20
  101. package/dist/nlp/JapaneseSegmentation.js +6 -6
  102. package/dist/nlp/Lexicon.d.ts +1 -1
  103. package/dist/nlp/Lexicon.js +7 -7
  104. package/dist/nlp/Segmentation.d.ts +3 -0
  105. package/dist/nlp/Segmentation.js +21 -14
  106. package/dist/nlp/Segmentation.js.map +1 -1
  107. package/dist/nlp/TextNormalizer.js +16 -16
  108. package/dist/recognition/AmazonTranscribeSTT.d.ts +2 -2
  109. package/dist/recognition/AmazonTranscribeSTT.js +13 -14
  110. package/dist/recognition/AmazonTranscribeSTT.js.map +1 -1
  111. package/dist/recognition/AzureCognitiveServicesSTT.js +5 -6
  112. package/dist/recognition/AzureCognitiveServicesSTT.js.map +1 -1
  113. package/dist/recognition/GoogleCloudSTT.d.ts +3 -3
  114. package/dist/recognition/GoogleCloudSTT.js +18 -18
  115. package/dist/recognition/OpenAICloudSTT.d.ts +19 -0
  116. package/dist/recognition/OpenAICloudSTT.js +81 -0
  117. package/dist/recognition/OpenAICloudSTT.js.map +1 -0
  118. package/dist/recognition/SileroSTT.d.ts +2 -2
  119. package/dist/recognition/SileroSTT.js +25 -25
  120. package/dist/recognition/VoskSTT.d.ts +2 -2
  121. package/dist/recognition/VoskSTT.js +8 -8
  122. package/dist/recognition/WhisperCppSTT.d.ts +88 -0
  123. package/dist/recognition/WhisperCppSTT.js +332 -0
  124. package/dist/recognition/WhisperCppSTT.js.map +1 -0
  125. package/dist/recognition/WhisperSTT.d.ts +49 -25
  126. package/dist/recognition/WhisperSTT.js +626 -481
  127. package/dist/recognition/WhisperSTT.js.map +1 -1
  128. package/dist/server/Client.d.ts +1 -1
  129. package/dist/server/Client.js +22 -22
  130. package/dist/server/Server.js +9 -9
  131. package/dist/server/Server.js.map +1 -1
  132. package/dist/server/Worker.d.ts +22 -22
  133. package/dist/server/Worker.js +36 -36
  134. package/dist/server/Worker.js.map +1 -1
  135. package/dist/server/WorkerStarter.js +2 -2
  136. package/dist/source-separation/MDXNetSourceSeparation.d.ts +11 -0
  137. package/dist/source-separation/MDXNetSourceSeparation.js +161 -0
  138. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -0
  139. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +1 -1
  140. package/dist/speech-language-detection/SileroLanguageDetection.js +7 -7
  141. package/dist/subtitles/Subtitles.d.ts +10 -0
  142. package/dist/subtitles/Subtitles.js +2 -2
  143. package/dist/subtitles/Subtitles.js.map +1 -1
  144. package/dist/synthesis/AwsPollyTTS.d.ts +1 -1
  145. package/dist/synthesis/AwsPollyTTS.js +12 -12
  146. package/dist/synthesis/AzureCognitiveServicesTTS.js +7 -7
  147. package/dist/synthesis/CoquiServerTTS.js +10 -10
  148. package/dist/synthesis/CoquiServerTTS.js.map +1 -1
  149. package/dist/synthesis/ElevenlabsTTS.d.ts +23 -0
  150. package/dist/synthesis/ElevenlabsTTS.js +103 -0
  151. package/dist/synthesis/ElevenlabsTTS.js.map +1 -0
  152. package/dist/synthesis/EspeakTTS.d.ts +6 -5
  153. package/dist/synthesis/EspeakTTS.js +81 -69
  154. package/dist/synthesis/EspeakTTS.js.map +1 -1
  155. package/dist/synthesis/FliteTTS.d.ts +3 -3
  156. package/dist/synthesis/FliteTTS.js +154 -154
  157. package/dist/synthesis/FliteTTS.js.map +1 -1
  158. package/dist/synthesis/GoogleCloudTTS.d.ts +3 -3
  159. package/dist/synthesis/GoogleCloudTTS.js +17 -17
  160. package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
  161. package/dist/synthesis/GoogleTranslateTTS.d.ts +1 -1
  162. package/dist/synthesis/GoogleTranslateTTS.js +103 -103
  163. package/dist/synthesis/MicrosoftEdgeTTS.d.ts +2 -2
  164. package/dist/synthesis/MicrosoftEdgeTTS.js +74 -74
  165. package/dist/synthesis/OpenAICloudTTS.d.ts +13 -0
  166. package/dist/synthesis/OpenAICloudTTS.js +169 -0
  167. package/dist/synthesis/OpenAICloudTTS.js.map +1 -0
  168. package/dist/synthesis/SamTTS.js +3 -3
  169. package/dist/synthesis/SapiTTS.d.ts +3 -3
  170. package/dist/synthesis/SapiTTS.js +26 -26
  171. package/dist/synthesis/StreamlabsPollyTTS.d.ts +2 -2
  172. package/dist/synthesis/StreamlabsPollyTTS.js +27 -27
  173. package/dist/synthesis/SvoxPicoTTS.d.ts +2 -2
  174. package/dist/synthesis/SvoxPicoTTS.js +65 -65
  175. package/dist/synthesis/SvoxPicoTTS.js.map +1 -1
  176. package/dist/synthesis/VitsTTS.d.ts +3 -3
  177. package/dist/synthesis/VitsTTS.js +378 -378
  178. package/dist/synthesis/VitsTTS.js.map +1 -1
  179. package/dist/tests/Test.js +2 -2
  180. package/dist/utilities/Compression.d.ts +5 -0
  181. package/dist/utilities/Compression.js +29 -13
  182. package/dist/utilities/Compression.js.map +1 -1
  183. package/dist/utilities/FileDownloader.d.ts +1 -1
  184. package/dist/utilities/FileDownloader.js +16 -16
  185. package/dist/utilities/FileSystem.js +7 -7
  186. package/dist/utilities/Locale.d.ts +7 -7
  187. package/dist/utilities/Locale.js +15 -15
  188. package/dist/utilities/Logger.js +3 -3
  189. package/dist/utilities/ObjectUtilities.js +19 -19
  190. package/dist/utilities/OpenPromise.js +2 -2
  191. package/dist/utilities/OpenPromise.js.map +1 -1
  192. package/dist/utilities/PackageManager.js +31 -0
  193. package/dist/utilities/PackageManager.js.map +1 -1
  194. package/dist/utilities/PathUtilities.js +8 -8
  195. package/dist/utilities/RandomGenerator.js +2 -2
  196. package/dist/utilities/SmoothEstimator.d.ts +8 -0
  197. package/dist/utilities/SmoothEstimator.js +25 -0
  198. package/dist/utilities/SmoothEstimator.js.map +1 -0
  199. package/dist/utilities/TarballMaker.js +8 -8
  200. package/dist/utilities/Timeline.d.ts +3 -2
  201. package/dist/utilities/Timeline.js +11 -11
  202. package/dist/utilities/Timeline.js.map +1 -1
  203. package/dist/utilities/Timer.js +4 -4
  204. package/dist/utilities/Utilities.d.ts +4 -0
  205. package/dist/utilities/Utilities.js +38 -15
  206. package/dist/utilities/Utilities.js.map +1 -1
  207. package/dist/utilities/WasmMemoryManager.js +7 -7
  208. package/dist/utilities/WebReader.js +23 -23
  209. package/dist/utilities/WikipediaReader.js +2 -2
  210. package/dist/voice-activity-detection/AdaptiveGateVAD.d.ts +28 -0
  211. package/dist/voice-activity-detection/AdaptiveGateVAD.js +138 -0
  212. package/dist/voice-activity-detection/AdaptiveGateVAD.js.map +1 -0
  213. package/dist/voice-activity-detection/SileroVAD.d.ts +1 -1
  214. package/dist/voice-activity-detection/SileroVAD.js +5 -5
  215. package/dist/voice-activity-detection/SileroVAD.js.map +1 -1
  216. package/dist/voice-activity-detection/WebRtcVAD.d.ts +1 -1
  217. package/dist/voice-activity-detection/WebRtcVAD.js +4 -4
  218. package/docs/API.md +29 -11
  219. package/docs/CLI.md +31 -7
  220. package/docs/Contributing.md +38 -0
  221. package/docs/Development.md +93 -19
  222. package/docs/Engines.md +28 -16
  223. package/docs/Licenses.md +4 -1
  224. package/docs/Options.md +158 -78
  225. package/docs/Releases.md +262 -0
  226. package/docs/Server.md +7 -7
  227. package/docs/Tasklist.md +95 -76
  228. package/docs/Technical.md +4 -4
  229. package/package.json +13 -14
  230. package/src/alignment/DTWMfccSequenceAlignment.ts +9 -9
  231. package/src/alignment/DTWSequenceAlignment.ts +2 -2
  232. package/src/alignment/DTWSequenceAlignmentWindowed.ts +3 -3
  233. package/src/alignment/LevenshteinSequenceAlignment.ts +2 -2
  234. package/src/alignment/SpeechAlignment.ts +204 -119
  235. package/src/api/API.ts +14 -13
  236. package/src/api/APIOptions.ts +12 -11
  237. package/src/api/Alignment.ts +147 -90
  238. package/src/api/Common.ts +1 -1
  239. package/src/api/Denoising.ts +28 -28
  240. package/src/api/LanguageDetection.ts +135 -48
  241. package/src/api/Recognition.ts +198 -59
  242. package/src/api/SourceSeparation.ts +99 -0
  243. package/src/api/Synthesis.ts +217 -181
  244. package/src/api/Translation.ts +193 -40
  245. package/src/api/Vad.ts +110 -41
  246. package/src/audio/AudioBufferConversion.ts +4 -4
  247. package/src/audio/AudioPlayer.ts +27 -27
  248. package/src/audio/AudioRecorder.ts +5 -5
  249. package/src/audio/AudioUtilities.ts +107 -24
  250. package/src/cli/CLI.ts +313 -164
  251. package/src/cli/CLIConfigFile.ts +8 -8
  252. package/src/cli/CLILauncher.ts +6 -6
  253. package/src/cli/CLIOptionsSchema.ts +2 -2
  254. package/src/cli/CLIParser.ts +5 -5
  255. package/src/cli/CLIStarter.ts +4 -4
  256. package/src/codecs/FFMpegTranscoder.ts +38 -38
  257. package/src/codecs/TIMITCodec.ts +5 -5
  258. package/src/codecs/WaveCodec.ts +22 -22
  259. package/src/denoising/RNNoise.ts +9 -9
  260. package/src/dsp/BiquadFilter.ts +19 -11
  261. package/src/dsp/DecayingPeakEstimator.ts +35 -0
  262. package/src/dsp/FFT.ts +103 -35
  263. package/src/dsp/KWeightingFilter.ts +43 -0
  264. package/src/dsp/LoudnessEstimator.ts +74 -0
  265. package/src/dsp/MFCC.ts +15 -15
  266. package/src/dsp/MelSpectogram.ts +7 -7
  267. package/src/dsp/Rubberband.ts +38 -38
  268. package/src/dsp/Sonic.ts +4 -4
  269. package/src/dsp/SpeexResampler.ts +2 -2
  270. package/src/math/VectorMath.ts +42 -33
  271. package/src/nlp/ChineseSegmentation.ts +3 -3
  272. package/src/nlp/CompromiseNLP.ts +3 -3
  273. package/src/nlp/EspeakPhonemizer.ts +30 -30
  274. package/src/nlp/IPA.ts +20 -20
  275. package/src/nlp/JapaneseSegmentation.ts +6 -6
  276. package/src/nlp/Lexicon.ts +8 -8
  277. package/src/nlp/Segmentation.ts +23 -14
  278. package/src/nlp/TextNormalizer.ts +16 -16
  279. package/src/recognition/AmazonTranscribeSTT.ts +16 -17
  280. package/src/recognition/AzureCognitiveServicesSTT.ts +8 -6
  281. package/src/recognition/GoogleCloudSTT.ts +21 -21
  282. package/src/recognition/OpenAICloudSTT.ts +142 -0
  283. package/src/recognition/SileroSTT.ts +26 -26
  284. package/src/recognition/VoskSTT.ts +10 -10
  285. package/src/recognition/WhisperCppSTT.ts +555 -0
  286. package/src/recognition/WhisperSTT.ts +760 -507
  287. package/src/server/Client.ts +23 -23
  288. package/src/server/Server.ts +9 -9
  289. package/src/server/Worker.ts +53 -53
  290. package/src/server/WorkerStarter.ts +2 -2
  291. package/src/source-separation/MDXNetSourceSeparation.ts +228 -0
  292. package/src/speech-language-detection/SileroLanguageDetection.ts +8 -8
  293. package/src/subtitles/Subtitles.ts +3 -3
  294. package/src/synthesis/AwsPollyTTS.ts +14 -14
  295. package/src/synthesis/AzureCognitiveServicesTTS.ts +10 -10
  296. package/src/synthesis/CoquiServerTTS.ts +10 -10
  297. package/src/synthesis/ElevenlabsTTS.ts +137 -0
  298. package/src/synthesis/EspeakTTS.ts +90 -71
  299. package/src/synthesis/FliteTTS.ts +157 -157
  300. package/src/synthesis/GoogleCloudTTS.ts +19 -19
  301. package/src/synthesis/GoogleTranslateTTS.ts +104 -104
  302. package/src/synthesis/MicrosoftEdgeTTS.ts +80 -80
  303. package/src/synthesis/OpenAICloudTTS.ts +196 -0
  304. package/src/synthesis/SamTTS.ts +3 -3
  305. package/src/synthesis/SapiTTS.ts +29 -29
  306. package/src/synthesis/StreamlabsPollyTTS.ts +29 -29
  307. package/src/synthesis/SvoxPicoTTS.ts +67 -67
  308. package/src/synthesis/VitsTTS.ts +380 -380
  309. package/src/tests/Test.ts +4 -4
  310. package/src/utilities/Compression.ts +34 -13
  311. package/src/utilities/FileDownloader.ts +19 -19
  312. package/src/utilities/FileSystem.ts +7 -7
  313. package/src/utilities/Locale.ts +22 -22
  314. package/src/utilities/Logger.ts +4 -4
  315. package/src/utilities/ObjectUtilities.ts +19 -19
  316. package/src/utilities/OpenPromise.ts +2 -2
  317. package/src/utilities/PackageManager.ts +40 -0
  318. package/src/utilities/PathUtilities.ts +8 -8
  319. package/src/utilities/RandomGenerator.ts +3 -3
  320. package/src/utilities/SmoothEstimator.ts +35 -0
  321. package/src/utilities/TarballMaker.ts +9 -9
  322. package/src/utilities/Timeline.ts +15 -13
  323. package/src/utilities/Timer.ts +4 -4
  324. package/src/utilities/Utilities.ts +49 -15
  325. package/src/utilities/WasmMemoryManager.ts +7 -7
  326. package/src/utilities/WebReader.ts +23 -23
  327. package/src/utilities/WikipediaReader.ts +2 -2
  328. package/src/voice-activity-detection/AdaptiveGateVAD.ts +202 -0
  329. package/src/voice-activity-detection/SileroVAD.ts +5 -5
  330. package/src/voice-activity-detection/WebRtcVAD.ts +5 -5
  331. package/dist/synthesis/ElevenLabsTTS.d.ts +0 -8
  332. package/dist/synthesis/ElevenLabsTTS.js +0 -82
  333. package/dist/synthesis/ElevenLabsTTS.js.map +0 -1
  334. package/src/synthesis/ElevenLabsTTS.ts +0 -104
@@ -1,7 +1,7 @@
1
1
  import createMedianFilter from 'moving-median';
2
2
  export function covarianceMatrixOfSamples(samples, weights, biased = false) {
3
3
  if (samples.length == 0) {
4
- throw new Error("No vectors given");
4
+ throw new Error('No vectors given');
5
5
  }
6
6
  const { centeredVectors: centeredSamples, mean } = centerVectors(samples, weights);
7
7
  let covarianceMatrix;
@@ -16,7 +16,7 @@ export function covarianceMatrixOfSamples(samples, weights, biased = false) {
16
16
  export function covarianceMatrixOfCenteredSamples(centeredSamples, biased = false, diagonalRegularizationAmount = 1e-6) {
17
17
  const sampleCount = centeredSamples.length;
18
18
  if (sampleCount == 0) {
19
- throw new Error("No vectors given");
19
+ throw new Error('No vectors given');
20
20
  }
21
21
  const sampleSizeMetric = biased || sampleCount == 1 ? sampleCount : sampleCount - 1;
22
22
  const featureCount = centeredSamples[0].length;
@@ -46,7 +46,7 @@ export function covarianceMatrixOfCenteredSamples(centeredSamples, biased = fals
46
46
  export function weightedCovarianceMatrixOfCenteredSamples(centeredSamples, weights, diagonalRegularizationAmount = 1e-6) {
47
47
  const sampleCount = centeredSamples.length;
48
48
  if (sampleCount == 0) {
49
- throw new Error("No vectors given");
49
+ throw new Error('No vectors given');
50
50
  }
51
51
  const featureCount = centeredSamples[0].length;
52
52
  const covarianceMatrix = createVectorArray(featureCount, featureCount);
@@ -119,7 +119,7 @@ export function scaleToSumTo1(vector) {
119
119
  return scaledVector;
120
120
  }
121
121
  if (sum == Infinity) {
122
- throw new Error("Vector sum is infinite");
122
+ throw new Error('Vector sum is infinite');
123
123
  }
124
124
  for (let i = 0; i < vector.length; i++) {
125
125
  scaledVector[i] /= sum;
@@ -127,9 +127,9 @@ export function scaleToSumTo1(vector) {
127
127
  }
128
128
  return scaledVector;
129
129
  }
130
- export function normalizeVector(vector, kind = "population") {
130
+ export function normalizeVector(vector, kind = 'population') {
131
131
  if (vector.length == 0) {
132
- throw new Error("Vector is empty");
132
+ throw new Error('Vector is empty');
133
133
  }
134
134
  const mean = meanOfVector(vector);
135
135
  const stdDeviation = stdDeviationOfVector(vector, kind, mean);
@@ -140,7 +140,7 @@ export function normalizeVector(vector, kind = "population") {
140
140
  }
141
141
  return { normalizedVector, mean, stdDeviation };
142
142
  }
143
- export function normalizeVectors(vectors, kind = "population") {
143
+ export function normalizeVectors(vectors, kind = 'population') {
144
144
  const vectorCount = vectors.length;
145
145
  if (vectorCount == 0) {
146
146
  return { normalizedVectors: [], mean: [], stdDeviation: [] };
@@ -208,15 +208,15 @@ export function weightedMeanOfVectors(vectors, weights) {
208
208
  }
209
209
  return result;
210
210
  }
211
- export function stdDeviationOfVectors(vectors, kind = "population", mean) {
211
+ export function stdDeviationOfVectors(vectors, kind = 'population', mean) {
212
212
  return varianceOfVectors(vectors, kind, mean).map(v => Math.sqrt(v));
213
213
  }
214
- export function varianceOfVectors(vectors, kind = "population", mean) {
214
+ export function varianceOfVectors(vectors, kind = 'population', mean) {
215
215
  const vectorCount = vectors.length;
216
216
  if (vectorCount == 0) {
217
217
  return [];
218
218
  }
219
- const sampleSizeMetric = kind == "population" || vectorCount == 1 ? vectorCount : vectorCount - 1;
219
+ const sampleSizeMetric = kind == 'population' || vectorCount == 1 ? vectorCount : vectorCount - 1;
220
220
  const featureCount = vectors[0].length;
221
221
  if (!mean) {
222
222
  mean = meanOfVectors(vectors);
@@ -234,24 +234,24 @@ export function varianceOfVectors(vectors, kind = "population", mean) {
234
234
  }
235
235
  export function meanOfVector(vector) {
236
236
  if (vector.length == 0) {
237
- throw new Error("Vector is empty");
237
+ throw new Error('Vector is empty');
238
238
  }
239
239
  return sumVector(vector) / vector.length;
240
240
  }
241
241
  export function medianOfVector(vector) {
242
242
  if (vector.length == 0) {
243
- throw new Error("Vector is empty");
243
+ throw new Error('Vector is empty');
244
244
  }
245
245
  return vector[Math.floor(vector.length / 2)];
246
246
  }
247
- export function stdDeviationOfVector(vector, kind = "population", mean) {
247
+ export function stdDeviationOfVector(vector, kind = 'population', mean) {
248
248
  return Math.sqrt(varianceOfVector(vector, kind, mean));
249
249
  }
250
- export function varianceOfVector(vector, kind = "population", mean) {
250
+ export function varianceOfVector(vector, kind = 'population', mean) {
251
251
  if (vector.length == 0) {
252
- throw new Error("Vector is empty");
252
+ throw new Error('Vector is empty');
253
253
  }
254
- const sampleSizeMetric = kind == "population" || vector.length == 1 ? vector.length : vector.length - 1;
254
+ const sampleSizeMetric = kind == 'population' || vector.length == 1 ? vector.length : vector.length - 1;
255
255
  if (mean == null) {
256
256
  mean = meanOfVector(vector);
257
257
  }
@@ -262,7 +262,7 @@ export function varianceOfVector(vector, kind = "population", mean) {
262
262
  return result / sampleSizeMetric;
263
263
  }
264
264
  export function logOfVector(vector, minVal = 1e-40) {
265
- return vector.map(value => Math.log(minVal + value));
265
+ return vector.map(value => Math.log(value + minVal));
266
266
  }
267
267
  export function expOfVector(vector) {
268
268
  return vector.map(value => Math.exp(value));
@@ -296,7 +296,7 @@ export function movingAverageOfWindow3(vector) {
296
296
  }
297
297
  export function averageMeanSquaredError(actual, expected) {
298
298
  if (actual.length != expected.length) {
299
- throw new Error("Vectors are not the same length");
299
+ throw new Error('Vectors are not the same length');
300
300
  }
301
301
  const vectorCount = actual.length;
302
302
  if (vectorCount == 0) {
@@ -310,7 +310,7 @@ export function averageMeanSquaredError(actual, expected) {
310
310
  }
311
311
  export function meanSquaredError(actual, expected) {
312
312
  if (actual.length != expected.length) {
313
- throw new Error("Vectors are not the same length");
313
+ throw new Error('Vectors are not the same length');
314
314
  }
315
315
  const featureCount = actual.length;
316
316
  if (featureCount == 0) {
@@ -322,12 +322,12 @@ export function meanSquaredError(actual, expected) {
322
322
  }
323
323
  return sum / featureCount;
324
324
  }
325
- export function eucledianDistance(vector1, vector2) {
326
- return Math.sqrt(squaredEucledianDistance(vector1, vector2));
325
+ export function euclidianDistance(vector1, vector2) {
326
+ return Math.sqrt(squaredEuclidianDistance(vector1, vector2));
327
327
  }
328
- export function squaredEucledianDistance(vector1, vector2) {
328
+ export function squaredEuclidianDistance(vector1, vector2) {
329
329
  if (vector1.length != vector2.length) {
330
- throw new Error("Vectors are not the same length");
330
+ throw new Error('Vectors are not the same length');
331
331
  }
332
332
  const elementCount = vector1.length;
333
333
  if (elementCount == 0) {
@@ -344,7 +344,7 @@ export function cosineDistance(vector1, vector2) {
344
344
  }
345
345
  export function cosineSimilarity(vector1, vector2) {
346
346
  if (vector1.length != vector2.length) {
347
- throw new Error("Vectors are not the same length");
347
+ throw new Error('Vectors are not the same length');
348
348
  }
349
349
  if (vector1.length == 0) {
350
350
  return 0;
@@ -363,7 +363,7 @@ export function cosineSimilarity(vector1, vector2) {
363
363
  }
364
364
  export function minkowskiDistance(vector1, vector2, power) {
365
365
  if (vector1.length != vector2.length) {
366
- throw new Error("Vectors are not the same length");
366
+ throw new Error('Vectors are not the same length');
367
367
  }
368
368
  const elementCount = vector1.length;
369
369
  if (elementCount == 0) {
@@ -380,7 +380,7 @@ export function cosineDistancePrecomputedMagnitudes(vector1, vector2, magnitude1
380
380
  }
381
381
  export function cosineSimilarityPrecomputedMagnitudes(vector1, vector2, magnitude1, magnitude2) {
382
382
  if (vector1.length != vector2.length) {
383
- throw new Error("Vectors are not the same length");
383
+ throw new Error('Vectors are not the same length');
384
384
  }
385
385
  if (vector1.length == 0) {
386
386
  return 0;
@@ -395,7 +395,7 @@ export function cosineSimilarityPrecomputedMagnitudes(vector1, vector2, magnitud
395
395
  }
396
396
  export function subtractVectors(vector1, vector2) {
397
397
  if (vector1.length != vector2.length) {
398
- throw new Error("Vectors are not the same length");
398
+ throw new Error('Vectors are not the same length');
399
399
  }
400
400
  const result = createVector(vector1.length);
401
401
  for (let i = 0; i < vector1.length; i++) {
@@ -412,7 +412,7 @@ export function sumVector(vector) {
412
412
  }
413
413
  export function dotProduct(vector1, vector2) {
414
414
  if (vector1.length != vector2.length) {
415
- throw new Error("Vectors are not the same length");
415
+ throw new Error('Vectors are not the same length');
416
416
  }
417
417
  const elementCount = vector1.length;
418
418
  let result = 0.0;
@@ -433,9 +433,12 @@ export function maxValue(vector) {
433
433
  return vector[indexOfMax(vector)];
434
434
  }
435
435
  export function indexOfMax(vector) {
436
- let maxValue = -Infinity;
437
- let result = -1;
438
- for (let i = 0; i < vector.length; i++) {
436
+ if (vector.length == 0) {
437
+ return -1;
438
+ }
439
+ let maxValue = vector[0];
440
+ let result = 0;
441
+ for (let i = 1; i < vector.length; i++) {
439
442
  if (vector[i] > maxValue) {
440
443
  maxValue = vector[i];
441
444
  result = i;
@@ -477,7 +480,7 @@ export function sigmoid(x) {
477
480
  return zeroIfNaN(result);
478
481
  }
479
482
  export function softmax(logits, temperature = 1.0) {
480
- if (logits.length == 0) {
483
+ if (logits.length === 0) {
481
484
  return [];
482
485
  }
483
486
  let maxValue = -Infinity;
@@ -1 +1 @@
1
- {"version":3,"file":"VectorMath.js","sourceRoot":"","sources":["../../src/math/VectorMath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VectorMath.js","sourceRoot":"","sources":["../../src/math/VectorMath.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export async function splitChineseTextToWords_Jieba(text, fineGrained = false, u
4
4
  return jieba.cut(text, useHMM);
5
5
  }
6
6
  else {
7
- const results = jieba.tokenize(text, "search", useHMM);
7
+ const results = jieba.tokenize(text, 'search', useHMM);
8
8
  const startOffsetsSet = new Set();
9
9
  const endOffsetsSet = new Set();
10
10
  for (const result of results) {
@@ -45,7 +45,7 @@ export async function splitChineseTextToWords_Jieba(text, fineGrained = false, u
45
45
  let JiebaWasmInstance;
46
46
  async function getWasmInstance() {
47
47
  if (!JiebaWasmInstance) {
48
- const { default: JibeaWasm } = await import("jieba-wasm");
48
+ const { default: JibeaWasm } = await import('jieba-wasm');
49
49
  JiebaWasmInstance = JibeaWasm;
50
50
  }
51
51
  return JiebaWasmInstance;
@@ -21,13 +21,13 @@ export async function parse(text) {
21
21
  startOffset: term.offset.start,
22
22
  endOffset: term.offset.start + term.offset.length
23
23
  };
24
- if (parsedTerm.text == "") {
24
+ if (parsedTerm.text == '') {
25
25
  if (parsedSentence.length > 0) {
26
26
  parsedSentence[parsedSentence.length - 1].postText += parsedTerm.preText + parsedTerm.postText;
27
27
  }
28
28
  }
29
- else if (parsedTerm.tags.includes("Abbreviation") && parsedTerm.postText.startsWith(".")) {
30
- parsedTerm.text += ".";
29
+ else if (parsedTerm.tags.includes('Abbreviation') && parsedTerm.postText.startsWith('.')) {
30
+ parsedTerm.text += '.';
31
31
  parsedTerm.endOffset += 1;
32
32
  parsedSentence.push(parsedTerm);
33
33
  }
@@ -1,10 +1,10 @@
1
- import * as EspeakTTS from "../synthesis/EspeakTTS.js";
2
- import { logToStderr } from "../utilities/Utilities.js";
3
- import * as Segmentation from "./Segmentation.js";
1
+ import * as EspeakTTS from '../synthesis/EspeakTTS.js';
2
+ import { logToStderr } from '../utilities/Utilities.js';
3
+ import * as Segmentation from './Segmentation.js';
4
4
  const log = logToStderr;
5
5
  export async function phonemizeSentence(sentence, espeakVoice, substitutionMap, useIpa = true) {
6
6
  const ipaString = await EspeakTTS.textToPhonemes(sentence, espeakVoice, useIpa);
7
- const clauseStrings = ipaString.split(" | ");
7
+ const clauseStrings = ipaString.split(' | ');
8
8
  const clauses = [];
9
9
  for (let clauseIndex = 0; clauseIndex < clauseStrings.length; clauseIndex++) {
10
10
  const clauseString = clauseStrings[clauseIndex];
@@ -12,15 +12,15 @@ export async function phonemizeSentence(sentence, espeakVoice, substitutionMap,
12
12
  const words = [];
13
13
  for (let wordIndex = 0; wordIndex < wordStrings.length; wordIndex++) {
14
14
  const word = wordStrings[wordIndex];
15
- let wordPhonemes = word.split("_");
15
+ let wordPhonemes = word.split('_');
16
16
  wordPhonemes = wordPhonemes.flatMap(phoneme => {
17
- if (!phoneme || phoneme.startsWith("(")) {
17
+ if (!phoneme || phoneme.startsWith('(')) {
18
18
  return [];
19
19
  }
20
- else if (phoneme.startsWith("ˈ") || phoneme.startsWith("ˌ")) {
20
+ else if (phoneme.startsWith(`ˈ`) || phoneme.startsWith(`ˌ`)) {
21
21
  return [phoneme[0], phoneme.substring(1)];
22
22
  }
23
- else if (phoneme.endsWith("ˈ") || phoneme.endsWith("ˌ")) {
23
+ else if (phoneme.endsWith(`ˈ`) || phoneme.endsWith(`ˌ`)) {
24
24
  return [phoneme.substring(0, phoneme.length - 1), phoneme[phoneme.length - 1]];
25
25
  }
26
26
  else {
@@ -39,32 +39,32 @@ export async function phonemizeSentence(sentence, espeakVoice, substitutionMap,
39
39
  }
40
40
  export async function phonemizeText(text, voice, substitutionMap) {
41
41
  text = text
42
- .replaceAll(",", ",")
43
- .replaceAll("、", ",")
44
- .replaceAll("。", ".")
45
- .replaceAll("(", ", ")
46
- .replaceAll(")", ", ")
47
- .replaceAll("«", ", ")
48
- .replaceAll("»", ", ");
42
+ .replaceAll(',', ',')
43
+ .replaceAll('、', ',')
44
+ .replaceAll('。', '.')
45
+ .replaceAll('(', ', ')
46
+ .replaceAll(')', ', ')
47
+ .replaceAll('«', ', ')
48
+ .replaceAll('»', ', ');
49
49
  const segmentedText = await Segmentation.parse(text, voice);
50
50
  const preparedClauses = [];
51
51
  const clauseBreakers = [];
52
52
  for (const sentence of segmentedText) {
53
53
  for (const clause of sentence.phrases) {
54
54
  const words = clause.words.filter(wordObject => Segmentation.isWordOrSymbolWord(wordObject.text));
55
- const preparedClauseText = words.map(word => word.text.replace(/\./g, " ")).join(" ");
55
+ const preparedClauseText = words.map(word => word.text.replace(/\./g, ' ')).join(' ');
56
56
  preparedClauses.push(preparedClauseText);
57
57
  const trimmedClauseText = clause.text.trim();
58
58
  const lastChar = trimmedClauseText[trimmedClauseText.length - 1];
59
59
  if (clause.isSentenceFinalizer) {
60
- if (trimmedClauseText.endsWith('?') || trimmedClauseText.endsWith('?"')) {
60
+ if (trimmedClauseText.endsWith('?') || trimmedClauseText.endsWith(`?"`)) {
61
61
  clauseBreakers.push('?');
62
62
  }
63
- else if (trimmedClauseText.endsWith('!') || trimmedClauseText.endsWith('!"')) {
63
+ else if (trimmedClauseText.endsWith('!') || trimmedClauseText.endsWith(`!"`)) {
64
64
  clauseBreakers.push('!');
65
65
  }
66
66
  else {
67
- clauseBreakers.push(".");
67
+ clauseBreakers.push('.');
68
68
  }
69
69
  }
70
70
  else {
@@ -72,7 +72,7 @@ export async function phonemizeText(text, voice, substitutionMap) {
72
72
  clauseBreakers.push(lastChar);
73
73
  }
74
74
  else {
75
- clauseBreakers.push(",");
75
+ clauseBreakers.push(',');
76
76
  }
77
77
  }
78
78
  }
@@ -83,22 +83,22 @@ export async function phonemizeClauses(clauses, voice, clauseBreakers, substitut
83
83
  if (clauses.length == 0) {
84
84
  return [];
85
85
  }
86
- const preparedText = clauses.join("\n\n"); // filter(clause => clause.trim().length > 0)
86
+ const preparedText = clauses.join('\n\n'); // filter(clause => clause.trim().length > 0)
87
87
  const ipaString = await EspeakTTS.textToIPA(preparedText, voice);
88
- const ipaLines = ipaString.split("\n");
88
+ const ipaLines = ipaString.split('\n');
89
89
  const phonemeLines = ipaLines.map(line => {
90
- line = line.replace(/_+/g, "_").replace(/ +/g, " ");
91
- return line.split(" ").map(word => {
92
- word = word.replaceAll("_", " ").trim();
93
- let wordPhonemes = word.split(" ");
90
+ line = line.replace(/_+/g, '_').replace(/ +/g, ' ');
91
+ return line.split(' ').map(word => {
92
+ word = word.replaceAll('_', ' ').trim();
93
+ let wordPhonemes = word.split(' ');
94
94
  wordPhonemes = wordPhonemes.flatMap(phoneme => {
95
- if (!phoneme || phoneme.startsWith("(")) {
95
+ if (!phoneme || phoneme.startsWith('(')) {
96
96
  return [];
97
97
  }
98
- else if (phoneme.startsWith("ˈ") || phoneme.startsWith("ˌ")) {
98
+ else if (phoneme.startsWith('ˈ') || phoneme.startsWith('ˌ')) {
99
99
  return [phoneme[0], phoneme.substring(1)];
100
100
  }
101
- else if (phoneme.endsWith("ˈ") || phoneme.endsWith("ˌ")) {
101
+ else if (phoneme.endsWith('ˈ') || phoneme.endsWith('ˌ')) {
102
102
  return [phoneme.substring(0, phoneme.length - 1), phoneme[phoneme.length - 1]];
103
103
  }
104
104
  else {
@@ -130,7 +130,7 @@ export function phonemizedClausesToSentences(phonemizedClauses) {
130
130
  phonemizedSentences[phonemizedSentences.length - 1].push(...phonemizedClause);
131
131
  const lastWord = phonemizedClause[phonemizedClause.length - 1];
132
132
  const lastPhoneme = lastWord[lastWord.length - 1];
133
- if ([".", "?", "!"].includes(lastPhoneme)) {
133
+ if (['.', '?', '!'].includes(lastPhoneme)) {
134
134
  phonemizedSentences.push([]);
135
135
  }
136
136
  }
package/dist/nlp/IPA.js CHANGED
@@ -1,27 +1,27 @@
1
- import { logToStderr } from "../utilities/Utilities.js";
1
+ import { logToStderr } from '../utilities/Utilities.js';
2
2
  const log = logToStderr;
3
3
  const consonant = {
4
- plosive: ["p", "b", "t", "d", "ʈ", "ɖ", "c", "ɟ", "k", "g", "q", "ɢ", "ʔ", /* extensions */ "ɡ"],
5
- nasal: ["m", "ɱ", "n", "ɳ", "ɲ", "ŋ", "ɴ", "n̩"],
6
- trill: ["ʙ", "r", "ʀ"],
7
- tapOrFlap: ["ⱱ", "ɾ", "ɽ"],
8
- fricative: ["ɸ", "β", "f", "v", "θ", "ð", "s", "z", "ʃ", "ʒ", "ʂ", "ʐ", "ç", "ʝ", "x", "ɣ", "χ", "ʁ", "ħ", "ʕ", "h", "ɦ"],
9
- lateralFricative: ["ɬ", "ɮ"],
10
- affricate: ["tʃ", "ʈʃ", "dʒ"], // very incomplete, there are many others
11
- approximant: ["ʋ", "ɹ", "ɻ", "j", "ɰ", /* extensions */ "w"],
12
- lateralApproximant: ["l", "ɭ", "ʎ", "ʟ"]
4
+ plosive: ['p', 'b', 't', 'd', 'ʈ', 'ɖ', 'c', 'ɟ', 'k', 'g', 'q', 'ɢ', 'ʔ', /* extensions */ 'ɡ'],
5
+ nasal: ['m', 'ɱ', 'n', 'ɳ', 'ɲ', 'ŋ', 'ɴ', 'n̩'],
6
+ trill: ['ʙ', 'r', 'ʀ'],
7
+ tapOrFlap: ['ⱱ', 'ɾ', 'ɽ'],
8
+ fricative: ['ɸ', 'β', 'f', 'v', 'θ', 'ð', 's', 'z', 'ʃ', 'ʒ', 'ʂ', 'ʐ', 'ç', 'ʝ', 'x', 'ɣ', 'χ', 'ʁ', 'ħ', 'ʕ', 'h', 'ɦ'],
9
+ lateralFricative: ['ɬ', 'ɮ'],
10
+ affricate: ['tʃ', 'ʈʃ', 'dʒ'], // very incomplete, there are many others
11
+ approximant: ['ʋ', 'ɹ', 'ɻ', 'j', 'ɰ', /* extensions */ 'w'],
12
+ lateralApproximant: ['l', 'ɭ', 'ʎ', 'ʟ']
13
13
  };
14
14
  const vowel = {
15
- close: ["i", "yɨ", "ʉɯ", "u", "iː"],
16
- closeOther: ["ɪ", "ʏ", "ʊ", "ɨ", "ᵻ"],
17
- closeMid: ["e", "ø", "ɘ", "ɵ", "ɤ", "o", "ə", "oː"],
18
- openMid: ["ɛ", "œ", "ɜ", "ɞ", "ʌ", "ɔ", "ɜː", "uː", "ɔː", "ɛː"],
19
- open: ["æ", "a", "ɶ", "ɐ", "ɑ", "ɒ", "ɑː"],
20
- rhotic: ["◌˞", "ɚ", "ɝ", "ɹ̩"],
15
+ close: ['i', 'yɨ', 'ʉɯ', 'u', 'iː'],
16
+ closeOther: ['ɪ', 'ʏ', 'ʊ', 'ɨ', 'ᵻ'],
17
+ closeMid: ['e', 'ø', 'ɘ', 'ɵ', 'ɤ', 'o', 'ə', 'oː'],
18
+ openMid: ['ɛ', 'œ', 'ɜ', 'ɞ', 'ʌ', 'ɔ', 'ɜː', 'uː', 'ɔː', 'ɛː'],
19
+ open: ['æ', 'a', 'ɶ', 'ɐ', 'ɑ', 'ɒ', 'ɑː'],
20
+ rhotic: ['◌˞', 'ɚ', 'ɝ', 'ɹ̩'],
21
21
  diphtongs: [
22
- "eɪ", "əʊ", "oʊ", "aɪ", "ɔɪ", "aʊ", "iə",
23
- "ɜr", "ɑr", "ɔr", "oʊr", "oːɹ", "ir", "ɪɹ", "ɔːɹ", "ɑːɹ", "ʊɹ", "ʊr", "ɛr", "ɛɹ",
24
- "əl", "aɪɚ", "aɪə"
22
+ 'eɪ', 'əʊ', 'oʊ', 'aɪ', 'ɔɪ', 'aʊ', 'iə',
23
+ 'ɜr', 'ɑr', 'ɔr', 'oʊr', 'oːɹ', 'ir', 'ɪɹ', 'ɔːɹ', 'ɑːɹ', 'ʊɹ', 'ʊr', 'ɛr', 'ɛɹ',
24
+ 'əl', 'aɪɚ', 'aɪə'
25
25
  ],
26
26
  };
27
27
  let consonants = [];
@@ -32,7 +32,7 @@ let vowels = [];
32
32
  for (const p in vowel) {
33
33
  vowels = [...vowels, ...vowel[p]];
34
34
  }
35
- const all = [" ", ...consonants, ...vowels];
35
+ const all = [' ', ...consonants, ...vowels];
36
36
  export function getPhoneSubstitutionCost1(ipa1, ipa2) {
37
37
  if (ipa1 == ipa2) {
38
38
  return 0;
@@ -1,6 +1,6 @@
1
- import path from "path";
2
- import { OpenPromise } from "../utilities/OpenPromise.js";
3
- import { resolveModuleScriptPath } from "../utilities/Utilities.js";
1
+ import path from 'path';
2
+ import { OpenPromise } from '../utilities/OpenPromise.js';
3
+ import { resolveModuleScriptPath } from '../utilities/Utilities.js';
4
4
  export async function splitJapaneseTextToWords_Kuromoji(text) {
5
5
  const tokenizer = await getKuromojiTokenizer();
6
6
  const results = tokenizer.tokenize(text);
@@ -12,10 +12,10 @@ async function getKuromojiTokenizer() {
12
12
  if (kuromojiTokenizer) {
13
13
  return kuromojiTokenizer;
14
14
  }
15
- const { default: kuromoji } = await import("kuromoji");
15
+ const { default: kuromoji } = await import('kuromoji');
16
16
  const resultOpenPromise = new OpenPromise();
17
17
  const kuromojiScriptPath = await resolveModuleScriptPath('kuromoji');
18
- const dictionaryPath = path.join(path.dirname(kuromojiScriptPath), "..", '/dict');
18
+ const dictionaryPath = path.join(path.dirname(kuromojiScriptPath), '..', '/dict');
19
19
  kuromoji.builder({ dicPath: dictionaryPath }).build(function (error, tokenizer) {
20
20
  if (error) {
21
21
  resultOpenPromise.reject(error);
@@ -28,7 +28,7 @@ async function getKuromojiTokenizer() {
28
28
  }
29
29
  /*
30
30
  export async function splitJapaneseTextToWords_Sudachi(text: string, mode: 0 | 1 | 2) {
31
- const { TokenizeMode, tokenize } = await import("sudachi")
31
+ const { TokenizeMode, tokenize } = await import('sudachi')
32
32
 
33
33
  const resultString = tokenize(text, mode)
34
34
 
@@ -21,7 +21,7 @@ export type LexiconEntry = {
21
21
  notSucceededBy?: string[];
22
22
  example?: string;
23
23
  };
24
- export type LexiconWordCase = "any" | "capitalized" | "uppercase" | "lowercase" | "titlecase" | "camelcase" | "pascalcase";
24
+ export type LexiconWordCase = 'any' | 'capitalized' | 'uppercase' | 'lowercase' | 'titlecase' | 'camelcase' | 'pascalcase';
25
25
  export type LexiconPronunciationForLanguageCodes = {
26
26
  [languageCode: string]: string;
27
27
  };
@@ -1,6 +1,6 @@
1
- import { readAndParseJsonFile } from "../utilities/FileSystem.js";
2
- import { getShortLanguageCode } from "../utilities/Locale.js";
3
- import { resolveToModuleRootDir } from "../utilities/PathUtilities.js";
1
+ import { readAndParseJsonFile } from '../utilities/FileSystem.js';
2
+ import { getShortLanguageCode } from '../utilities/Locale.js';
3
+ import { resolveToModuleRootDir } from '../utilities/PathUtilities.js';
4
4
  export function tryGetFirstLexiconSubstitution(sentenceWords, wordIndex, lexicons, languageCode) {
5
5
  const reversedLexicons = [...lexicons].reverse(); // Give precedence to later lexicons
6
6
  for (const lexicon of reversedLexicons) {
@@ -31,8 +31,8 @@ export function tryGetLexiconSubstitution(sentenceWords, wordIndex, lexicon, lan
31
31
  if (!substitutionPhonemesText) {
32
32
  continue;
33
33
  }
34
- const precedingWord = sentenceWords[wordIndex - 1] || "";
35
- const succeedingWord = sentenceWords[wordIndex + 1] || "";
34
+ const precedingWord = sentenceWords[wordIndex - 1] || '';
35
+ const succeedingWord = sentenceWords[wordIndex + 1] || '';
36
36
  const precededBy = substitutionEntry?.precededBy || [];
37
37
  const notPrecededBy = substitutionEntry?.notPrecededBy || [];
38
38
  const succeededBy = substitutionEntry?.succeededBy || [];
@@ -52,8 +52,8 @@ export async function loadLexiconFile(jsonFilePath) {
52
52
  }
53
53
  export async function loadLexiconsForLanguage(language, customLexiconPaths) {
54
54
  const lexicons = [];
55
- if (getShortLanguageCode(language) == "en") {
56
- const heteronymsLexicon = await loadLexiconFile(resolveToModuleRootDir("data/lexicons/heteronyms.en.json"));
55
+ if (getShortLanguageCode(language) == 'en') {
56
+ const heteronymsLexicon = await loadLexiconFile(resolveToModuleRootDir('data/lexicons/heteronyms.en.json'));
57
57
  lexicons.push(heteronymsLexicon);
58
58
  }
59
59
  if (customLexiconPaths && customLexiconPaths.length > 0) {