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,14 +1,14 @@
1
- import * as FFMpegTranscoder from "../codecs/FFMpegTranscoder.js";
2
- import { SampleFormat, encodeWave, decodeWave } from "../codecs/WaveCodec.js";
3
- import { resampleAudioSpeex } from "../dsp/SpeexResampler.js";
1
+ import * as FFMpegTranscoder from '../codecs/FFMpegTranscoder.js';
2
+ import { SampleFormat, encodeWave, decodeWave } from '../codecs/WaveCodec.js';
3
+ import { resampleAudioSpeex } from '../dsp/SpeexResampler.js';
4
4
  import { concatFloat32Arrays } from '../utilities/Utilities.js';
5
5
  ////////////////////////////////////////////////////////////////////////////////////////////////
6
6
  // Wave encoding and decoding
7
7
  ////////////////////////////////////////////////////////////////////////////////////////////////
8
- export function encodeWaveBuffer(rawAudio, bitDepth = 16, sampleFormat = SampleFormat.PCM, speakerPositionMask = 0) {
8
+ export function encodeRawAudioToWave(rawAudio, bitDepth = 16, sampleFormat = SampleFormat.PCM, speakerPositionMask = 0) {
9
9
  return encodeWave(rawAudio, bitDepth, sampleFormat, speakerPositionMask);
10
10
  }
11
- export function decodeWaveBuffer(waveFileBuffer, ignoreTruncatedChunks = false) {
11
+ export function decodeWaveToRawAudio(waveFileBuffer, ignoreTruncatedChunks = false) {
12
12
  return decodeWave(waveFileBuffer, ignoreTruncatedChunks);
13
13
  }
14
14
  ////////////////////////////////////////////////////////////////////////////////////////////////
@@ -23,6 +23,9 @@ export function trimAudioStart(audioSamples, targetStartSilentSampleCount = 0, a
23
23
  return trimmedAudioSamples;
24
24
  }
25
25
  export function trimAudioEnd(audioSamples, targetEndSilentSampleCount = 0, amplitudeThresholdDecibels = defaultSilenceThresholdDecibels) {
26
+ if (audioSamples.length === 0) {
27
+ return new Float32Array(0);
28
+ }
26
29
  const silentSampleCount = getEndingSilentSampleCount(audioSamples, amplitudeThresholdDecibels);
27
30
  const trimmedAudio = audioSamples.subarray(0, audioSamples.length - silentSampleCount);
28
31
  const restoredSilence = new Float32Array(targetEndSilentSampleCount);
@@ -54,16 +57,19 @@ export function getEndingSilentSampleCount(audioSamples, amplitudeThresholdDecib
54
57
  ////////////////////////////////////////////////////////////////////////////////////////////////
55
58
  // Gain, normalization, mixing, and channel downmixing
56
59
  ////////////////////////////////////////////////////////////////////////////////////////////////
57
- export function downmixToMonoAndNormalize(rawAudio, targetPeakDb = -3) {
58
- return normalizeAudioLevel(downmixToMono(rawAudio), targetPeakDb);
60
+ export function downmixToMonoAndNormalize(rawAudio, targetPeakDecibels = -3) {
61
+ return normalizeAudioLevel(downmixToMono(rawAudio), targetPeakDecibels);
62
+ }
63
+ export function attenuateIfClipping(rawAudio) {
64
+ return normalizeAudioLevel(rawAudio, -0.1, 0);
59
65
  }
60
- export function normalizeAudioLevel(rawAudio, targetPeakDb = -3, maxIncreaseDb = 30) {
66
+ export function normalizeAudioLevel(rawAudio, targetPeakDecibels = -3, maxGainIncreaseDecibels = 30) {
61
67
  //rawAudio = correctDCBias(rawAudio)
62
- const targetPeakAmplitude = decibelsToGainFactor(targetPeakDb);
63
- const maxGainFactor = decibelsToGainFactor(maxIncreaseDb);
64
- const peakAmplitude = getAudioPeakAmplitude(rawAudio.audioChannels);
68
+ const targetPeakAmplitude = decibelsToGainFactor(targetPeakDecibels);
69
+ const maxGainFactor = decibelsToGainFactor(maxGainIncreaseDecibels);
70
+ const peakAmplitude = getSamplePeakAmplitude(rawAudio.audioChannels);
65
71
  const gainFactor = Math.min(targetPeakAmplitude / peakAmplitude, maxGainFactor);
66
- return applyGain(rawAudio, gainFactor);
72
+ return applyGainFactor(rawAudio, gainFactor);
67
73
  }
68
74
  export function correctDCBias(rawAudio) {
69
75
  const outputAudioChannels = [];
@@ -82,10 +88,10 @@ export function correctDCBias(rawAudio) {
82
88
  }
83
89
  return { audioChannels: outputAudioChannels, sampleRate: rawAudio.sampleRate };
84
90
  }
85
- export function applyGainDecibels(rawAudio, decibelGain) {
86
- return applyGain(rawAudio, decibelsToGainFactor(decibelGain));
91
+ export function applyGainDecibels(rawAudio, gainDecibels) {
92
+ return applyGainFactor(rawAudio, decibelsToGainFactor(gainDecibels));
87
93
  }
88
- export function applyGain(rawAudio, gainFactor) {
94
+ export function applyGainFactor(rawAudio, gainFactor) {
89
95
  const outputAudioChannels = [];
90
96
  for (const channelSamples of rawAudio.audioChannels) {
91
97
  const sampleCount = channelSamples.length;
@@ -98,19 +104,28 @@ export function applyGain(rawAudio, gainFactor) {
98
104
  return { audioChannels: outputAudioChannels, sampleRate: rawAudio.sampleRate };
99
105
  }
100
106
  export function downmixToMono(rawAudio) {
107
+ const channelCount = rawAudio.audioChannels.length;
101
108
  const sampleCount = rawAudio.audioChannels[0].length;
109
+ if (channelCount === 1) {
110
+ return cloneRawAudio(rawAudio);
111
+ }
102
112
  const downmixedAudio = new Float32Array(sampleCount);
103
113
  for (const channelSamples of rawAudio.audioChannels) {
104
114
  for (let i = 0; i < sampleCount; i++) {
105
115
  downmixedAudio[i] += channelSamples[i];
106
116
  }
107
117
  }
118
+ if (channelCount > 1) {
119
+ for (let i = 0; i < sampleCount; i++) {
120
+ downmixedAudio[i] /= channelCount;
121
+ }
122
+ }
108
123
  return { audioChannels: [downmixedAudio], sampleRate: rawAudio.sampleRate };
109
124
  }
110
- export function getAudioPeakDecibels(audioChannels) {
111
- return gainFactorToDecibels(getAudioPeakAmplitude(audioChannels));
125
+ export function getSamplePeakDecibels(audioChannels) {
126
+ return gainFactorToDecibels(getSamplePeakAmplitude(audioChannels));
112
127
  }
113
- export function getAudioPeakAmplitude(audioChannels) {
128
+ export function getSamplePeakAmplitude(audioChannels) {
114
129
  let maxAmplitude = 0.00001;
115
130
  for (const channelSamples of audioChannels) {
116
131
  for (const sample of channelSamples) {
@@ -121,10 +136,10 @@ export function getAudioPeakAmplitude(audioChannels) {
121
136
  }
122
137
  export function mixAudio(rawAudio1, rawAudio2) {
123
138
  if (rawAudio1.audioChannels.length != rawAudio2.audioChannels.length) {
124
- throw new Error("Can't mix audio of unequal channel counts");
139
+ throw new Error(`Can't mix audio of unequal channel counts`);
125
140
  }
126
141
  if (rawAudio1.sampleRate != rawAudio2.sampleRate) {
127
- throw new Error("Can't mix audio of different sample rates");
142
+ throw new Error(`Can't mix audio of different sample rates`);
128
143
  }
129
144
  const mixedAudioChannels = [];
130
145
  for (let c = 0; c < rawAudio1.audioChannels.length; c++) {
@@ -152,6 +167,12 @@ export function sliceRawAudio(rawAudio, startSampleIndex, endSampleIndex) {
152
167
  return { audioChannels: sliceAudioChannels(rawAudio.audioChannels, startSampleIndex, endSampleIndex), sampleRate: rawAudio.sampleRate };
153
168
  }
154
169
  export function sliceAudioChannels(audioChannels, startSampleIndex, endSampleIndex) {
170
+ if (audioChannels.length === 0) {
171
+ throw new Error('audioChannels array is empty');
172
+ }
173
+ if (startSampleIndex > endSampleIndex) {
174
+ throw new Error('startSampleIndex must be less or equal to endSampleIndex');
175
+ }
155
176
  const channelCount = audioChannels.length;
156
177
  const outAudioChannels = [];
157
178
  for (let i = 0; i < channelCount; i++) {
@@ -171,6 +192,32 @@ export function concatAudioSegments(audioSegments) {
171
192
  }
172
193
  return outAudioChannels;
173
194
  }
195
+ export function cropToTimeline(rawAudio, timeline) {
196
+ const sampleRate = rawAudio.sampleRate;
197
+ const channelCount = rawAudio.audioChannels.length;
198
+ const sampleCount = rawAudio.audioChannels[0].length;
199
+ const audioSegments = [];
200
+ for (let i = 0; i < timeline.length; i++) {
201
+ const entry = timeline[i];
202
+ const startTime = entry.startTime;
203
+ const endTime = entry.endTime;
204
+ const startSampleOffset = Math.max(Math.floor(startTime * sampleRate), 0);
205
+ const endSampleOffset = Math.min(Math.floor(endTime * sampleRate), sampleCount);
206
+ const segment = [];
207
+ for (let c = 0; c < channelCount; c++) {
208
+ segment.push(rawAudio.audioChannels[c].subarray(startSampleOffset, endSampleOffset));
209
+ }
210
+ audioSegments.push(segment);
211
+ }
212
+ if (audioSegments.length > 0) {
213
+ const croppedAudioChannels = concatAudioSegments(audioSegments);
214
+ const croppedRawAudio = { audioChannels: croppedAudioChannels, sampleRate: rawAudio.sampleRate };
215
+ return croppedRawAudio;
216
+ }
217
+ else {
218
+ return getEmptyRawAudio(channelCount, sampleRate);
219
+ }
220
+ }
174
221
  export function fadeAudioInOut(rawAudio, fadeTime) {
175
222
  const fadeSampleCount = Math.floor(rawAudio.sampleRate * fadeTime);
176
223
  const gainReductionPerFrameDecibels = -60 / fadeSampleCount;
@@ -227,14 +274,18 @@ export async function ensureRawAudio(input, outSampleRate, outChannelCount) {
227
274
  if (outChannelCount == 1 && inputAudioChannelCount > 1) {
228
275
  inputAsRawAudio = downmixToMono(inputAsRawAudio);
229
276
  }
230
- if (outChannelCount != null && outChannelCount >= 2 && outChannelCount != inputAudioChannelCount) {
231
- throw new Error(`Can't convert ${inputAudioChannelCount} channels to ${outChannelCount} channels. Channel conversion of raw audio currently only supports downmixing to mono.`);
277
+ if (outChannelCount == 2 && inputAudioChannelCount == 1) {
278
+ inputAsRawAudio = cloneRawAudio(inputAsRawAudio);
279
+ inputAsRawAudio.audioChannels.push(inputAsRawAudio.audioChannels[0].slice());
280
+ }
281
+ if (outChannelCount != null && outChannelCount > 2 && outChannelCount != inputAudioChannelCount) {
282
+ throw new Error(`Can't convert ${inputAudioChannelCount} channels to ${outChannelCount} channels. Channel conversion of raw audio currently only supports mono and stereo inputs.`);
232
283
  }
233
284
  if (outSampleRate && inputAsRawAudio.sampleRate != outSampleRate) {
234
285
  inputAsRawAudio = await resampleAudioSpeex(inputAsRawAudio, outSampleRate);
235
286
  }
236
287
  }
237
- else if (typeof input == "string" || input instanceof Uint8Array) {
288
+ else if (typeof input == 'string' || input instanceof Uint8Array) {
238
289
  if (input instanceof Uint8Array && !Buffer.isBuffer(input)) {
239
290
  input = Buffer.from(input);
240
291
  }
@@ -242,10 +293,21 @@ export async function ensureRawAudio(input, outSampleRate, outChannelCount) {
242
293
  inputAsRawAudio = await FFMpegTranscoder.decodeToChannels(inputAsStringOrBuffer, outSampleRate, outChannelCount);
243
294
  }
244
295
  else {
245
- throw new Error("Received an invalid input audio data type.");
296
+ throw new Error('Received an invalid input audio data type.');
246
297
  }
247
298
  return inputAsRawAudio;
248
299
  }
300
+ export function subtractAudio(audio1, audio2) {
301
+ const sampleCount = audio1.audioChannels[0].length;
302
+ const subtractedAudioChannels = [new Float32Array(sampleCount), new Float32Array(sampleCount)];
303
+ for (let i = 0; i < sampleCount; i++) {
304
+ for (let channelIndex = 0; channelIndex < 2; channelIndex++) {
305
+ subtractedAudioChannels[channelIndex][i] = audio1.audioChannels[channelIndex][i] - audio2.audioChannels[channelIndex][i];
306
+ }
307
+ }
308
+ const subtractedRawAudio = { audioChannels: subtractedAudioChannels, sampleRate: audio1.sampleRate };
309
+ return subtractedRawAudio;
310
+ }
249
311
  ////////////////////////////////////////////////////////////////////////////////////////////////
250
312
  // Unit conversion
251
313
  ////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1 +1 @@
1
- {"version":3,"file":"AudioUtilities.js","sourceRoot":"","sources":["../../src/audio/AudioUtilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioUtilities.js","sourceRoot":"","sources":["../../src/audio/AudioUtilities.ts"],"names":[],"mappings":"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"}
package/dist/cli/CLI.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { RawAudio } from "../audio/AudioUtilities.js";
2
- import { Timeline } from "../utilities/Timeline.js";
1
+ import { RawAudio } from '../audio/AudioUtilities.js';
2
+ import { Timeline } from '../utilities/Timeline.js';
3
3
  export declare function start(processArgs: string[]): Promise<void>;
4
4
  export declare function getOptionsSchema(): Promise<any>;
5
5
  export declare function checkOutputFilenames(outputFilenames: string[], acceptMediaOutputs: boolean, acceptMetadataOutputs: boolean, acceptSubtitleOutputs: boolean): Promise<{
6
- includesPartPattern: boolean;
6
+ includesPlaceholderPattern: boolean;
7
7
  }>;
8
8
  export declare function writeOutputFilesForSegment(outputFilenames: string[], index: number, total: number, audio: RawAudio, timeline: Timeline, text: string, language: string, allowOverwrite: boolean): Promise<void>;