echogarden 2.8.6 → 2.9.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 (46) hide show
  1. package/dist/api/Recognition.d.ts +3 -3
  2. package/dist/api/Recognition.js +5 -5
  3. package/dist/api/Recognition.js.map +1 -1
  4. package/dist/api/SpeechTranslation.d.ts +4 -4
  5. package/dist/api/SpeechTranslation.js +4 -4
  6. package/dist/api/SpeechTranslation.js.map +1 -1
  7. package/dist/denoising/NSNet2.js +8 -8
  8. package/dist/denoising/NSNet2.js.map +1 -1
  9. package/dist/dsp/FFT.d.ts +2 -2
  10. package/dist/dsp/FFT.js +19 -15
  11. package/dist/dsp/FFT.js.map +1 -1
  12. package/dist/dsp/MFCC.d.ts +1 -1
  13. package/dist/dsp/MFCC.js +8 -8
  14. package/dist/dsp/MFCC.js.map +1 -1
  15. package/dist/dsp/{MelSpectogram.d.ts → MelSpectrogram.d.ts} +5 -5
  16. package/dist/dsp/{MelSpectogram.js → MelSpectrogram.js} +9 -9
  17. package/dist/dsp/MelSpectrogram.js.map +1 -0
  18. package/dist/math/VectorMath.d.ts +5 -1
  19. package/dist/math/VectorMath.js +15 -2
  20. package/dist/math/VectorMath.js.map +1 -1
  21. package/dist/nlp/IPA.d.ts +3 -3
  22. package/dist/recognition/WhisperSTT.d.ts +9 -6
  23. package/dist/recognition/WhisperSTT.js +92 -60
  24. package/dist/recognition/WhisperSTT.js.map +1 -1
  25. package/dist/source-separation/MDXNetSourceSeparation.js +5 -5
  26. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
  27. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js +14 -14
  28. package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js.map +1 -1
  29. package/dist/utilities/Utilities.d.ts +1 -1
  30. package/dist/utilities/Utilities.js +4 -2
  31. package/dist/utilities/Utilities.js.map +1 -1
  32. package/docs/Licenses.md +0 -2
  33. package/docs/Tasklist.md +18 -5
  34. package/package.json +14 -14
  35. package/src/api/Recognition.ts +10 -7
  36. package/src/api/SpeechTranslation.ts +16 -6
  37. package/src/denoising/NSNet2.ts +8 -8
  38. package/src/dsp/FFT.ts +23 -17
  39. package/src/dsp/MFCC.ts +8 -8
  40. package/src/dsp/{MelSpectogram.ts → MelSpectrogram.ts} +9 -8
  41. package/src/math/VectorMath.ts +22 -2
  42. package/src/recognition/WhisperSTT.ts +131 -65
  43. package/src/source-separation/MDXNetSourceSeparation.ts +5 -5
  44. package/src/speech-embeddings/WavToVec2BertFeatureEmbeddings.ts +14 -14
  45. package/src/utilities/Utilities.ts +4 -2
  46. package/dist/dsp/MelSpectogram.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VectorMath.js","sourceRoot":"","sources":["../../src/math/VectorMath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VectorMath.js","sourceRoot":"","sources":["../../src/math/VectorMath.ts"],"names":[],"mappings":"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"}
package/dist/nlp/IPA.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export declare function getPhoneSubstitutionCost1(ipa1: string, ipa2: string): 0 | 1;
2
- export declare function getPhoneSubstitutionCost2(ipa1: string, ipa2: string): 0 | 1 | 0.5;
3
- export declare function getPhoneSubstitutionCost3(ipa1: string, ipa2: string): 0 | 1 | 0.5 | 0.75;
1
+ export declare function getPhoneSubstitutionCost1(ipa1: string, ipa2: string): 1 | 0;
2
+ export declare function getPhoneSubstitutionCost2(ipa1: string, ipa2: string): 1 | 0 | 0.5;
3
+ export declare function getPhoneSubstitutionCost3(ipa1: string, ipa2: string): 1 | 0 | 0.5 | 0.75;
4
4
  export declare function isKnownSymbol(ipa: string): boolean;
5
5
  export declare function isConsonant(ipa: string): boolean;
6
6
  export declare function isVowel(ipa: string): boolean;
@@ -1,13 +1,13 @@
1
1
  import type * as Onnx from 'onnxruntime-node';
2
- import { Filterbank } from '../dsp/MelSpectogram.js';
2
+ import { Filterbank } from '../dsp/MelSpectrogram.js';
3
3
  import { Timeline } from '../utilities/Timeline.js';
4
4
  import { AlignmentPath } from '../alignment/SpeechAlignment.js';
5
5
  import { RawAudio } from '../audio/AudioUtilities.js';
