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,6 +1,6 @@
1
- import { Logger } from "../utilities/Logger.js";
2
- import { getEmptyRawAudio, getRawAudioDuration } from "../audio/AudioUtilities.js";
3
- import { readAndParseJsonFile, readdir } from "../utilities/FileSystem.js";
1
+ import { Logger } from '../utilities/Logger.js';
2
+ import { getEmptyRawAudio, getRawAudioDuration } from '../audio/AudioUtilities.js';
3
+ import { readAndParseJsonFile, readdir } from '../utilities/FileSystem.js';
4
4
  import path from 'node:path';
5
5
  import { defaultEspeakOptions } from '../synthesis/EspeakTTS.js';
6
6
  const cachedInstanceLookup = new Map();
@@ -28,13 +28,13 @@ export class VitsTTS {
28
28
  }
29
29
  async initialize() {
30
30
  const logger = new Logger();
31
- await logger.startAsync("Initialize VITS ONNX synthesis model");
31
+ await logger.startAsync('Initialize VITS ONNX synthesis model');
32
32
  const onnxOptions = {
33
33
  logSeverityLevel: 3
34
34
  };
35
35
  const { default: Onnx } = await import('onnxruntime-node');
36
36
  const filesInModelPath = await readdir(this.modelPath);
37
- const onnxModelFilename = filesInModelPath.find(filename => filename.endsWith(".onnx"));
37
+ const onnxModelFilename = filesInModelPath.find(filename => filename.endsWith('.onnx'));
38
38
  if (!onnxModelFilename) {
39
39
  throw new Error(`Couldn't file any ONNX model file in ${this.modelPath}`);
40
40
  }
@@ -50,9 +50,9 @@ export class VitsTTS {
50
50
  async synthesizeSentence(sentence, lengthScale, speakerId = 0, lexicons) {
51
51
  const logger = new Logger();
52
52
  if (!this.modelSession) {
53
- throw new Error("Model has not been initialized");
53
+ throw new Error('Model has not been initialized');
54
54
  }
55
- await logger.startAsync("Prepare for synthesis");
55
+ await logger.startAsync('Prepare for synthesis');
56
56
  const metadata = this.metadata;
57
57
  const phonemeMap = this.phonemeMap;
58
58
  const espeakVoice = metadata.espeak.voice;
@@ -62,10 +62,10 @@ export class VitsTTS {
62
62
  lengthScale *= baseLengthScale;
63
63
  sentence = //simplifyPunctuationCharacters(sentence.trim())
64
64
  sentence
65
- .replaceAll("(", ", ")
66
- .replaceAll(")", ", ")
67
- .replaceAll("", ", ");
68
- const Espeak = await import("../synthesis/EspeakTTS.js");
65
+ .replaceAll('(', ', ')
66
+ .replaceAll(')', ', ')
67
+ .replaceAll('', ', ');
68
+ const Espeak = await import('../synthesis/EspeakTTS.js');
69
69
  logger.end();
70
70
  const espeakOptions = { ...defaultEspeakOptions, voice: espeakVoice, useKlatt: false };
71
71
  const { referenceSynthesizedAudio, referenceTimeline, fragments, phonemizedFragmentsSubstitutions, phonemizedSentence } = await Espeak.preprocessAndSynthesize(sentence, languageCode, espeakOptions, lexicons);
@@ -78,19 +78,19 @@ export class VitsTTS {
78
78
  referenceTimeline: []
79
79
  };
80
80
  }
81
- await logger.startAsync("Encode phonemes to identifiers");
82
- const clauseEndBreaker = ",";
83
- let sentenceEndBreaker = ".";
84
- if (sentence.endsWith("?") || sentence.endsWith("?\"")) {
85
- sentenceEndBreaker = "?";
81
+ await logger.startAsync('Encode phonemes to identifiers');
82
+ const clauseEndBreaker = ',';
83
+ let sentenceEndBreaker = '.';
84
+ if (sentence.endsWith('?') || sentence.endsWith(`?"`)) {
85
+ sentenceEndBreaker = '?';
86
86
  }
87
- else if (sentence.endsWith("!") || sentence.endsWith("!\"")) {
88
- sentenceEndBreaker = "!";
87
+ else if (sentence.endsWith('!') || sentence.endsWith(`!"`)) {
88
+ sentenceEndBreaker = '!';
89
89
  }
90
- const phonemeCharacterSeparatorId = phonemeMap.get("_");
91
- const wordSeparatorId = phonemeMap.get(" ");
92
- const startId = phonemeMap.get("^");
93
- const endId = phonemeMap.get("$");
90
+ const phonemeCharacterSeparatorId = phonemeMap.get('_');
91
+ const wordSeparatorId = phonemeMap.get(' ');
92
+ const startId = phonemeMap.get('^');
93
+ const endId = phonemeMap.get('$');
94
94
  const clauseEndBreakerId = phonemeMap.get(clauseEndBreaker);
95
95
  const sentenceEndBreakerId = phonemeMap.get(sentenceEndBreaker);
96
96
  const ids = [...startId, ...phonemeCharacterSeparatorId];
@@ -101,7 +101,7 @@ export class VitsTTS {
101
101
  for (const phonemeCharacter of phoneme) {
102
102
  const id = phonemeMap.get(phonemeCharacter);
103
103
  if (id == null) {
104
- //logger.log(`No id found for subphoneme "${char}"`)
104
+ //logger.log(`No id found for subphoneme '${char}'`)
105
105
  continue;
106
106
  }
107
107
  ids.push(...id, ...phonemeCharacterSeparatorId);
@@ -119,7 +119,7 @@ export class VitsTTS {
119
119
  //logger.log(ids)
120
120
  const bigIntIds = new BigInt64Array(ids.map(id => BigInt(id)));
121
121
  const idLengths = new BigInt64Array([BigInt(bigIntIds.length)]);
122
- await logger.startAsync("Generate audio using synthesis model");
122
+ await logger.startAsync('Generate audio using synthesis model');
123
123
  const { default: Onnx } = await import('onnxruntime-node');
124
124
  const inputTensor = new Onnx.Tensor('int64', bigIntIds, [1, bigIntIds.length]);
125
125
  const inputLengthsTensor = new Onnx.Tensor('int64', idLengths, [1]);
@@ -127,11 +127,11 @@ export class VitsTTS {
127
127
  const speakerIdTensor = new Onnx.Tensor('int64', new BigInt64Array([BigInt(speakerId)]), [1]);
128
128
  const modelInputs = { input: inputTensor, input_lengths: inputLengthsTensor, scales: scalesTensor, sid: speakerIdTensor };
129
129
  const modelResults = await this.modelSession.run(modelInputs);
130
- const modelOutput = modelResults["output"];
130
+ const modelOutput = modelResults['output'];
131
131
  const modelOutputAudioSamples = modelOutput['data'];
132
132
  const synthesizedAudio = { audioChannels: [modelOutputAudioSamples], sampleRate: outputSampleRate };
133
- await logger.startAsync("Align with reference synthesized audio");
134
- const { alignUsingDtw } = await import("../alignment/SpeechAlignment.js");
133
+ await logger.startAsync('Align with reference synthesized audio');
134
+ const { alignUsingDtw } = await import('../alignment/SpeechAlignment.js');
135
135
  const referenceWordTimeline = referenceTimeline.flatMap(clause => clause.timeline);
136
136
  const dtwWindowDuration = Math.max(5, Math.ceil(0.2 * getRawAudioDuration(synthesizedAudio)));
137
137
  const mappedTimeline = await alignUsingDtw(synthesizedAudio, referenceSynthesizedAudio, referenceWordTimeline, ['high'], [dtwWindowDuration]);
@@ -141,608 +141,608 @@ export class VitsTTS {
141
141
  }
142
142
  export const voiceList = [
143
143
  {
144
- name: "ar_JO-kareem-low",
145
- languages: ["ar-JO", "ar"],
146
- gender: "male",
144
+ name: 'ar_JO-kareem-low',
145
+ languages: ['ar-JO', 'ar'],
146
+ gender: 'male',
147
147
  },
148
148
  {
149
- name: "ar_JO-kareem-medium",
150
- languages: ["ar-JO", "ar"],
151
- gender: "male",
149
+ name: 'ar_JO-kareem-medium',
150
+ languages: ['ar-JO', 'ar'],
151
+ gender: 'male',
152
152
  },
153
153
  {
154
- name: "ca_ES-upc_ona-x_low",
155
- languages: ["ca-ES", "ca"],
156
- gender: "female",
154
+ name: 'ca_ES-upc_ona-x_low',
155
+ languages: ['ca-ES', 'ca'],
156
+ gender: 'female',
157
157
  },
158
158
  {
159
- name: "ca_ES-upc_ona-medium",
160
- languages: ["ca-ES", "ca"],
161
- gender: "female",
159
+ name: 'ca_ES-upc_ona-medium',
160
+ languages: ['ca-ES', 'ca'],
161
+ gender: 'female',
162
162
  },
163
163
  {
164
- name: "ca_ES-upc_pau-x_low",
165
- languages: ["ca-ES", "ca"],
166
- gender: "male",
164
+ name: 'ca_ES-upc_pau-x_low',
165
+ languages: ['ca-ES', 'ca'],
166
+ gender: 'male',
167
167
  },
168
168
  {
169
- name: "cs_CZ-jirka-low",
170
- languages: ["cs-CZ", "cs"],
171
- gender: "male",
169
+ name: 'cs_CZ-jirka-low',
170
+ languages: ['cs-CZ', 'cs'],
171
+ gender: 'male',
172
172
  },
173
173
  {
174
- name: "cs_CZ-jirka-medium",
175
- languages: ["cs-CZ", "cs"],
176
- gender: "male",
174
+ name: 'cs_CZ-jirka-medium',
175
+ languages: ['cs-CZ', 'cs'],
176
+ gender: 'male',
177
177
  },
178
178
  {
179
- name: "da_DK-nst_talesyntese-medium",
180
- languages: ["da-DK", "da"],
181
- gender: "male",
179
+ name: 'da_DK-nst_talesyntese-medium',
180
+ languages: ['da-DK', 'da'],
181
+ gender: 'male',
182
182
  },
183
183
  {
184
- name: "de_DE-thorsten-low",
185
- languages: ["de-DE", "de"],
186
- gender: "male",
184
+ name: 'de_DE-thorsten-low',
185
+ languages: ['de-DE', 'de'],
186
+ gender: 'male',
187
187
  },
188
188
  {
189
- name: "de_DE-thorsten-medium",
190
- languages: ["de-DE", "de"],
191
- gender: "male",
189
+ name: 'de_DE-thorsten-medium',
190
+ languages: ['de-DE', 'de'],
191
+ gender: 'male',
192
192
  },
193
193
  {
194
- name: "de_DE-thorsten_emotional-medium",
195
- languages: ["de-DE", "de"],
196
- gender: "male",
194
+ name: 'de_DE-thorsten_emotional-medium',
195
+ languages: ['de-DE', 'de'],
196
+ gender: 'male',
197
197
  speakerCount: 8
198
198
  },
199
199
  {
200
- name: "de_DE-thorsten-high",
201
- languages: ["de-DE", "de"],
202
- gender: "male",
200
+ name: 'de_DE-thorsten-high',
201
+ languages: ['de-DE', 'de'],
202
+ gender: 'male',
203
203
  },
204
204
  {
205
- name: "de_DE-eva_k-x_low",
206
- languages: ["de-DE", "de"],
207
- gender: "female",
205
+ name: 'de_DE-eva_k-x_low',
206
+ languages: ['de-DE', 'de'],
207
+ gender: 'female',
208
208
  },
209
209
  {
210
- name: "de_DE-ramona-low",
211
- languages: ["de-DE", "de"],
212
- gender: "female",
210
+ name: 'de_DE-ramona-low',
211
+ languages: ['de-DE', 'de'],
212
+ gender: 'female',
213
213
  },
214
214
  {
215
- name: "de_DE-pavoque-low",
216
- languages: ["de-DE", "de"],
217
- gender: "male",
215
+ name: 'de_DE-pavoque-low',
216
+ languages: ['de-DE', 'de'],
217
+ gender: 'male',
218
218
  },
219
219
  {
220
- name: "de_DE-kerstin-low",
221
- languages: ["de-DE", "de"],
222
- gender: "female",
220
+ name: 'de_DE-kerstin-low',
221
+ languages: ['de-DE', 'de'],
222
+ gender: 'female',
223
223
  },
224
224
  {
225
- name: "de_DE-karlsson-low",
226
- languages: ["de-DE", "de"],
227
- gender: "male",
225
+ name: 'de_DE-karlsson-low',
226
+ languages: ['de-DE', 'de'],
227
+ gender: 'male',
228
228
  },
229
229
  {
230
- name: "de_DE-mls-medium",
231
- languages: ["de-DE", "de"],
232
- gender: "unknown",
230
+ name: 'de_DE-mls-medium',
231
+ languages: ['de-DE', 'de'],
232
+ gender: 'unknown',
233
233
  speakerCount: 236
234
234
  },
235
235
  {
236
- name: "el_GR-rapunzelina-low",
237
- languages: ["el-GR", "el"],
238
- gender: "female",
236
+ name: 'el_GR-rapunzelina-low',
237
+ languages: ['el-GR', 'el'],
238
+ gender: 'female',
239
239
  },
240
240
  {
241
- name: "en_GB-alan-low",
242
- languages: ["en-GB", "en"],
243
- gender: "male",
241
+ name: 'en_GB-alan-low',
242
+ languages: ['en-GB', 'en'],
243
+ gender: 'male',
244
244
  },
245
245
  {
246
- name: "en_GB-alan-medium",
247
- languages: ["en-GB", "en"],
248
- gender: "male",
246
+ name: 'en_GB-alan-medium',
247
+ languages: ['en-GB', 'en'],
248
+ gender: 'male',
249
249
  },
250
250
  {
251
- name: "en_GB-semaine-medium",
252
- languages: ["en-GB", "en"],
253
- gender: "unknown",
251
+ name: 'en_GB-semaine-medium',
252
+ languages: ['en-GB', 'en'],
253
+ gender: 'unknown',
254
254
  speakerCount: 4
255
255
  },
256
256
  {
257
- name: "en_GB-danny-low",
258
- languages: ["en-GB", "en"],
259
- gender: "male",
257
+ name: 'en_GB-danny-low',
258
+ languages: ['en-GB', 'en'],
259
+ gender: 'male',
260
260
  },
261
261
  {
262
- name: "en_GB-alba-medium",
263
- languages: ["en-GB", "en"],
264
- gender: "female",
262
+ name: 'en_GB-alba-medium',
263
+ languages: ['en-GB', 'en'],
264
+ gender: 'female',
265
265
  },
266
266
  {
267
- name: "en_GB-aru-medium",
268
- languages: ["en-GB", "en"],
269
- gender: "unknown",
267
+ name: 'en_GB-aru-medium',
268
+ languages: ['en-GB', 'en'],
269
+ gender: 'unknown',
270
270
  speakerCount: 12,
271
271
  },
272
272
  {
273
- name: "en_GB-southern_english_female-low",
274
- languages: ["en-GB", "en"],
275
- gender: "female",
273
+ name: 'en_GB-southern_english_female-low',
274
+ languages: ['en-GB', 'en'],
275
+ gender: 'female',
276
276
  },
277
277
  {
278
- name: "en_GB-northern_english_male-medium",
279
- languages: ["en-GB", "en"],
280
- gender: "male",
278
+ name: 'en_GB-northern_english_male-medium',
279
+ languages: ['en-GB', 'en'],
280
+ gender: 'male',
281
281
  },
282
282
  {
283
- name: "en_GB-vctk-medium",
284
- languages: ["en-GB", "en"],
285
- gender: "unknown",
283
+ name: 'en_GB-vctk-medium',
284
+ languages: ['en-GB', 'en'],
285
+ gender: 'unknown',
286
286
  speakerCount: 109,
287
287
  },
288
288
  {
289
- name: "en_GB-jenny_dioco-medium",
290
- languages: ["en-GB", "en"],
291
- gender: "female",
289
+ name: 'en_GB-jenny_dioco-medium',
290
+ languages: ['en-GB', 'en'],
291
+ gender: 'female',
292
292
  },
293
293
  {
294
- name: "en_GB-cori-high",
295
- languages: ["en-GB", "en"],
296
- gender: "female",
294
+ name: 'en_GB-cori-high',
295
+ languages: ['en-GB', 'en'],
296
+ gender: 'female',
297
297
  },
298
298
  {
299
- name: "en_US-amy-low",
300
- languages: ["en-US", "en"],
301
- gender: "female",
299
+ name: 'en_US-amy-low',
300
+ languages: ['en-US', 'en'],
301
+ gender: 'female',
302
302
  },
303
303
  {
304
- name: "en_US-amy-medium",
305
- languages: ["en-US", "en"],
306
- gender: "female",
304
+ name: 'en_US-amy-medium',
305
+ languages: ['en-US', 'en'],
306
+ gender: 'female',
307
307
  },
308
308
  {
309
- name: "en_US-kathleen-low",
310
- languages: ["en-US", "en"],
311
- gender: "female",
309
+ name: 'en_US-kathleen-low',
310
+ languages: ['en-US', 'en'],
311
+ gender: 'female',
312
312
  },
313
313
  {
314
- name: "en_US-lessac-low",
315
- languages: ["en-US", "en"],
316
- gender: "female",
314
+ name: 'en_US-lessac-low',
315
+ languages: ['en-US', 'en'],
316
+ gender: 'female',
317
317
  },
318
318
  {
319
- name: "en_US-lessac-medium",
320
- languages: ["en-US", "en"],
321
- gender: "female",
319
+ name: 'en_US-lessac-medium',
320
+ languages: ['en-US', 'en'],
321
+ gender: 'female',
322
322
  },
323
323
  {
324
- name: "en_US-lessac-high",
325
- languages: ["en-US", "en"],
326
- gender: "female",
324
+ name: 'en_US-lessac-high',
325
+ languages: ['en-US', 'en'],
326
+ gender: 'female',
327
327
  },
328
328
  {
329
- name: "en_US-libritts-high",
330
- languages: ["en-US", "en"],
331
- gender: "unknown",
329
+ name: 'en_US-libritts-high',
330
+ languages: ['en-US', 'en'],
331
+ gender: 'unknown',
332
332
  speakerCount: 904,
333
333
  },
334
334
  {
335
- name: "en_US-libritts_r-medium",
336
- languages: ["en-US", "en"],
337
- gender: "unknown",
335
+ name: 'en_US-libritts_r-medium',
336
+ languages: ['en-US', 'en'],
337
+ gender: 'unknown',
338
338
  speakerCount: 904,
339
339
  },
340
340
  {
341
- name: "en_US-ryan-low",
342
- languages: ["en-US", "en"],
343
- gender: "male",
341
+ name: 'en_US-ryan-low',
342
+ languages: ['en-US', 'en'],
343
+ gender: 'male',
344
344
  },
345
345
  {
346
- name: "en_US-ryan-medium",
347
- languages: ["en-US", "en"],
348
- gender: "male",
346
+ name: 'en_US-ryan-medium',
347
+ languages: ['en-US', 'en'],
348
+ gender: 'male',
349
349
  },
350
350
  {
351
- name: "en_US-ryan-high",
352
- languages: ["en-US", "en"],
353
- gender: "male",
351
+ name: 'en_US-ryan-high',
352
+ languages: ['en-US', 'en'],
353
+ gender: 'male',
354
354
  },
355
355
  {
356
- name: "en_US-joe-medium",
357
- languages: ["en-US", "en"],
358
- gender: "male",
356
+ name: 'en_US-joe-medium',
357
+ languages: ['en-US', 'en'],
358
+ gender: 'male',
359
359
  },
360
360
  {
361
- name: "en_US-kusal-medium",
362
- languages: ["en-US", "en"],
363
- gender: "male",
361
+ name: 'en_US-kusal-medium',
362
+ languages: ['en-US', 'en'],
363
+ gender: 'male',
364
364
  },
365
365
  {
366
- name: "en_US-arctic-medium",
367
- languages: ["en-US", "en"],
368
- gender: "unknown",
366
+ name: 'en_US-arctic-medium',
367
+ languages: ['en-US', 'en'],
368
+ gender: 'unknown',
369
369
  speakerCount: 18
370
370
  },
371
371
  {
372
- name: "en_US-l2arctic-medium",
373
- languages: ["en-US", "en"],
374
- gender: "unknown",
372
+ name: 'en_US-l2arctic-medium',
373
+ languages: ['en-US', 'en'],
374
+ gender: 'unknown',
375
375
  speakerCount: 24
376
376
  },
377
377
  {
378
- name: "en_US-hfc_male-medium",
379
- languages: ["en-US", "en"],
380
- gender: "male",
378
+ name: 'en_US-hfc_male-medium',
379
+ languages: ['en-US', 'en'],
380
+ gender: 'male',
381
381
  },
382
382
  {
383
- name: "en_US-hfc_female-medium",
384
- languages: ["en-US", "en"],
385
- gender: "female",
383
+ name: 'en_US-hfc_female-medium',
384
+ languages: ['en-US', 'en'],
385
+ gender: 'female',
386
386
  },
387
387
  {
388
- name: "en_US-kristin-medium",
389
- languages: ["en-US", "en"],
390
- gender: "female",
388
+ name: 'en_US-kristin-medium',
389
+ languages: ['en-US', 'en'],
390
+ gender: 'female',
391
391
  },
392
392
  {
393
- name: "en_US-ljspeech-high",
394
- languages: ["en-US", "en"],
395
- gender: "female",
393
+ name: 'en_US-ljspeech-high',
394
+ languages: ['en-US', 'en'],
395
+ gender: 'female',
396
396
  },
397
397
  {
398
- name: "en_US-ljspeech-medium",
399
- languages: ["en-US", "en"],
400
- gender: "female",
398
+ name: 'en_US-ljspeech-medium',
399
+ languages: ['en-US', 'en'],
400
+ gender: 'female',
401
401
  },
402
402
  {
403
- name: "es_ES-carlfm-x_low",
404
- languages: ["es-ES", "es"],
405
- gender: "male",
403
+ name: 'es_ES-carlfm-x_low',
404
+ languages: ['es-ES', 'es'],
405
+ gender: 'male',
406
406
  },
407
407
  {
408
- name: "es_ES-sharvard-medium",
409
- languages: ["es-ES", "es"],
410
- gender: "unknown",
408
+ name: 'es_ES-sharvard-medium',
409
+ languages: ['es-ES', 'es'],
410
+ gender: 'unknown',
411
411
  speakerCount: 2
412
412
  },
413
413
  {
414
- name: "es_ES-davefx-medium",
415
- languages: ["es-ES", "es"],
416
- gender: "male",
414
+ name: 'es_ES-davefx-medium',
415
+ languages: ['es-ES', 'es'],
416
+ gender: 'male',
417
417
  },
418
418
  {
419
- name: "es_ES-mls_9972-low",
420
- languages: ["es-ES", "es"],
421
- gender: "male",
419
+ name: 'es_ES-mls_9972-low',
420
+ languages: ['es-ES', 'es'],
421
+ gender: 'male',
422
422
  },
423
423
  {
424
- name: "es_ES-mls_10246-low",
425
- languages: ["es-ES", "es"],
426
- gender: "male",
424
+ name: 'es_ES-mls_10246-low',
425
+ languages: ['es-ES', 'es'],
426
+ gender: 'male',
427
427
  },
428
428
  {
429
- name: "es_MX-ald-medium",
430
- languages: ["es-MX", "es"],
431
- gender: "male",
429
+ name: 'es_MX-ald-medium',
430
+ languages: ['es-MX', 'es'],
431
+ gender: 'male',
432
432
  },
433
433
  {
434
- name: "es_MX-claude-high",
435
- languages: ["es-MX", "es"],
436
- gender: "female",
434
+ name: 'es_MX-claude-high',
435
+ languages: ['es-MX', 'es'],
436
+ gender: 'female',
437
437
  },
438
438
  {
439
- name: "fa_IR-amir-medium",
440
- languages: ["fa_IR", "fa"],
441
- gender: "male",
439
+ name: 'fa_IR-amir-medium',
440
+ languages: ['fa_IR', 'fa'],
441
+ gender: 'male',
442
442
  },
443
443
  {
444
- name: "fa_IR-gyro-medium",
445
- languages: ["fa_IR", "fa"],
446
- gender: "male",
444
+ name: 'fa_IR-gyro-medium',
445
+ languages: ['fa_IR', 'fa'],
446
+ gender: 'male',
447
447
  },
448
448
  {
449
- name: "fi_FI-harri-low",
450
- languages: ["fi-FI", "fi"],
451
- gender: "female",
449
+ name: 'fi_FI-harri-low',
450
+ languages: ['fi-FI', 'fi'],
451
+ gender: 'female',
452
452
  },
453
453
  {
454
- name: "fi_FI-harri-medium",
455
- languages: ["fi-FI", "fi"],
456
- gender: "female",
454
+ name: 'fi_FI-harri-medium',
455
+ languages: ['fi-FI', 'fi'],
456
+ gender: 'female',
457
457
  },
458
458
  {
459
- name: "fr_FR-siwis-low",
460
- languages: ["fr-FR", "fr"],
461
- gender: "female",
459
+ name: 'fr_FR-siwis-low',
460
+ languages: ['fr-FR', 'fr'],
461
+ gender: 'female',
462
462
  },
463
463
  {
464
- name: "fr_FR-siwis-medium",
465
- languages: ["fr-FR", "fr"],
466
- gender: "female",
464
+ name: 'fr_FR-siwis-medium',
465
+ languages: ['fr-FR', 'fr'],
466
+ gender: 'female',
467
467
  },
468
468
  {
469
- name: "fr_FR-mls_1840-low",
470
- languages: ["fr-FR", "fr"],
471
- gender: "male",
469
+ name: 'fr_FR-mls_1840-low',
470
+ languages: ['fr-FR', 'fr'],
471
+ gender: 'male',
472
472
  },
473
473
  {
474
- name: "fr_FR-gilles-low",
475
- languages: ["fr-FR", "fr"],
476
- gender: "male",
474
+ name: 'fr_FR-gilles-low',
475
+ languages: ['fr-FR', 'fr'],
476
+ gender: 'male',
477
477
  },
478
478
  {
479
- name: "fr_FR-upmc-medium",
480
- languages: ["fr-FR", "fr"],
481
- gender: "unknown",
479
+ name: 'fr_FR-upmc-medium',
480
+ languages: ['fr-FR', 'fr'],
481
+ gender: 'unknown',
482
482
  speakerCount: 2
483
483
  },
484
484
  {
485
- name: "fr_FR-mls-medium",
486
- languages: ["fr-FR", "fr"],
487
- gender: "unknown",
485
+ name: 'fr_FR-mls-medium',
486
+ languages: ['fr-FR', 'fr'],
487
+ gender: 'unknown',
488
488
  speakerCount: 125
489
489
  },
490
490
  {
491
- name: "fr_FR-tom-medium",
492
- languages: ["fr-FR", "fr"],
493
- gender: "male",
491
+ name: 'fr_FR-tom-medium',
492
+ languages: ['fr-FR', 'fr'],
493
+ gender: 'male',
494
494
  },
495
495
  {
496
- name: "hu_HU-anna-medium",
497
- languages: ["hu-HU", "hu"],
498
- gender: "female",
496
+ name: 'hu_HU-anna-medium',
497
+ languages: ['hu-HU', 'hu'],
498
+ gender: 'female',
499
499
  },
500
500
  {
501
- name: "hu_HU-imre-medium",
502
- languages: ["hu-HU", "hu"],
503
- gender: "male",
501
+ name: 'hu_HU-imre-medium',
502
+ languages: ['hu-HU', 'hu'],
503
+ gender: 'male',
504
504
  },
505
505
  {
506
- name: "is_IS-ugla-medium",
507
- languages: ["is-IS", "is"],
508
- gender: "female",
506
+ name: 'is_IS-ugla-medium',
507
+ languages: ['is-IS', 'is'],
508
+ gender: 'female',
509
509
  },
510
510
  {
511
- name: "is_IS-steinn-medium",
512
- languages: ["is-IS", "is"],
513
- gender: "male",
511
+ name: 'is_IS-steinn-medium',
512
+ languages: ['is-IS', 'is'],
513
+ gender: 'male',
514
514
  },
515
515
  {
516
- name: "is_IS-salka-medium",
517
- languages: ["is-IS", "is"],
518
- gender: "female",
516
+ name: 'is_IS-salka-medium',
517
+ languages: ['is-IS', 'is'],
518
+ gender: 'female',
519
519
  },
520
520
  {
521
- name: "is_IS-bui-medium",
522
- languages: ["is-IS", "is"],
523
- gender: "male",
521
+ name: 'is_IS-bui-medium',
522
+ languages: ['is-IS', 'is'],
523
+ gender: 'male',
524
524
  },
525
525
  {
526
- name: "it_IT-riccardo-x_low",
527
- languages: ["it-IT", "it"],
528
- gender: "male",
526
+ name: 'it_IT-riccardo-x_low',
527
+ languages: ['it-IT', 'it'],
528
+ gender: 'male',
529
529
  },
530
530
  {
531
- name: "ka_GE-natia-medium",
532
- languages: ["ka-GE", "ka"],
533
- gender: "female",
531
+ name: 'ka_GE-natia-medium',
532
+ languages: ['ka-GE', 'ka'],
533
+ gender: 'female',
534
534
  },
535
535
  {
536
- name: "kk_KZ-iseke-x_low",
537
- languages: ["kk-KZ", "kk"],
538
- gender: "male",
536
+ name: 'kk_KZ-iseke-x_low',
537
+ languages: ['kk-KZ', 'kk'],
538
+ gender: 'male',
539
539
  },
540
540
  {
541
- name: "kk_KZ-raya-x_low",
542
- languages: ["kk-KZ", "kk"],
543
- gender: "male",
541
+ name: 'kk_KZ-raya-x_low',
542
+ languages: ['kk-KZ', 'kk'],
543
+ gender: 'male',
544
544
  },
545
545
  {
546
- name: "kk_KZ-issai-high",
547
- languages: ["kk-KZ", "kk"],
548
- gender: "unknown",
546
+ name: 'kk_KZ-issai-high',
547
+ languages: ['kk-KZ', 'kk'],
548
+ gender: 'unknown',
549
549
  speakerCount: 6,
550
550
  },
551
551
  {
552
- name: "lb_LU-marylux-medium",
553
- languages: ["lb-LU", "lb"],
554
- gender: "female",
552
+ name: 'lb_LU-marylux-medium',
553
+ languages: ['lb-LU', 'lb'],
554
+ gender: 'female',
555
555
  },
556
556
  {
557
- name: "ne_NP-google-medium",
558
- languages: ["ne-NP", "ne"],
559
- gender: "female",
557
+ name: 'ne_NP-google-medium',
558
+ languages: ['ne-NP', 'ne'],
559
+ gender: 'female',
560
560
  speakerCount: 18,
561
561
  },
562
562
  {
563
- name: "ne_NP-google-x_low",
564
- languages: ["ne-NP", "ne"],
565
- gender: "female",
563
+ name: 'ne_NP-google-x_low',
564
+ languages: ['ne-NP', 'ne'],
565
+ gender: 'female',
566
566
  speakerCount: 18,
567
567
  },
568
568
  {
569
- name: "nl_NL-mls_5809-low",
570
- languages: ["nl-NL", "nl"],
571
- gender: "female",
569
+ name: 'nl_NL-mls_5809-low',
570
+ languages: ['nl-NL', 'nl'],
571
+ gender: 'female',
572
572
  },
573
573
  {
574
- name: "nl_NL-mls_7432-low",
575
- languages: ["nl-NL", "nl"],
576
- gender: "female",
574
+ name: 'nl_NL-mls_7432-low',
575
+ languages: ['nl-NL', 'nl'],
576
+ gender: 'female',
577
577
  },
578
578
  {
579
- name: "nl_NL-mls-medium",
580
- languages: ["nl-NL", "nl"],
581
- gender: "unknown",
579
+ name: 'nl_NL-mls-medium',
580
+ languages: ['nl-NL', 'nl'],
581
+ gender: 'unknown',
582
582
  speakerCount: 52,
583
583
  },
584
584
  {
585
- name: "nl_BE-nathalie-x_low",
586
- languages: ["nl-BE", "nl"],
587
- gender: "female",
585
+ name: 'nl_BE-nathalie-x_low',
586
+ languages: ['nl-BE', 'nl'],
587
+ gender: 'female',
588
588
  },
589
589
  {
590
- name: "nl_BE-nathalie-medium",
591
- languages: ["nl-BE", "nl"],
592
- gender: "female",
590
+ name: 'nl_BE-nathalie-medium',
591
+ languages: ['nl-BE', 'nl'],
592
+ gender: 'female',
593
593
  },
594
594
  {
595
- name: "nl_BE-rdh-medium",
596
- languages: ["nl-BE", "nl"],
597
- gender: "male",
595
+ name: 'nl_BE-rdh-medium',
596
+ languages: ['nl-BE', 'nl'],
597
+ gender: 'male',
598
598
  },
599
599
  {
600
- name: "nl_BE-rdh-x_low",
601
- languages: ["nl-BE", "nl"],
602
- gender: "male",
600
+ name: 'nl_BE-rdh-x_low',
601
+ languages: ['nl-BE', 'nl'],
602
+ gender: 'male',
603
603
  },
604
604
  {
605
- name: "no_NO-talesyntese-medium",
606
- languages: ["no-NO", "no"],
607
- gender: "male",
605
+ name: 'no_NO-talesyntese-medium',
606
+ languages: ['no-NO', 'no'],
607
+ gender: 'male',
608
608
  },
609
609
  {
610
- name: "pl_PL-mls_6892-low",
611
- languages: ["pl-PL", "pl"],
612
- gender: "male",
610
+ name: 'pl_PL-mls_6892-low',
611
+ languages: ['pl-PL', 'pl'],
612
+ gender: 'male',
613
613
  },
614
614
  {
615
- name: "pl_PL-darkman-medium",
616
- languages: ["pl-PL", "pl"],
617
- gender: "male",
615
+ name: 'pl_PL-darkman-medium',
616
+ languages: ['pl-PL', 'pl'],
617
+ gender: 'male',
618
618
  },
619
619
  {
620
- name: "pl_PL-gosia-medium",
621
- languages: ["pl-PL", "pl"],
622
- gender: "female",
620
+ name: 'pl_PL-gosia-medium',
621
+ languages: ['pl-PL', 'pl'],
622
+ gender: 'female',
623
623
  },
624
624
  {
625
- name: "pl_PL-mc_speech-medium",
626
- languages: ["pl-PL", "pl"],
627
- gender: "male",
625
+ name: 'pl_PL-mc_speech-medium',
626
+ languages: ['pl-PL', 'pl'],
627
+ gender: 'male',
628
628
  },
629
629
  {
630
- name: "pt_BR-edresson-low",
631
- languages: ["pt-BR", "pt"],
632
- gender: "male",
630
+ name: 'pt_BR-edresson-low',
631
+ languages: ['pt-BR', 'pt'],
632
+ gender: 'male',
633
633
  },
634
634
  {
635
- name: "pt_BR-faber-medium",
636
- languages: ["pt-BR", "pt"],
637
- gender: "male",
635
+ name: 'pt_BR-faber-medium',
636
+ languages: ['pt-BR', 'pt'],
637
+ gender: 'male',
638
638
  },
639
639
  {
640
- name: "pt_PT-tugao-medium",
641
- languages: ["pt-PT", "pt"],
642
- gender: "male",
640
+ name: 'pt_PT-tugao-medium',
641
+ languages: ['pt-PT', 'pt'],
642
+ gender: 'male',
643
643
  },
644
644
  {
645
- name: "ro_RO-mihai-medium",
646
- languages: ["ro-RO", "ro"],
647
- gender: "male",
645
+ name: 'ro_RO-mihai-medium',
646
+ languages: ['ro-RO', 'ro'],
647
+ gender: 'male',
648
648
  },
649
649
  {
650
- name: "ru_RU-ruslan-medium",
651
- languages: ["ru-RU", "ru"],
652
- gender: "male",
650
+ name: 'ru_RU-ruslan-medium',
651
+ languages: ['ru-RU', 'ru'],
652
+ gender: 'male',
653
653
  },
654
654
  {
655
- name: "ru_RU-irinia-medium",
656
- languages: ["ru-RU", "ru"],
657
- gender: "female",
655
+ name: 'ru_RU-irinia-medium',
656
+ languages: ['ru-RU', 'ru'],
657
+ gender: 'female',
658
658
  },
659
659
  {
660
- name: "ru_RU-denis-medium",
661
- languages: ["ru-RU", "ru"],
662
- gender: "male",
660
+ name: 'ru_RU-denis-medium',
661
+ languages: ['ru-RU', 'ru'],
662
+ gender: 'male',
663
663
  },
664
664
  {
665
- name: "ru_RU-dmitri-medium",
666
- languages: ["ru-RU", "ru"],
667
- gender: "male",
665
+ name: 'ru_RU-dmitri-medium',
666
+ languages: ['ru-RU', 'ru'],
667
+ gender: 'male',
668
668
  },
669
669
  {
670
- name: "sk_SK-lili-medium",
671
- languages: ["sk-SK", "sk"],
672
- gender: "female",
670
+ name: 'sk_SK-lili-medium',
671
+ languages: ['sk-SK', 'sk'],
672
+ gender: 'female',
673
673
  },
674
674
  {
675
- name: "sl_SI-artur-medium",
676
- languages: ["sl_SI", "sl"],
677
- gender: "male",
675
+ name: 'sl_SI-artur-medium',
676
+ languages: ['sl_SI', 'sl'],
677
+ gender: 'male',
678
678
  },
679
679
  {
680
- name: "sr_RS-serbski_institut-medium",
681
- languages: ["sr-RS", "sr"],
682
- gender: "male",
680
+ name: 'sr_RS-serbski_institut-medium',
681
+ languages: ['sr-RS', 'sr'],
682
+ gender: 'male',
683
683
  speakerCount: 2
684
684
  },
685
685
  {
686
- name: "sv_SE-nst-medium",
687
- languages: ["sv-SE", "sv"],
688
- gender: "male",
686
+ name: 'sv_SE-nst-medium',
687
+ languages: ['sv-SE', 'sv'],
688
+ gender: 'male',
689
689
  },
690
690
  {
691
- name: "sw_CD-lanfrica-medium",
692
- languages: ["sw-CD", "sw"],
693
- gender: "male",
691
+ name: 'sw_CD-lanfrica-medium',
692
+ languages: ['sw-CD', 'sw'],
693
+ gender: 'male',
694
694
  },
695
695
  {
696
- name: "tr_TR-dfki-medium",
697
- languages: ["tr-TR", "tr"],
698
- gender: "male",
696
+ name: 'tr_TR-dfki-medium',
697
+ languages: ['tr-TR', 'tr'],
698
+ gender: 'male',
699
699
  },
700
700
  {
701
- name: "tr_TR-fahrettin-medium",
702
- languages: ["tr-TR", "tr"],
703
- gender: "male",
701
+ name: 'tr_TR-fahrettin-medium',
702
+ languages: ['tr-TR', 'tr'],
703
+ gender: 'male',
704
704
  },
705
705
  {
706
- name: "tr_TR-fettah-medium",
707
- languages: ["tr-TR", "tr"],
708
- gender: "male",
706
+ name: 'tr_TR-fettah-medium',
707
+ languages: ['tr-TR', 'tr'],
708
+ gender: 'male',
709
709
  },
710
710
  {
711
- name: "uk_UA-lada-x_low",
712
- languages: ["uk-UA", "uk"],
713
- gender: "female",
711
+ name: 'uk_UA-lada-x_low',
712
+ languages: ['uk-UA', 'uk'],
713
+ gender: 'female',
714
714
  },
715
715
  {
716
- name: "uk_UA-ukrainian_tts-medium",
717
- languages: ["uk-UA", "uk"],
718
- gender: "unknown",
716
+ name: 'uk_UA-ukrainian_tts-medium',
717
+ languages: ['uk-UA', 'uk'],
718
+ gender: 'unknown',
719
719
  speakerCount: 3,
720
720
  },
721
721
  {
722
- name: "vi_VN-vivos-x_low",
723
- languages: ["vi-VN", "vi"],
724
- gender: "unknown",
722
+ name: 'vi_VN-vivos-x_low',
723
+ languages: ['vi-VN', 'vi'],
724
+ gender: 'unknown',
725
725
  speakerCount: 65,
726
726
  },
727
727
  {
728
- name: "vi_VN-25hours-single-low",
729
- languages: ["vi-VN", "vi"],
730
- gender: "female",
728
+ name: 'vi_VN-25hours-single-low',
729
+ languages: ['vi-VN', 'vi'],
730
+ gender: 'female',
731
731
  },
732
732
  {
733
- name: "vi_VN-vais1000-medium",
734
- languages: ["vi-VN", "vi"],
735
- gender: "female",
733
+ name: 'vi_VN-vais1000-medium',
734
+ languages: ['vi-VN', 'vi'],
735
+ gender: 'female',
736
736
  },
737
737
  {
738
- name: "zh_CN-huayan-x_low",
739
- languages: ["zh-CN", "zh"],
740
- gender: "female",
738
+ name: 'zh_CN-huayan-x_low',
739
+ languages: ['zh-CN', 'zh'],
740
+ gender: 'female',
741
741
  },
742
742
  {
743
- name: "zh_CN-huayan-medium",
744
- languages: ["zh-CN", "zh"],
745
- gender: "female",
743
+ name: 'zh_CN-huayan-medium',
744
+ languages: ['zh-CN', 'zh'],
745
+ gender: 'female',
746
746
  },
747
747
  ];
748
748
  //# sourceMappingURL=VitsTTS.js.map