echogarden 2.5.2 → 2.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../../src/utilities/Utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../../src/utilities/Utilities.ts"],"names":[],"mappings":"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"}
package/docs/Options.md CHANGED
@@ -174,8 +174,8 @@ Applies to CLI operation: `transcribe`, API method: `recognize`
174
174
 
175
175
  **Whisper.cpp**:
176
176
  * `whisperCpp.model`: selects which `whisper.cpp` model to use. Can be `tiny`, `tiny.en`, `base`, `base.en`, `small`, `small.en`, `medium`, `medium.en`, `large` (same as `large-v2`), `large-v1`, `large-v2`, `large-v3`, `large-v3-turbo`. The following quantized models are also supported: `tiny-q5_1`, `tiny.en-q5_1`, `tiny.en-q8_0`,`base-q5_1`, `base.en-q5_1`, `small-q5_1`, `small.en-q5_1`, `medium-q5_0`, `medium.en-q5_0`, `large-v2-q5_0`, `large-v3-q5_0`, `large-v3-turbo-q5_0`. Defaults to `base` or `base.en`
177
- * `whisperCpp.executablePath`: a path to a custom `whisper.cpp` `main` executable (currently required for macOS)
178
- * `whisperCpp.build`: type of `whisper.cpp` build to use. Can be set to `cpu`, `cublas-12.4.0` or `custom`. By default, builds are auto-selected and downloaded for Windows x64 (`cpu`, `cublas-12.4.0`) and Linux x64 (`cpu`). Using other builds requires providing a custom `executablePath`, which will automatically set this option to `custom`
177
+ * `whisperCpp.executablePath`: a path to a custom `whisper.cpp` `whisper-cli` executable (currently required for macOS)
178
+ * `whisperCpp.build`: type of `whisper.cpp` build to use. Can be set to `cpu`, `cublas-12.4.0` or `custom`. By default, builds are auto-selected and downloaded for Windows x64 and Linux x64 (for both `cpu` and `cublas-12.4.0`). The Linux CUDA build requires a [system-wide installation of CUDA Toolkit 12.4+](https://developer.nvidia.com/cuda-downloads), available on path. Using other builds requires providing a custom `executablePath`, which will automatically set this option to `custom`
179
179
  * `whisperCpp.threadCount`: number of threads to use, defaults to `4`
180
180
  * `whisperCpp.splitCount`: number of splits of the audio data to process in parallel (called `--processors` in the `whisper.cpp` CLI). A value greater than `1` can increase memory use significantly, reduce timing accuracy, and slow down execution in some cases. Defaults to `1` (highly recommended)
181
181
  * `whisperCpp.enableGPU`: enable GPU processing. Setting to `true` will try to use a CUDA build, if available for your system. Defaults to `true` when a CUDA-enabled build is selected via `whisperCpp.build`, otherwise `false`. If a custom build is used, it will enable or disable GPU for that build
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "2.5.2",
3
+ "version": "2.6.0",
4
4
  "description": "An easy-to-use speech toolset. Includes tools for synthesis, recognition, alignment, speech translation, language detection, source separation and more.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0",
@@ -52,8 +52,8 @@
52
52
  "echogarden": "./dist/cli/CLILauncher.js"
53
53
  },
54
54
  "dependencies": {
55
- "@aws-sdk/client-polly": "^3.797.0",
56
- "@aws-sdk/client-transcribe-streaming": "^3.797.0",
55
+ "@aws-sdk/client-polly": "^3.799.0",
56
+ "@aws-sdk/client-transcribe-streaming": "^3.799.0",
57
57
  "@echogarden/audio-io": "^0.3.0",
58
58
  "@echogarden/espeak-ng-emscripten": "^0.3.3",
59
59
  "@echogarden/fasttext-wasm": "^0.1.0",
@@ -85,14 +85,14 @@
85
85
  "microsoft-cognitiveservices-speech-sdk": "^1.43.1",
86
86
  "msgpack-lite": "^0.1.26",
87
87
  "onnxruntime-node": "^1.21.1",
88
- "openai": "^4.96.0",
88
+ "openai": "^4.97.0",
89
89
  "sam-js": "^0.3.1",
90
90
  "strip-ansi": "^7.1.0",
91
91
  "tar": "^7.4.3",
92
92
  "tiktoken": "^1.0.21",
93
93
  "tinyld": "^1.3.4",
94
94
  "wasm-feature-detect": "^1.8.0",
95
- "ws": "^8.18.1",
95
+ "ws": "^8.18.2",
96
96
  "wtf_wikipedia": "^10.4.0"
97
97
  },