6
- import type { LanguageDetectionResults } from '../api/API.js';
6
+ import { type LanguageDetectionResults } from '../api/API.js';
7
7
  import { XorShift32PRNG } from '../utilities/RandomGenerator.js';
8
8
  import { type Tiktoken } from 'tiktoken/lite';
9
9
  import { OnnxExecutionProvider, OnnxLikeFloat32Tensor } from '../utilities/OnnxUtilities.js';
10
- export declare function recognize(sourceRawAudio: RawAudio, modelName: WhisperModelName, modelDir: string, task: WhisperTask, sourceLanguage: string, options: WhisperOptions): Promise<{
10
+ export declare function recognize(sourceRawAudio: RawAudio, modelName: WhisperModelName, modelDir: string, task: WhisperTask, sourceLanguage: string, options: WhisperOptions, onPart?: WhisperPartCallback): Promise<{
11
11
  transcript: string;
12
12
  timeline: Timeline;
13
13
  allDecodedTokens: number[];
@@ -42,7 +42,7 @@ export declare class Whisper {
42
42
  };
43
43
  randomGen: XorShift32PRNG;
44
44
  constructor(modelName: WhisperModelName, modelDir: string, encoderExecutionProviders: OnnxExecutionProvider[], decoderExecutionProviders: OnnxExecutionProvider[], prngSeed?: number);
45
- recognize(rawAudio: RawAudio, task: WhisperTask, language: string, options: WhisperOptions, logitFilter?: WhisperLogitFilter): Promise<{
45
+ recognize(rawAudio: RawAudio, task: WhisperTask, language: string, options: WhisperOptions, logitFilter?: WhisperLogitFilter, onPart?: WhisperPartCallback): Promise<{
46
46
  transcript: string;
47
47
  timeline: Timeline;
48
48
  allDecodedTokens: number[];
@@ -55,6 +55,9 @@ export declare class Whisper {
55
55
  decodedTokensTimestampLogits: number[][];
56
56
  decodedTokensConfidence: number[];
57
57
  decodedTokensCrossAttentionQKs: OnnxLikeFloat32Tensor[];
58
+ decodedTokensDecodingTime: number[];
59
+ decodedTokensInferenceTime: number[];
60
+ decodedTokensOverheadTime: number[];
58
61
  }>;
59
62
  encodeAudio(rawAudio: RawAudio): Promise<Onnx.Tensor>;
60
63
  tokenTimelineToWordTimeline(tokenTimeline: Timeline, language: string): Timeline;
@@ -158,5 +161,5 @@ export interface WhisperVADOptions {
158
161
  decoderProvider?: OnnxExecutionProvider;
159
162
  }
160
163
  export declare const defaultWhisperVADOptions: WhisperVADOptions;
161
- type WhisperTimestampAccuracy = 'medium' | 'high';
162
- export {};
164
+ export type WhisperTimestampAccuracy = 'medium' | 'high';
165
+ export type WhisperPartCallback = (partTranscript: string, partTokenTimeline: Timeline, partWordTimeline: Timeline) => void;
@@ -1,14 +1,15 @@
1
+ import chalk from 'chalk';
1
2
  import { Logger } from '../utilities/Logger.js';
2
- import { computeMelSpectogramUsingFilterbanks } from '../dsp/MelSpectogram.js';
3
+ import { computeMelSpectrogramUsingFilterbanks } from '../dsp/MelSpectrogram.js';
3
4
  import { clip, getIntegerRange, getTopKIndexes, splitFloat32Array, yieldToEventLoop } from '../utilities/Utilities.js';
4
- import { indexOfMax, logOfVector, logSumExp, meanOfVector, softmax, sumOfSquaresForVector, sumVector } from '../math/VectorMath.js';
5
+ import { indexOfMax, logOfVector, logSumExp, meanOfVector, medianOfVector, softmax, sumAndSumOfSquaresOfVector } from '../math/VectorMath.js';
5
6
  import { alignDTWWindowed } from '../alignment/DTWSequenceAlignmentWindowed.js';
6
7
  import { extendDeep } from '../utilities/ObjectUtilities.js';
7
8
  import { getRawAudioDuration, sliceRawAudio } from '../audio/AudioUtilities.js';
8
9
  import { readFileAsUtf8 } from '../utilities/FileSystem.js';
10
+ import { logLevelGreaterOrEqualTo } from '../api/API.js';
9
11
  import { formatLanguageCodeWithName, getShortLanguageCode, languageCodeToName } from '../utilities/Locale.js';
10
12
  import { loadPackage } from '../utilities/PackageManager.js';
11
- import chalk from 'chalk';
12
13
  import { XorShift32PRNG } from '../utilities/RandomGenerator.js';
13
14
  import { detectSpeechLanguageByParts } from '../api/SpeechLanguageDetection.js';
14
15
  import { includesPunctuation, isWhitespace, splitToWords } from '../nlp/Segmentation.js';
@@ -18,16 +19,17 @@ import { dmlProviderAvailable, getOnnxSessionOptions, makeOnnxLikeFloat32Tensor
18
19
  import { murmurHash3_int32Input } from '../utilities/Hashing.js';
19
20
  import { containsInvalidCodepoint, getTokenRepetitionScore } from '../utilities/StringUtilities.js';
20
21
  import { joinPath } from '../utilities/PathUtilities.js';
21
- export async function recognize(sourceRawAudio, modelName, modelDir, task, sourceLanguage, options) {
22
+ import { Timer } from '../utilities/Timer.js';
23
+ export async function recognize(sourceRawAudio, modelName, modelDir, task, sourceLanguage, options, onPart) {
22
24
  options = extendDeep(defaultWhisperOptions, options);
23
- if (sourceRawAudio.sampleRate != 16000) {
25
+ if (sourceRawAudio.sampleRate !== 16000) {
24
26
  throw new Error('Source audio must have a sample rate of 16000 Hz');
25
27
  }
26
28
  sourceLanguage = getShortLanguageCode(sourceLanguage);
27
29
  if (!(sourceLanguage in languageIdLookup)) {
28
30
  throw new Error(`The language ${formatLanguageCodeWithName(sourceLanguage)} is not supported by the Whisper engine.`);
29
31
  }
30
- if (isEnglishOnlyModel(modelName) && sourceLanguage != 'en') {
32
+ if (isEnglishOnlyModel(modelName) && sourceLanguage !== 'en') {
31
33
  throw new Error(`The model '${modelName}' can only be used with English inputs. However, the given source language was ${languageCodeToName(sourceLanguage)}.`);
32
34
  }
33
35
  if (modelName === 'large-v3-turbo' && task === 'translate') {
@@ -38,7 +40,7 @@ export async function recognize(sourceRawAudio, modelName, modelDir, task, sourc
38
40
  }
39
41
  // Workaround issue with large-v3-turbo that produces invalid results when a prompt is passed to it.
40
42
  // Always disable autoprompting for that model.
41
- if (options.autoPromptParts && modelName == 'large-v3-turbo') {
43
+ if (options.autoPromptParts && modelName === 'large-v3-turbo') {
42
44
  options.autoPromptParts = false;
43
45
  }
44
46
  // Select encoder ONNX provider
@@ -47,19 +49,19 @@ export async function recognize(sourceRawAudio, modelName, modelDir, task, sourc
47
49
  const decoderProviders = options.decoderProvider ? [options.decoderProvider] : getDefaultDecoderProvidersForModel(modelName);
48
50
  const seed = options.seed;
49
51
  const whisper = new Whisper(modelName, modelDir, encoderProviders, decoderProviders, seed);
50
- const result = await whisper.recognize(sourceRawAudio, task, sourceLanguage, options);
52
+ const result = await whisper.recognize(sourceRawAudio, task, sourceLanguage, options, undefined, onPart);
51
53
  return result;
52
54
  }
53
55
  export async function align(sourceRawAudio, transcript, modelName, modelDir, sourceLanguage, options) {
54
56
  options = extendDeep(defaultWhisperAlignmentOptions, options);
55
- if (sourceRawAudio.sampleRate != 16000) {
57
+ if (sourceRawAudio.sampleRate !== 16000) {
56
58
  throw new Error('Source audio must have a sample rate of 16000 Hz');
57
59
  }
58
60
  sourceLanguage = getShortLanguageCode(sourceLanguage);
59
61
  if (!(sourceLanguage in languageIdLookup)) {
60
62
  throw new Error(`The language ${formatLanguageCodeWithName(sourceLanguage)} is not supported by the Whisper engine.`);
61
63
  }
62
- if (isEnglishOnlyModel(modelName) && sourceLanguage != 'en') {
64
+ if (isEnglishOnlyModel(modelName) && sourceLanguage !== 'en') {
63
65
  throw new Error(`The model '${modelName}' can only be used with English inputs. However, the given source language was ${languageCodeToName(sourceLanguage)}.`);
64
66
  }
65
67
  // Select encoder ONNX provider
@@ -72,7 +74,7 @@ export async function align(sourceRawAudio, transcript, modelName, modelDir, sou
72
74
  }
73
75
  export async function alignEnglishTranslation(sourceRawAudio, translatedTranscript, modelName, modelDir, sourceLanguage, options) {
74
76
  options = extendDeep(defaultWhisperAlignmentOptions, options);
75
- if (sourceRawAudio.sampleRate != 16000) {
77
+ if (sourceRawAudio.sampleRate !== 16000) {
76
78
  throw new Error('Source audio must have a sample rate of 16000 Hz');
77
79
  }
78
80
  sourceLanguage = getShortLanguageCode(sourceLanguage);
@@ -95,7 +97,7 @@ export async function alignEnglishTranslation(sourceRawAudio, translatedTranscri
95
97
  }
96
98
  export async function detectLanguage(sourceRawAudio, modelName, modelDir, options) {
97
99
  options = extendDeep(defaultWhisperLanguageDetectionOptions, options);
98
- if (sourceRawAudio.sampleRate != 16000) {
100
+ if (sourceRawAudio.sampleRate !== 16000) {
99
101
  throw new Error('Source audio must have a sample rate of 16000 Hz');
100
102
  }
101
103
  if (!isMultilingualModel(modelName)) {
@@ -120,7 +122,7 @@ export async function detectLanguage(sourceRawAudio, modelName, modelDir, option
120
122
  }
121
123
  export async function detectVoiceActivity(sourceRawAudio, modelName, modelDir, options) {
122
124
  options = extendDeep(defaultWhisperVADOptions, options);
123
- if (sourceRawAudio.sampleRate != 16000) {
125
+ if (sourceRawAudio.sampleRate !== 16000) {
124
126
  throw new Error('Source audio must have a sample rate of 16000 Hz');
125
127
  }
126
128
  if (options.temperature < 0) {
@@ -201,7 +203,7 @@ export class Whisper {
201
203
  }
202
204
  this.randomGen = new XorShift32PRNG(murmurHash3_int32Input(prngSeed));
203
205
  }
204
- async recognize(rawAudio, task, language, options, logitFilter) {
206
+ async recognize(rawAudio, task, language, options, logitFilter, onPart) {
205
207
  await this.initializeIfNeeded();
206
208
  const logger = new Logger();
207
209
  options = extendDeep(defaultWhisperOptions, options);
@@ -251,7 +253,7 @@ export class Whisper {
251
253
  initialTokens = [...initialTokens, ...this.getTextStartTokens(language, task, !decodeTimestampTokens)];
252
254
  //logger.log(`Initial tokens count: ${initialTokens.length}`)
253
255
  logger.end();
254
- let { decodedTokens: partTokens, decodedTokensConfidence: partTokensConfidence, decodedTokensCrossAttentionQKs: partCrossAttentionQKs, } = await this.decodeTokens(audioPartFeatures, initialTokens, audioPartDuration, isFirstPart, isFinalPart, options, wrappedLogitFilter);
256
+ let { decodedTokens: partTokens, decodedTokensConfidence: partTokensConfidence, decodedTokensCrossAttentionQKs: partTokensCrossAttentionQKs, decodedTokensDecodingTime: partTokensDecodingTime, decodedTokensInferenceTime: partTokensInferenceTime, decodedTokensOverheadTime: partTokensOverheadTime, } = await this.decodeTokens(audioPartFeatures, initialTokens, audioPartDuration, isFirstPart, isFinalPart, options, wrappedLogitFilter);
255
257
  const lastToken = partTokens[partTokens.length - 1];
256
258
  const lastTokenIsTimestamp = this.isTimestampToken(lastToken);
257
259
  let audioEndOffset;
@@ -265,16 +267,16 @@ export class Whisper {
265
267
  const segmentEndTime = audioEndOffset / sampleRate;
266
268
  const segmentFrameCount = this.secondsRangeToFrameCount(segmentStartTime, segmentEndTime);
267
269
  await logger.startAsync(`Extract timeline for part (timestamp accuracy: ${options.timestampAccuracy})`);
268
- if (partTokens.length != partCrossAttentionQKs.length) {
269
- throw new Error('Unexpected: partTokens.length != partCrossAttentionQKs.length');
270
+ if (partTokens.length !== partTokensCrossAttentionQKs.length) {
271
+ throw new Error('Unexpected: partTokens.length !== partCrossAttentionQKs.length');
270
272
  }
271
273
  // Prepare tokens
272
274
  partTokens = partTokens.slice(initialTokens.length);
273
275
  partTokensConfidence = partTokensConfidence.slice(initialTokens.length);
274
- partCrossAttentionQKs = partCrossAttentionQKs.slice(initialTokens.length);
276
+ partTokensCrossAttentionQKs = partTokensCrossAttentionQKs.slice(initialTokens.length);
275
277
  // Find alignment path
276
278
  let alignmentHeads;
277
- if (options.timestampAccuracy === 'medium' || options.model == 'large-v3-turbo') {
279
+ if (options.timestampAccuracy === 'medium' || options.model === 'large-v3-turbo') {
278
280
  alignmentHeads = this.alignmentHeadIndexes;
279
281
  }
280
282
  else if (options.timestampAccuracy === 'high') {
@@ -283,9 +285,14 @@ export class Whisper {
283
285
  else {
284
286
  throw new Error(`Unsupported timestamp accuracy '${options.timestampAccuracy}', can only be 'medium' or 'high'.`);
285
287
  }
286
- const alignmentPath = await this.findAlignmentPathFromQKs(partCrossAttentionQKs, partTokens, 0, segmentFrameCount, alignmentHeads);
288
+ const alignmentPath = await this.findAlignmentPathFromQKs(partTokensCrossAttentionQKs, partTokens, 0, segmentFrameCount, alignmentHeads);
287
289
  // Generate timeline from alignment path
288
290
  const partTimeline = await this.getTokenTimelineFromAlignmentPath(alignmentPath, partTokens, segmentStartTime, segmentEndTime, partTokensConfidence);
291
+ if (onPart) {
292
+ const partWordTimeline = this.tokenTimelineToWordTimeline(partTimeline, language);
293
+ const partTranscript = this.tokensToText(partTokens);
294
+ onPart(partTranscript, partTimeline, partWordTimeline);
295
+ }
289
296
  // Add tokens to output
290
297
  allDecodedTokens.push(...partTokens);
291
298
  timeline.push(...partTimeline);
@@ -302,6 +309,13 @@ export class Whisper {
302
309
  }
303
310
  audioOffset = audioEndOffset;
304
311
  logger.end();
312
+ if (logLevelGreaterOrEqualTo('trace')) {
313
+ const promptDecodingTime = partTokensDecodingTime[0];
314
+ const medianTokenDecodingTime = medianOfVector(partTokensDecodingTime.slice(1));
315
+ const medianTokenInferenceTime = medianOfVector(partTokensInferenceTime.slice(1));
316
+ const medianOverheadTime = medianOfVector(partTokensOverheadTime.slice(1));
317
+ logger.log(`${chalk.blueBright('Context')}: ${initialTokens.length + partTokens.length} tokens (${initialTokens.length} prompt, ${partTokens.length} decoded)\n${chalk.blueBright('Prompt decode time')}: ${promptDecodingTime.toFixed(1)}ms\n${chalk.blueBright('Median token decode time')}: ${medianTokenDecodingTime.toFixed(1)}ms (${medianTokenInferenceTime.toFixed(1)}ms inference, ${medianOverheadTime.toFixed(2)}ms overhead)`, 'trace');
318
+ }
305
319
  }
306
320
  // Convert token timeline to word timeline
307
321
  timeline = this.tokenTimelineToWordTimeline(timeline, language);
@@ -510,8 +524,14 @@ export class Whisper {
510
524
  decodedTokensCrossAttentionQKs.push(crossAttentionQKs);
511
525
  }
512
526
  const maxTokensPerPart = Math.min(options.maxTokensPerPart, largestMaximumTokensPerPart);
527
+ let decodedTokensInferenceTime = [];
528
+ let decodedTokensDecodingTime = [];
529
+ const tokenDecodingTimeTimer = new Timer();
513
530
  // Start decoding loop
514
531
  for (let decodedTokenCount = 0; decodedTokenCount < maxTokensPerPart; decodedTokenCount++) {
532
+ if (decodedTokenCount > 0) {
533
+ decodedTokensDecodingTime.push(tokenDecodingTimeTimer.getElapsedTimeAndRestart());
534
+ }
515
535
  const isInitialState = decodedTokens.length === initialTokens.length;
516
536
  const atLeastOneTextTokenDecoded = decodedTokens.slice(initialTokens.length).some(token => this.isTextToken(token));
517
537
  // If not in initial state, reshape KV Cache tensor to accomodate a new output token
@@ -536,8 +556,10 @@ export class Whisper {
536
556
  kv_cache: kvCacheTensor,
537
557
  offset: offsetTensor
538
558
  };
539
- // Run decoder model
559
+ //// Infer with ONNX decoder model
560
+ const tokenInferenceTimeTimer = new Timer();
540
561
  const decoderOutputs = await this.textDecoder.run(decoderInputs);
562
+ decodedTokensInferenceTime.push(tokenInferenceTimeTimer.elapsedTime);
541
563
  // Extract decoder model results
542
564
  const logitsBuffer = decoderOutputs['logits'].data;
543
565
  kvCacheTensor = decoderOutputs['output_kv_cache'];
@@ -761,6 +783,9 @@ export class Whisper {
761
783
  }
762
784
  await yieldToEventLoop();
763
785
  }
786
+ if (decodedTokensDecodingTime.length === decodedTokensInferenceTime.length - 1) {
787
+ decodedTokensDecodingTime.push(tokenDecodingTimeTimer.getElapsedTimeAndRestart());
788
+ }
764
789
  // If at least two timestamp tokens were decoded and it's not the final part,
765
790
  // truncate up to the last timestamp token
766
791
  if (timestampTokenSeenCount >= 2 && !isFinalPart) {
@@ -769,7 +794,10 @@ export class Whisper {
769
794
  decodedTokensTimestampLogits = decodedTokensTimestampLogits.slice(0, sliceEndTokenIndex);
770
795
  decodedTokensCrossAttentionQKs = decodedTokensCrossAttentionQKs.slice(0, sliceEndTokenIndex);
771
796
  decodedTokensConfidence = decodedTokensConfidence.slice(0, sliceEndTokenIndex);
797
+ decodedTokensDecodingTime = decodedTokensDecodingTime.slice(0, sliceEndTokenIndex);
798
+ decodedTokensInferenceTime = decodedTokensInferenceTime.slice(0, sliceEndTokenIndex);
772
799
  }
800
+ const decodedTokensOverheadTime = decodedTokensDecodingTime.map((time, index) => time - decodedTokensInferenceTime[index]);
773
801
  logger.write('\n');
774
802
  logger.end();
775
803
  // Return the decoded tokens
@@ -778,6 +806,9 @@ export class Whisper {
778
806
  decodedTokensTimestampLogits,
779
807
  decodedTokensConfidence,
780
808
  decodedTokensCrossAttentionQKs,
809
+ decodedTokensDecodingTime,
810
+ decodedTokensInferenceTime,
811
+ decodedTokensOverheadTime,
781
812
  };
782
813
  }
783
814
  // Encode audio using the encoder model
@@ -794,42 +825,41 @@ export class Whisper {
794
825
  const filterbanks = this.filterbanks;
795
826
  const maxAudioSamples = sampleRate * 30;
796
827
  const maxAudioFrames = 3000;
797
- if (sampleRate != 16000) {
828
+ if (sampleRate !== 16000) {
798
829
  throw new Error('Audio must have a sample rate of 16000 Hz');
799
830
  }
800
831
  if (audioSamples.length > maxAudioSamples) {
801
832
  throw new Error(`Audio part is longer than 30 seconds`);
802
833
  }
803
- // Compute a mel spectogram
804
- await logger.startAsync('Extract mel spectogram from audio part');
834
+ await logger.startAsync('Extract Mel spectrogram from audio part');
805
835
  // Pad audio samples to ensure that have a duration of 30 seconds
806
836
  const paddedAudioSamples = new Float32Array(maxAudioSamples);
807
837
  paddedAudioSamples.set(audioSamples, 0);
808
838
  const rawAudioPart = { audioChannels: [paddedAudioSamples], sampleRate };
809
- const { melSpectogram } = await computeMelSpectogramUsingFilterbanks(rawAudioPart, fftOrder, fftWindowSize, fftHopLength, filterbanks);
810
- await logger.startAsync('Normalize mel spectogram');
811
- const logMelSpectogram = melSpectogram.map(spectrum => spectrum.map(mel => Math.log10(Math.max(mel, 1e-10))));
812
- // Find maximum log mel value in the spectrum
839
+ // Compute Mel spectrogram
840
+ const { melSpectrogram } = await computeMelSpectrogramUsingFilterbanks(rawAudioPart, fftOrder, fftWindowSize, fftHopLength, filterbanks);
841
+ // Flatten, transpose, apply logarithm and normalize Mel spectrogram
842
+ await logger.startAsync('Process Mel spectrogram');
843
+ const flattenedLogMelSpectrogram = new Float32Array(maxAudioFrames * filterbankCount);
813
844
  let maxLogMel = -Infinity;
814
- for (const spectrum of logMelSpectogram) {
815
- for (const mel of spectrum) {
816
- if (mel > maxLogMel) {
817
- maxLogMel = mel;
818
- }
819
- }
820
- }
821
- // Normalize log mel spectogram (based on Python reference code)
822
- const normalizedLogMelSpectogram = logMelSpectogram.map(spectrum => spectrum.map(logMel => (Math.max(logMel, maxLogMel - 8) + 4) / 4));
823
- // Flatten the normalized log mel spectogram
824
- const flattenedNormalizedLogMelSpectogram = new Float32Array(maxAudioFrames * filterbankCount);
825
845
  for (let i = 0; i < filterbankCount; i++) {
826
846
  for (let j = 0; j < maxAudioFrames; j++) {
827
- flattenedNormalizedLogMelSpectogram[(i * maxAudioFrames) + j] = normalizedLogMelSpectogram[j][i];
847
+ const mel = melSpectrogram[j][i];
848
+ const logMel = Math.log10(Math.max(mel, 1e-10));
849
+ if (logMel > maxLogMel) {
850
+ maxLogMel = logMel;
851
+ }
852
+ flattenedLogMelSpectrogram[(i * maxAudioFrames) + j] = logMel;
828
853
  }
829
854
  }
855
+ for (let i = 0; i < flattenedLogMelSpectrogram.length; i++) {
856
+ const logMel = flattenedLogMelSpectrogram[i];
857
+ const normalizedLogMel = (Math.max(logMel, maxLogMel - 8) + 4) / 4;
858
+ flattenedLogMelSpectrogram[i] = normalizedLogMel;
859
+ }
830
860
  // Run the encoder model
831
- await logger.startAsync('Encode mel spectogram with Whisper encoder model');
832
- const inputTensor = new Onnx.Tensor('float32', flattenedNormalizedLogMelSpectogram, [1, filterbankCount, maxAudioFrames]);
861
+ await logger.startAsync('Encode Mel spectrogram with Whisper encoder model');
862
+ const inputTensor = new Onnx.Tensor('float32', flattenedLogMelSpectrogram, [1, filterbankCount, maxAudioFrames]);
833
863
  const encoderInputs = { mel: inputTensor };
834
864
  const encoderOutputs = await this.audioEncoder.run(encoderInputs);
835
865
  const encodedAudioFeatures = encoderOutputs['output'];
@@ -850,7 +880,7 @@ export class Whisper {
850
880
  function endsWithSeparatorCharacter(text) {
851
881
  return isSeparatorCharacter(text[text.length - 1]);
852
882
  }
853
- if (language != 'zh' && language != 'ja') {
883
+ if (language !== 'zh' && language !== 'ja') {
854
884
  tokenTimeline = tokenTimeline.filter(entry => this.isTextToken(entry.id));
855
885
  }
856
886
  const resultTimeline = [];
@@ -860,7 +890,7 @@ export class Whisper {
860
890
  const previousEntry = tokenIndex > 0 ? tokenTimeline[tokenIndex - 1] : undefined;
861
891
  const text = entry.text;
862
892
  const previousEntryText = previousEntry?.text;
863
- if (groups.length == 0 ||
893
+ if (groups.length === 0 ||
864
894
  text === '' ||
865
895
  startsWithSeparatorCharacter(text) ||
866
896
  (previousEntryText != null && endsWithSeparatorCharacter(previousEntryText))) {
@@ -911,12 +941,12 @@ export class Whisper {
911
941
  return resultTimeline;
912
942
  }
913
943
  async getTokenTimelineFromAlignmentPath(alignmentPath, tokens, startTimeOffset, endTimeOffset, tokensConfidence, correctionAmount = 0.0) {
914
- if (alignmentPath.length == 0) {
944
+ if (alignmentPath.length === 0) {
915
945
  return [];
916
946
  }
917
947
  const tokenTimeline = [];
918
948
  for (let pathIndex = 0; pathIndex < alignmentPath.length; pathIndex++) {
919
- if (pathIndex != 0 && alignmentPath[pathIndex].source == alignmentPath[pathIndex - 1].source) {
949
+ if (pathIndex !== 0 && alignmentPath[pathIndex].source === alignmentPath[pathIndex - 1].source) {
920
950
  continue;
921
951
  }
922
952
  const tokenMappingEntry = alignmentPath[pathIndex];
@@ -988,8 +1018,9 @@ export class Whisper {
988
1018
  let sumOfAllSquaredWeightsForHead = 0;
989
1019
  let countOfAllWeightsForHead = 0;
990
1020
  for (const tokenFrames of head) {
991
- sumOfAllWeightsForHead += sumVector(tokenFrames);
992
- sumOfAllSquaredWeightsForHead += sumOfSquaresForVector(tokenFrames);
1021
+ const { sum, sumOfSquares } = sumAndSumOfSquaresOfVector(tokenFrames);
1022
+ sumOfAllWeightsForHead += sum;
1023
+ sumOfAllSquaredWeightsForHead += sumOfSquares;
993
1024
  countOfAllWeightsForHead += tokenFrames.length;
994
1025
  }
995
1026
  const meanOfAllWeightsForHead = sumOfAllWeightsForHead / countOfAllWeightsForHead;
@@ -1122,19 +1153,19 @@ export class Whisper {
1122
1153
  }
1123
1154
  getKvDimensions(groupCount, length) {
1124
1155
  const modelName = this.modelName;
1125
- if (modelName == 'tiny' || modelName == 'tiny.en') {
1156
+ if (modelName === 'tiny' || modelName === 'tiny.en') {
1126
1157
  return [8, groupCount, length, 384];
1127
1158
  }
1128
- else if (modelName == 'base' || modelName == 'base.en') {
1159
+ else if (modelName === 'base' || modelName === 'base.en') {
1129
1160
  return [12, groupCount, length, 512];
1130
1161
  }
1131
- else if (modelName == 'small' || modelName == 'small.en') {
1162
+ else if (modelName === 'small' || modelName === 'small.en') {
1132
1163
  return [24, groupCount, length, 768];
1133
1164
  }
1134
- else if (modelName == 'medium' || modelName == 'medium.en') {
1165
+ else if (modelName === 'medium' || modelName === 'medium.en') {
1135
1166
  return [48, groupCount, length, 1024];
1136
1167
  }
1137
- else if (modelName == 'large-v1' || modelName == 'large-v2' || modelName == 'large-v3' || modelName == 'large-v3-turbo') {
1168
+ else if (modelName === 'large-v1' || modelName === 'large-v2' || modelName === 'large-v3' || modelName === 'large-v3-turbo') {
1138
1169
  return [64, groupCount, length, 1280];
1139
1170
  }
1140
1171
  else {
@@ -1146,7 +1177,7 @@ export class Whisper {
1146
1177
  let tokens;
1147
1178
  if (this.isMultiligualModel) {
1148
1179
  const languageToken = this.tokenConfig.languageTokensStart + languageIdLookup[language];
1149
- const taskToken = task == 'translate' ? this.tokenConfig.translateTaskToken : this.tokenConfig.transcribeTaskToken;
1180
+ const taskToken = task === 'translate' ? this.tokenConfig.translateTaskToken : this.tokenConfig.transcribeTaskToken;
1150
1181
  tokens = [startOfTextToken, languageToken, taskToken];
1151
1182
  }
1152
1183
  else {
@@ -1332,7 +1363,7 @@ export async function loadPackagesAndGetPaths(modelName, languageCode) {
1332
1363
  else {
1333
1364
  if (languageCode) {
1334
1365
  const shortLanguageCode = getShortLanguageCode(languageCode);
1335
- modelName = shortLanguageCode == 'en' ? 'tiny.en' : 'tiny';
1366
+ modelName = shortLanguageCode === 'en' ? 'tiny.en' : 'tiny';
1336
1367
  }
1337
1368
  else {
1338
1369
  modelName = 'tiny';
@@ -1346,7 +1377,7 @@ export async function loadPackagesAndGetPaths(modelName, languageCode) {
1346
1377
  return { modelName, modelDir };
1347
1378
  }
1348
1379
  export function normalizeWhisperModelName(modelName, languageCode) {
1349
- if (languageCode != 'en' && modelName.endsWith('.en')) {
1380
+ if (languageCode !== 'en' && modelName.endsWith('.en')) {
1350
1381
  const originalModelName = modelName;
1351
1382
  modelName = modelName.slice(0, modelName.length - 3);
1352
1383
  const logger = new Logger();
@@ -1496,16 +1527,17 @@ const languageIdLookup = {
1496
1527
  'ba': 96,
1497
1528
  'jw': 97,
1498
1529
  'su': 98,
1530
+ //'yue': 99
1499
1531
  };
1500
1532
  const alignmentHeadsIndexes = {
1501
- 'tiny.en': [6, 12, 17, 18, 19, 20, 21, 22,],
1502
1533
  'tiny': [14, 18, 20, 21, 22, 23,],
1503
- 'base.en': [27, 39, 41, 45, 47,],
1534
+ 'tiny.en': [6, 12, 17, 18, 19, 20, 21, 22,],
1504
1535
  'base': [25, 34, 35, 39, 41, 42, 44, 46,],
1505
- 'small.en': [78, 84, 87, 92, 98, 101, 103, 108, 112, 116, 118, 120, 121, 122, 123, 126, 131, 134, 136,],
1536
+ 'base.en': [27, 39, 41, 45, 47,],
1506
1537
  'small': [63, 69, 96, 100, 103, 104, 108, 115, 117, 125,],
1507
- 'medium.en': [180, 225, 236, 238, 244, 256, 260, 265, 284, 286, 295, 298, 303, 320, 323, 329, 334, 348,],
1538
+ 'small.en': [78, 84, 87, 92, 98, 101, 103, 108, 112, 116, 118, 120, 121, 122, 123, 126, 131, 134, 136,],
1508
1539
  'medium': [223, 244, 255, 257, 320, 372,],
1540
+ 'medium.en': [180, 225, 236, 238, 244, 256, 260, 265, 284, 286, 295, 298, 303, 320, 323, 329, 334, 348,],
1509
1541
  'large-v1': [199, 222, 224, 237, 447, 451, 457, 462, 475,],
1510
1542
  'large-v2': [212, 277, 331, 332, 333, 355, 356, 364, 371, 379, 391, 422, 423, 443, 449, 452, 465, 467, 473, 505, 521, 532, 555,],
1511
1543
  'large-v3': [140, 217, 258, 272, 321, 354, 391, 424, 481, 506,],