98
98
  "peerDependencies": {
@@ -112,7 +112,7 @@
112
112
  "@types/graceful-fs": "^4.1.9",
113
113
  "@types/jsdom": "^21.1.7",
114
114
  "@types/msgpack-lite": "^0.1.11",
115
- "@types/node": "^22.15.2",
115
+ "@types/node": "^22.15.3",
116
116
  "@types/tar": "^6.1.13",
117
117
  "@types/ws": "^8.18.1",
118
118
  "ts-json-schema-generator": "^2.4.0",
@@ -727,6 +727,8 @@ export function sigmoid(x: number) {
727
727
  }
728
728
 
729
729
  export function softmax(logits: ArrayLike<number>, temperature = 1.0) {
730
+ temperature = Math.max(temperature, 0.00001)
731
+
730
732
  const logitCount = logits.length
731
733
 
732
734
  if (logitCount === 0) {
@@ -743,23 +745,23 @@ export function softmax(logits: ArrayLike<number>, temperature = 1.0) {
743
745
  }
744
746
  }
745
747
 
746
- const temperatureReciprocal = 1 / (temperature + 1e-40)
748
+ const temperatureReciprocal = 1 / temperature
747
749
 
748
750
  const results = new Float32Array(logitCount)
749
751
 
750
- let sumOfExponentiatedValues = 0.0
752
+ let sumOfExponentiatedLogits = 0.0
751
753
 
752
754
  for (let i = 0; i < logitCount; i++) {
753
- const value = logits[i]
755
+ const logit = logits[i]
754
756
 
755
- const eToValue = Math.exp((value - maxValue) * temperatureReciprocal)
757
+ const eToLogit = Math.exp((logit - maxValue) * temperatureReciprocal)
756
758
 
757
- sumOfExponentiatedValues += eToValue
759
+ sumOfExponentiatedLogits += eToLogit
758
760
 
759
- results[i] = eToValue
761
+ results[i] = eToLogit
760
762
  }
761
763
 
762
- const sumOfExponentiatedValuesReciprocal = 1 / (sumOfExponentiatedValues + 1e-40)
764
+ const sumOfExponentiatedValuesReciprocal = 1 / (sumOfExponentiatedLogits + 1e-20)
763
765
 
764
766
  for (let i = 0; i < logitCount; i++) {
765
767
  results[i] *= sumOfExponentiatedValuesReciprocal
@@ -79,12 +79,16 @@ export function tryMatchInLexicon(term: CompromiseParsedTerm, lexicon: Lexicon,
79
79
  const termText = term.text
80
80
  const lowerCaseTermText = termText.toLocaleLowerCase()
81
81
 
82
- const entry = lexiconForLanguage[lowerCaseTermText]
82
+ let entry = lexiconForLanguage[lowerCaseTermText]
83
83
 
84
84
  if (!entry) {
85
85
  return undefined
86
86
  }
87
87
 
88
+ if (!Array.isArray(entry)) {
89
+ entry = [entry]
90
+ }
91
+
88
92
  for (const substitutionEntry of entry) {
89
93
  if (!substitutionEntry.pos || substitutionEntry.pos.includes(term.pos)) {
90
94
  const substitutionPhonemesText = substitutionEntry?.pronunciation?.espeak?.[espeakVoice]
@@ -30,12 +30,16 @@ export function tryGetLexiconSubstitution(sentenceWords: string[], wordIndex: nu
30
30
  return undefined
31
31
  }
32
32
 
33
- const lexiconEntry = lexiconForLanguage[word]
33
+ let lexiconEntry = lexiconForLanguage[word]
34
34
 
35
35
  if (!lexiconEntry) {
36
36
  return undefined
37
37
  }
38
38
 
39
+ if (!Array.isArray(lexiconEntry)) {
40
+ lexiconEntry = [lexiconEntry]
41
+ }
42
+
39
43
  for (let i = 0; i < lexiconEntry.length; i++) {
40
44
  const candidateEntry = lexiconEntry[i]
41
45
 
@@ -100,7 +104,7 @@ export type Lexicon = {
100
104
  }
101
105
 
102
106
  export type LexiconForLanguage = {
103
- [word: string]: LexiconEntry[]
107
+ [word: string]: LexiconEntry | LexiconEntry[]
104
108
  }
105
109
 
106
110
  export type LexiconEntry = {
@@ -1,14 +1,26 @@
1
1
  export function ipaPhoneToKirshenbaum(ipaPhone: string) {
2
2
  let result = ''
3
3
 
4
- for (const char of ipaPhone) {
5
- const convertedChar = ipaToKirshenbaum[char]
4
+ if (ipaPhone[0] === 'ˈ' || ipaPhone[0] === 'ˌ') {
5
+ result += ipaToKirshenbaum[ipaPhone[0]]
6
6
 
7
- if (convertedChar == undefined) {
8
- throw new Error(`Couldn't convert IPA character '${char}' (part of phone '${ipaPhone}') to the Kirshenbaum notation`)
9
- }
7
+ ipaPhone = ipaPhone.substring(1)
8
+ }
9
+
10
+ const convertedFullPhone = ipaToKirshenbaum[ipaPhone]
10
11
 
11
- result += convertedChar || '_'
12
+ if (convertedFullPhone) {
13
+ result += convertedFullPhone
14
+ } else {
15
+ for (const char of ipaPhone) {
16
+ const convertedChar = ipaToKirshenbaum[char]
17
+
18
+ if (convertedChar === undefined) {
19
+ throw new Error(`Couldn't convert IPA character '${char}' (part of phone '${ipaPhone}') to the Kirshenbaum notation`)
20
+ }
21
+
22
+ result += convertedChar ?? '_'
23
+ }
12
24
  }
13
25
 
14
26
  return result
@@ -252,6 +264,8 @@ const ipaToTimit: { [p: string]: string[] | undefined } = {
252
264
  'ɾ': ['dx'],
253
265
  }
254
266
 
267
+ // Kirshenbaum is an ASCII encoding of IPA
268
+ // The variant used by eSpeak is used here, and has many differences to standard Kirshenbaum
255
269
  export const ipaToKirshenbaum: Record<string, string> = {
256
270
  //// Vowels
257
271
 
@@ -405,7 +405,7 @@ export type WhisperCppBuild = 'cpu' | 'cublas-12.4.0' | 'custom'
405
405
 
406
406
  export async function loadExecutablePackage(buildKind: WhisperCppBuild) {
407
407
  if (buildKind === 'custom') {
408
- throw new Error(`A 'custom' build kind requires providing a custom path to the whisper.cpp binary in the 'executablePath' option.`)
408
+ throw new Error(`A 'custom' build kind requires providing a custom path to the 'whisper-cli' executable in the 'executablePath' option.`)
409
409
  }
410
410
 
411
411
  const platform = process.platform
@@ -416,8 +416,10 @@ export async function loadExecutablePackage(buildKind: WhisperCppBuild) {
416
416
  if (buildKind.startsWith('cublas-')) {
417
417
  if (platform === 'win32' && arch === 'x64') {
418
418
  packageName = `whisper.cpp-binaries-windows-x64-${buildKind}-latest`
419
+ } else if (platform === 'linux' && arch === 'x64') {
420
+ packageName = `whisper.cpp-binaries-linux-x64-${buildKind}-latest`
419
421
  } else {
420
- throw new Error(`whisper.cpp GPU builds (NVIDIA CUDA only) are currently only available as packages for Windows x64. Please specify a custom path to a whisper.cpp 'main' binary in the 'executablePath' option.`)
422
+ throw new Error(`whisper.cpp GPU builds (NVIDIA CUDA only) are currently only available as packages for Windows x64 and Linux x64. Please specify a custom path to a whisper.cpp 'main' binary in the 'executablePath' option.`)
421
423
  }
422
424
  } else if (buildKind === 'cpu') {
423
425
  if (platform === 'win32' && arch === 'x64') {
@@ -433,7 +435,7 @@ export async function loadExecutablePackage(buildKind: WhisperCppBuild) {
433
435
 
434
436
  const packagePath = await loadPackage(packageName)
435
437
 
436
- let filename = 'main'
438
+ let filename = 'whisper-cli' // used to be called 'main' but 'main' is now deprecated
437
439
 
438
440
  if (platform === 'win32') {
439
441
  filename += '.exe'
@@ -2,8 +2,8 @@ import type * as Onnx from 'onnxruntime-node'
2
2
 
3
3
  import { Logger } from '../utilities/Logger.js'
4
4
  import { computeMelSpectogramUsingFilterbanks, Filterbank } from '../dsp/MelSpectogram.js'
5
- import { clip, concatFloat32Arrays, getIntegerRange, splitFloat32Array, yieldToEventLoop } from '../utilities/Utilities.js'
6
- import { indexOfMax, logOfVector, logSumExp, meanOfVector, softmax, stdDeviationOfVector, sumOfSquaresForVector, sumVector } from '../math/VectorMath.js'
5
+ import { clip, getIntegerRange, getTopKIndexes, splitFloat32Array, yieldToEventLoop } from '../utilities/Utilities.js'
6
+ import { indexOfMax, logOfVector, logSumExp, meanOfVector, softmax, sumOfSquaresForVector, sumVector } from '../math/VectorMath.js'
7
7
 
8
8
  import { alignDTWWindowed } from '../alignment/DTWSequenceAlignmentWindowed.js'
9
9
  import { extendDeep } from '../utilities/ObjectUtilities.js'
@@ -1019,36 +1019,37 @@ export class Whisper {
1019
1019
  }
1020
1020
 
1021
1021
  // Find top candidates
1022
- const sortedNonTimestampLogitsWithIndexes =
1023
- Array.from(nonTimestampTokenLogits).map((logit, index) => ({ token: index, logit }))
1022
+ const sortedTopCandidateTokens = getTopKIndexes(nonTimestampTokenLogits, options.topCandidateCount!, true)
1024
1023
 
1025
- sortedNonTimestampLogitsWithIndexes.sort((a, b) => b.logit - a.logit)
1024
+ let topCandidates = Array.from(sortedTopCandidateTokens).map(token => {
1025
+ const logit = nonTimestampTokenLogits[token]
1026
1026
 
1027
- let topCandidates = sortedNonTimestampLogitsWithIndexes.slice(0, options.topCandidateCount!)
1028
- .map(entry => ({
1029
- token: entry.token,
1030
- logit: entry.logit,
1031
- text: this.tokenToText(entry.token, true)
1032
- }))
1027
+ return {
1028
+ token,
1029
+ logit,
1030
+ text: this.tokenToText(token, true)
1031
+ }
1032
+ })
1033
1033
 
1034
1034
  // Apply repetition suppression if enabled
1035
1035
  if (options.suppressRepetition) {
1036
- // Using some hardcoded constants, for now
1036
+ // Using some hardcoded constants, for now:
1037
1037
  const tokenWindowSize = 30
1038
1038
  const thresholdMatchLength = 4
1039
- const thresholdCycleRepetition = 3
1039
+ const thresholdCycleRepetitionCount = 3
1040
1040
 
1041
1041
  const filteredCandidates: typeof topCandidates = []
1042
1042
 
1043
1043
  for (const candidate of topCandidates) {
1044
- const lastDecodedTextTokens = decodedTokens
1045
- .filter(token => this.isTextToken(token))
1044
+ const decodedTextTokens = decodedTokens.filter(token => this.isTextToken(token))
1045
+
1046
+ const lastDecodedTextTokens = decodedTextTokens
1047
+ .slice(Math.max(decodedTextTokens.length - tokenWindowSize, 0))
1046
1048
  .reverse()
1047
- .slice(0, tokenWindowSize)
1048
1049
 
1049
- const { longestMatch, longestCycleRepetition } = getTokenRepetitionScore([candidate.token, ...lastDecodedTextTokens])
1050
+ const { longestMatchLength, longestCycleRepetitionCount } = getTokenRepetitionScore([candidate.token, ...lastDecodedTextTokens])
1050
1051
 
1051
- if (longestMatch >= thresholdMatchLength || longestCycleRepetition >= thresholdCycleRepetition) {
1052
+ if (longestMatchLength >= thresholdMatchLength || longestCycleRepetitionCount >= thresholdCycleRepetitionCount) {
1052
1053
  continue
1053
1054
  }
1054
1055
 
@@ -197,9 +197,10 @@ const packageVersionTagResolutionLookup: { [packageName: string]: string } = {
197
197
  'whisper.cpp-large-v3-turbo-q5_0': '20241003',
198
198
 
199
199
  // whisper.cpp binaries
200
- 'whisper.cpp-binaries-linux-x64-cpu-latest': '20241010',
201
- 'whisper.cpp-binaries-windows-x64-cpu-latest': '20241010',
202
- 'whisper.cpp-binaries-windows-x64-cublas-12.4.0-latest': '20241010',
200
+ 'whisper.cpp-binaries-windows-x64-cpu-latest': '20250502',
201
+ 'whisper.cpp-binaries-windows-x64-cublas-12.4.0-latest': '20250502',
202
+ 'whisper.cpp-binaries-linux-x64-cpu-latest': '20250502',
203
+ 'whisper.cpp-binaries-linux-x64-cublas-12.4.0-latest': '20250502',
203
204
 
204
205
  // E5 models
205
206
  'xenova-multilingual-e5-small-q8': '20240504',
@@ -148,24 +148,24 @@ export function getTokenRepetitionScore(tokens: string[] | number[]) {
148
148
  matchLengthForCycleLength.push(score)
149
149
  }
150
150
 
151
- let longestMatch = -Infinity
152
- let longestCycleRepetition = -Infinity
151
+ let longestMatchLength = -Infinity
152
+ let longestCycleRepetitionCount = -Infinity
153
153
 
154
154
  for (let i = 1; i <= matchLengthForCycleLength.length; i++) {
155
155
  const matchLength = matchLengthForCycleLength[i]
156
156
 
157
- if (matchLength > longestMatch) {
158
- longestMatch = matchLength
157
+ if (matchLength > longestMatchLength) {
158
+ longestMatchLength = matchLength
159
159
  }
160
160
 
161
161
  const cycleCount = (matchLength / i) + 1
162
162
 
163
- if (cycleCount > longestCycleRepetition) {
164
- longestCycleRepetition = cycleCount
163
+ if (cycleCount > longestCycleRepetitionCount) {
164
+ longestCycleRepetitionCount = cycleCount
165
165
  }
166
166
  }
167
167
 
168
- return { longestMatch, longestCycleRepetition }
168
+ return { longestMatchLength, longestCycleRepetitionCount }
169
169
  }
170
170
 
171
171
  export async function convertHtmlToText(html: string) {
@@ -511,3 +511,67 @@ export function encodeHTMLAngleBrackets(text: string) {
511
511
  .replaceAll('>', '&gt;')
512
512
  .replaceAll('&', '&amp;')
513
513
  }
514
+
515
+ export function getTopKIndexes(values: ArrayLike<number>, topCount: number, sort = true) {
516
+ if (topCount < 1) {
517
+ throw new Error(`Top count must be at least 1`)
518
+ }
519
+
520
+ const topKIndexes = new Uint32Array(Math.min(topCount, values.length))
521
+
522
+ // Initialize top k indexes with the first k elements
523
+ // (or less, if value list is shorter)
524
+ for (let i = 0; i < topKIndexes.length; i++) {
525
+ topKIndexes[i] = i
526
+ }
527
+
528
+ // Return if value list is shorter or equal in length to topCount
529
+ if (values.length <= topCount) {
530
+ return topKIndexes
531
+ }
532
+
533
+ ////
534
+
535
+ let positionOfMinimum = -1
536
+ let valueOfMinimum = -Infinity
537
+
538
+ // Method to scan the top-k array and update the latest minimum value position and value
539
+ function updateMinimum() {
540
+ positionOfMinimum = 0
541
+ valueOfMinimum = values[topKIndexes[0]]
542
+
543
+ for (let i = 1; i < topKIndexes.length; i++) {
544
+ const value = values[topKIndexes[i]]
545
+
546
+ if (value < valueOfMinimum) {
547
+ positionOfMinimum = i
548
+ valueOfMinimum = value
549
+ }
550
+ }
551
+ }
552
+
553
+ updateMinimum()
554
+
555
+ // Add remaining elements to the list, if needed
556
+ for (let insertedElementIndex = topCount; insertedElementIndex < values.length; insertedElementIndex++) {
557
+ const insertedElementValue = values[insertedElementIndex]
558
+
559
+ // If the inserted element's value is lesser or equal to the value
560
+ // of the smallest value on the list, skip it
561
+ if (insertedElementValue <= valueOfMinimum) {
562
+ continue
563
+ }
564
+
565
+ // Replace the minimum element with the inserted element
566
+ topKIndexes[positionOfMinimum] = insertedElementIndex
567
+
568
+ // Update the position and value of the minimum element
569
+ updateMinimum()
570
+ }
571
+
572
+ if (sort) {
573
+ topKIndexes.sort((a, b) => values[b] - values[a])
574
+ }
575
+
576
+ return topKIndexes
577
+ }