echogarden 1.1.0 → 1.1.1

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.
@@ -101,6 +101,7 @@ export async function align(input, transcript, options) {
101
101
  let mappedTimeline;
102
102
  switch (options.engine) {
103
103
  case 'dtw': {
104
+ logger.end();
104
105
  const { referenceRawAudio, referenceTimeline } = await createAlignmentReferenceUsingEspeak(transcript, language, options.plainText, options.customLexiconPaths, false);
105
106
  logger.end();
106
107
  const { windowDurations, granularities } = getDtwWindowDurationsAndGranularities();
@@ -108,8 +109,8 @@ export async function align(input, transcript, options) {
108
109
  break;
109
110
  }
110
111
  case 'dtw-ra': {
111
- const recognitionOptions = extendDeep({ crop: options.crop, language }, options.recognition);
112
112
  logger.end();
113
+ const recognitionOptions = extendDeep({ crop: options.crop, language }, options.recognition);
113
114
  // Recognize source audio
114
115
  let { wordTimeline: recognitionTimeline } = await API.recognize(sourceRawAudio, recognitionOptions);
115
116
  logger.log('');
@@ -1 +1 @@
1
- {"version":3,"file":"Alignment.js","sourceRoot":"","sources":["../../src/api/Alignment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Alignment.js","sourceRoot":"","sources":["../../src/api/Alignment.ts"],"names":[],"mappings":"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"}
@@ -241,7 +241,7 @@ export class Whisper {
241
241
  partTokens = partTokens.slice(initialTokens.length);
242
242
  partTokensConfidence = partTokensConfidence.slice(initialTokens.length);
243
243
  partCrossAttentionQKs = partCrossAttentionQKs.slice(initialTokens.length);
244
- // Compute compression ratio for part
244
+ // Compute compression ratio for part (disabled for now)
245
245
  if (false) {
246
246
  const compressionRatioForPart = (await getDeflateCompressionMetricsForString(this.tokensToText(partTokens))).ratio;
247
247
  }
@@ -249,8 +249,10 @@ export class Whisper {
249
249
  const alignmentPath = await this.findAlignmentPathFromQKs(partCrossAttentionQKs, partTokens, 0, segmentFrameCount); //, alignmentHeadsIndexes[this.modelName])
250
250
  // Generate timeline from alignment path
251
251
  const partTimeline = await this.getTokenTimelineFromAlignmentPath(alignmentPath, partTokens, segmentStartTime, segmentEndTime, partTokensConfidence);
252
+ // Add tokens to output
252
253
  allDecodedTokens.push(...partTokens);
253
254
  timeline.push(...partTimeline);
255
+ // Update previous text tokens
254
256
  previousPartTextTokens = partTokens.filter(token => this.isTextToken(token));
255
257
  audioOffset = audioEndOffset;
256
258
  logger.end();
@@ -266,9 +268,10 @@ export class Whisper {
266
268
  await this.initializeTokenizerIfNeeded();
267
269
  whisperAlignmentOptions = extendDeep(defaultWhisperAlignmentOptions, whisperAlignmentOptions);
268
270
  const shouldSplitToSentences = false;
271
+ const targetLanguage = task === 'transcribe' ? sourceLanguage : 'en';
269
272
  let simplifiedTranscript = '';
270
273
  if (shouldSplitToSentences) {
271
- const sentences = splitToSentences(transcript, 'en');
274
+ const sentences = splitToSentences(transcript, targetLanguage);
272
275
  for (const sentence of sentences) {
273
276
  let sentenceWords = await splitToWords(sentence, 'en');
274
277
  sentenceWords = sentenceWords.filter(word => isWord(word));
@@ -277,7 +280,7 @@ export class Whisper {
277
280
  }
278
281
  }
279
282
  else {
280
- let words = await splitToWords(transcript, 'en');
283
+ let words = await splitToWords(transcript, targetLanguage);
281
284
  words = words.map(word => word.trim());
282
285
  words = words.filter(word => isWord(word));
283
286
  simplifiedTranscript = words.join(' ');
@@ -453,15 +456,15 @@ export class Whisper {
453
456
  kv_cache: kvCacheTensor,
454
457
  offset: offsetTensor
455
458
  };
456
- // Run decoder
459
+ // Run decoder model
457
460
  const decoderOutputs = await this.textDecoder.run(decoderInputs);
458
- // Store results
461
+ // Extract decoder model results
459
462
  const logitsBuffer = decoderOutputs['logits'].data;
460
463
  kvCacheTensor = decoderOutputs['output_kv_cache'];
461
464
  const crossAttentionQKsForTokenOnnx = decoderOutputs['cross_attention_qks'];
462
465
  const crossAttentionQKsForToken = makeOnnxLikeFloat32Tensor(crossAttentionQKsForTokenOnnx);
463
466
  crossAttentionQKsForTokenOnnx.dispose();
464
- // Get logits
467
+ // Compute logits
465
468
  const resultLogitsFloatArrays = splitFloat32Array(logitsBuffer, logitsBuffer.length / decoderOutputs['logits'].dims[1]);
466
469
  const allTokenLogits = Array.from(resultLogitsFloatArrays[resultLogitsFloatArrays.length - 1]);
467
470
  // Suppress metadata tokens in the suppression set
@@ -508,6 +511,7 @@ export class Whisper {
508
511
  // Decode a timestamp token
509
512
  timestampTokenSeenCount += 1;
510
513
  if (previousTokenWasTimestamp) {
514
+ // If previously decoded token was a timestamp token, repeat it
511
515
  const previousToken = decodedTokens[decodedTokens.length - 1];
512
516
  const previousTokenTimestampLogits = decodedTokensTimestampLogits[decodedTokensTimestampLogits.length - 1];
513
517
  const previousTokenConfidence = decodedTokensConfidence[decodedTokensConfidence.length - 1];
@@ -515,12 +519,14 @@ export class Whisper {
515
519
  lastTimestampTokenIndex = decodedTokens.length;
516
520
  }
517
521
  else {
522
+ // Otherwise decode the highest probability timestamp
518
523
  const timestampToken = timestampTokensStart + indexOfMaxTimestampLogProb;
519
524
  const confidence = probabilities[timestampToken];
520
525
  addToken(timestampToken, timestampTokenLogits, confidence, crossAttentionQKsForToken);
521
526
  }
522
527
  return true;
523
528
  };
529
+ // Call the method to decode timestamp token if needed
524
530
  const timestampTokenDecoded = decodeTimestampTokenIfNeeded();
525
531
  if (timestampTokenDecoded) {
526
532
  await yieldToEventLoop();
@@ -530,7 +536,7 @@ export class Whisper {
530
536
  let nonTimestampTokenLogits = allTokenLogits.slice(0, timestampTokensStart);
531
537
  let shouldDecodeEndfOfTextToken = false;
532
538
  // If not in initial state, and the end-of-text token's probability is sufficiently higher than
533
- // the second highest ranked token, then set to accept it
539
+ // the second highest ranked token, then accept end-of-text
534
540
  if (!isInitialState) {
535
541
  const endOfTextTokenLogit = nonTimestampTokenLogits[endOfTextToken];
536
542
  const otherTokensLogits = nonTimestampTokenLogits.slice();
@@ -564,7 +570,7 @@ export class Whisper {
564
570
  for (const suppressedTokenIndex of suppressedTextTokens) {
565
571
  nonTimestampTokenLogits[suppressedTokenIndex] = -Infinity;
566
572
  }
567
- // Suppress space token if at initial state
573
+ // Suppress the space token if at initial state
568
574
  if (isInitialState) {
569
575
  nonTimestampTokenLogits[spaceToken] = -Infinity;
570
576
  }
@@ -575,7 +581,7 @@ export class Whisper {
575
581
  addToken(endOfTextToken, timestampTokenLogits, 1.0, crossAttentionQKsForToken);
576
582
  break;
577
583
  }
578
- // Suppress end-of-text if it shouldn't be included in candidates
584
+ // Suppress end-of-text token if it shouldn't be included in candidates
579
585
  if (!options.includeEndTokenInCandidates) {
580
586
  nonTimestampTokenLogits[endOfTextToken] = -Infinity;
581
587
  }
@@ -702,13 +708,16 @@ export class Whisper {
702
708
  if (audioSamples.length > maxAudioSamples) {
703
709
  throw new Error(`Audio part is longer than 30 seconds`);
704
710
  }
711
+ // Compute a mel spectogram
705
712
  await logger.startAsync('Extract mel spectogram from audio part');
713
+ // Pad audio samples to ensure that have a duration of 30 seconds
706
714
  const paddedAudioSamples = new Float32Array(maxAudioSamples);
707
715
  paddedAudioSamples.set(audioSamples, 0);
708
716
  const rawAudioPart = { audioChannels: [paddedAudioSamples], sampleRate };
709
717
  const { melSpectogram } = await computeMelSpectogramUsingFilterbanks(rawAudioPart, fftOrder, fftOrder, hopLength, filterbanks);
710
718
  await logger.startAsync('Normalize mel spectogram');
711
719
  const logMelSpectogram = melSpectogram.map(spectrum => spectrum.map(mel => Math.log10(Math.max(mel, 1e-10))));
720
+ // Find maximum log mel value in the spectrum
712
721
  let maxLogMel = -Infinity;
713
722
  for (const spectrum of logMelSpectogram) {
714
723
  for (const mel of spectrum) {
@@ -717,13 +726,16 @@ export class Whisper {
717
726
  }
718
727
  }
719
728
  }
729
+ // Normalize log mel spectogram (based on Python reference code)
720
730
  const normalizedLogMelSpectogram = logMelSpectogram.map(spectrum => spectrum.map(logMel => (Math.max(logMel, maxLogMel - 8) + 4) / 4));
731
+ // Flatten the normalized log mel spectogram
721
732
  const flattenedNormalizedLogMelSpectogram = new Float32Array(maxAudioFrames * filterbankCount);
722
733
  for (let i = 0; i < filterbankCount; i++) {
723
734
  for (let j = 0; j < maxAudioFrames; j++) {
724
735
  flattenedNormalizedLogMelSpectogram[(i * maxAudioFrames) + j] = normalizedLogMelSpectogram[j][i];
725
736
  }
726
737
  }
738
+ // Run the encoder model
727
739
  await logger.startAsync('Encode mel spectogram with Whisper encoder model');
728
740
  const inputTensor = new Onnx.Tensor('float32', flattenedNormalizedLogMelSpectogram, [1, filterbankCount, maxAudioFrames]);
729
741
  const encoderInputs = { mel: inputTensor };
@@ -1 +1 @@
1
- {"version":3,"file":"WhisperSTT.js","sourceRoot":"","sources":["../../src/recognition/WhisperSTT.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhisperSTT.js","sourceRoot":"","sources":["../../src/recognition/WhisperSTT.ts"],"names":[],"mappings":"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EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,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"}
@@ -6,15 +6,15 @@ However, there are many areas where contributions can be made.
6
6
 
7
7
  ## Report any issue or bug you encounter
8
8
 
9
- First, check the issue tracker, as well as the [task list](Tasklist.md) to see if the problem is already known to me. The task list allows me to efficiently document and organize a large quantity of small issues, enhancements or ideas that would otherwise flood an issue tracker with lots of unimportant entries, be ignored, or forgotten entirely.
9
+ First, check the issue tracker, as well as the [task list](Tasklist.md) to see if the problem is already known to me. The task list allows me to efficiently document and organize a large number of small issues, enhancements or ideas that would otherwise flood an issue tracker with lots of unimportant entries, be ignored, or be forgotten entirely.
10
10
 
11
11
  If you find the issue you're encountering in the task list, you can still open an issue to discuss it. This allows me to know that someone cares about a particular issue, and I may give it higher priority.
12
12
 
13
13
  There might be some obvious errors that have gone unreported. Especially if:
14
- * You're using the macOS architecture: I don't have access to a macOS machine, so personally I did not and cannot perform testing on that platform.
14
+ * You're using the macOS architecture: I don't have access to a macOS machine, so personally, I did not and cannot perform testing on that platform.
15
15
  * You're using cloud services: There may be changes in the service that will require updating the code. I don't often test they work correctly, since my trial periods in Google, Microsoft and Amazon have all expired, thus testing requires me to use paid requests.
16
16
 
17
- Since there is a large number of engines, options and behaviors, it is difficult for me to test everything at each release. It is likely there are edge cases that I didn't think about or noticed.
17
+ Since there is a large number of engines, options and behaviors, it is difficult for me to test everything at each release. There are likely edge cases that I didn't think about or noticed.
18
18
 
19
19
  In any case, please let me know if you get any unexpected error message or surprising behavior that you care about, and I'll try to prioritize it, if possible.
20
20
 
@@ -30,7 +30,7 @@ If the problem is serious, you can report it, and we'll see what we can do.
30
30
 
31
31
  ## Fork and make changes to the codebase
32
32
 
33
- See guide for [setting up a development environment](Development.md).
33
+ See the guide for [setting up a development environment](Development.md).
34
34
 
35
35
 
36
36
  ## Notes about licensing
package/docs/Engines.md CHANGED
@@ -80,7 +80,7 @@ These engines' goal is to match (or "align") a given spoken recording with a giv
80
80
 
81
81
  ## Speech-to-translated-transcript alignment
82
82
 
83
- These goal here is to match (or "align") a given spoken recording in one language, with a given translated transcript in a different language, as closely as possible.
83
+ The goal here is to match (or "align") a given spoken recording in one language, with a given translated transcript in a different language, as closely as possible.
84
84
 
85
85
  * `whisper`: given a spoken recording in any of the [98 languages](https://platform.openai.com/docs/guides/speech-to-text/supported-languages) supported by Whisper, and an English translation of its transcript, the translated transcript is tokenized and then decoded, in order, using a guided approach, with any multilingual Whisper model, set to its `translate` task mode. In this way, the approximate mapping between the spoken audio and each word of the translation is estimated
86
86
 
package/docs/Options.md CHANGED
@@ -142,11 +142,11 @@ Applies to CLI operation: `transcribe`, API method: `recognize`
142
142
 
143
143
  **Whisper**:
144
144
  * `whisper.model`: selects which Whisper 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` (**Note**: large models aren't yet supported by `onnxruntime-node` due to their size). Defaults to `tiny` or `tiny.en`
145
- * `whisper.temperature`: temperature setting for the text decoder. Impacts amount of randomization for token selection. It is recommended to leave at `0.1` (close to no randomization - almost always chooses the top ranked token) or choose a relatively low value (`0.25` or lower) for best results. Defaults to `0.1`
145
+ * `whisper.temperature`: temperature setting for the text decoder. Impacts the amount of randomization for token selection. It is recommended to leave at `0.1` (close to no randomization - almost always chooses the top ranked token) or choose a relatively low value (`0.25` or lower) for best results. Defaults to `0.1`
146
146
  * `whisper.prompt`: initial text to give the Whisper model. Can be a vocabulary, or example text of some sort. Note that if the prompt is very similar to the transcript, the model may intentionally avoid producing the transcript tokens as it may assume that they have already been transcribed. Optional
147
147
  * `whisper.topCandidateCount`: the number of top candidate tokens to consider. Defaults to `5`
148
148
  * `whisper.punctuationThreshold`: the minimal probability for a punctuation token, included in the top candidates, to be chosen unconditionally. A lower threshold encourages the model to output more punctuation symbols. Defaults to `0.2`
149
- * `whisper.autoPromptParts`: use previous part's recognized text as prompt for the next part. Disabling this may help to prevent repetition carrying over between parts, in some cases. Defaults to `true`
149
+ * `whisper.autoPromptParts`: use previous part's recognized text as the prompt for the next part. Disabling this may help to prevent repetition carrying over between parts, in some cases. Defaults to `true`
150
150
  * `whisper.maxTokensPerPart`: maximum number of tokens to decode for each audio part. Defaults to `250`
151
151
  * `whisper.suppressRepetition`: attempt to suppress decoding of repeating token patterns. Defaults to `true`
152
152
  * `whisper.decodeTimestampTokens`: enable/disable decoding of timestamp tokens. Setting to `false` can reduce the occurrence of hallucinations and token repetition loops, possibly due to the overall reduction in the number of tokens decoded. This has no impact on the accuracy of timestamps, since they are derived independently using cross-attention weights. However, there are cases where this can cause the model to end a part prematurely, especially in singing and less speech-like voice segments, or when there are multiple speakers. Defaults to `true`
package/docs/Releases.md CHANGED
@@ -14,7 +14,7 @@ For releases after `1.0.0`, see the [GitHub releases page](https://github.com/ec
14
14
  * Integrate optional vocal isolation to speech recognition, alignment and translation operations using the new `--isolate` option, allowing for higher accuracy in difficult cases like achieving word-level lyrics alignment
15
15
  * Add the new `adaptive-gate` VAD engine using a custom bandlimited adaptive gate. Fast and robust. Works well for relatively clean tracks or tracks that have already been processed using vocal isolation
16
16
  * Add optional token-level repetition suppression to Whisper engine
17
- * Expose several new configuration options for the Whisper engine: a settings for maximum tokens per part, and a setting to enable/disable repetition suppression, set custom random seed, disable/enable decoding of timestamp tokens
17
+ * Expose several new configuration options for the Whisper engine: settings for maximum tokens per part, and a setting to enable/disable repetition suppression, set custom random seed, disable/enable decoding of timestamp tokens
18
18
  * Expose more options for the Elevenlabs engine
19
19
 
20
20
  **Enhancements**:
@@ -25,13 +25,13 @@ For releases after `1.0.0`, see the [GitHub releases page](https://github.com/ec
25
25
  **Behavioral and breaking changes**:
26
26
  * Minimal required node version changed to `18.0.0`
27
27
  * All recognition, alignment, translation and language recognition operations first apply the new adaptive gate VAD (can be changed to any other VAD engine via the `vad.` option prefix) and remove any sections that are not identified as containing voice, before starting processing. This should improve results in most cases, and reduce processing time
28
- * To reduce Whisper hallucinations and repetition loops, these change were made:
28
+ * To reduce Whisper hallucinations and repetition loops, these changes were made:
29
29
  * Pre-cropping by default can significantly help with reducing hallucinations, giving the model less "empty space" to hallucinate on
30
30
  * Enable new token-level repetition suppression (`suppressRepetition = true`) during decoding
31
31
  * Disable decoding of timestamp tokens by default (`decodeTimestampTokens = false`), since more accurate timing is already extracted via cross-attention weight alignment. For unclear reasons, this can significantly reduce the occurrence of token repetition loops, and increases word timestamp accuracy. However, there are cases where this causes the model to end a part prematurely, especially in singing and less speech-like voice segments. In those cases the it can be enabled with `decodeTimestampTokens = true`
32
32
  * When `transcribe`, `align` or `translate-speech` operations are run with `--isolate` enabled, they will output the isolated part in `some-output-file.isolated.wav` and background part (isolated subtracted from original) in `some-output-file.background.wav` (any supported codec other than `wav` can be used - this is just an example)
33
33
  * VAD operations now return a timeline including only the active sections, labeled as `active`
34
- * When the specified language is not English, but an `.en` Whisper model was specified, a warning would be shown, and the model would be automatically switched to the corresponding multilingual model (omitting the `.en`), instead of producing an error
34
+ * When the specified language is not English, but an `.en` Whisper model was specified, a warning would be shown, and the model will be automatically switched to the corresponding multilingual model (omitting the `.en`), instead of producing an error
35
35
  * Default speech language detection engine is now changed to `whisper`
36
36
  * Default voice activity detection engine is now changed to `silero`
37
37
  * CLI: duplicate file name outputs would now append the `_001` suffix pattern instead of ` (1)`. This change is meant to simplify sorting and typing the resulting file names and remove the space and parenthesis characters, to ensure compatibility with all operating systems
@@ -40,7 +40,7 @@ For releases after `1.0.0`, see the [GitHub releases page](https://github.com/ec
40
40
  * `dryMixGainDb` denoising option renamed to `dryMixGain`
41
41
 
42
42
  **Fixes**:
43
- * Integrated `whisper` engine now uses `tiktoken` to tokenize text, which produces near identical tokenization compared to the official Python implementation. This fixes issues with decoding Chinese characters, correctly encoding prompts, and several others languages with characters that span multiple tokens
43
+ * Integrated `whisper` engine now uses `tiktoken` to tokenize text, which produces near identical tokenization compared to the official Python implementation. This fixes issues with decoding Chinese characters, correctly encoding prompts, and several other languages with characters that span multiple tokens
44
44
  * Fix voice language lists for multilingual voices in Elevenlabs TTS engine
45
45
  * Fix runtime error with `rnnoise` when used as VAD engine
46
46
  * Fix issue in CLI where supported output media formats weren't reported correctly
@@ -132,7 +132,7 @@ Many features, enhancements, and fixes were incrementally added over the span of
132
132
  * Expose subtitle configuration options to CLI
133
133
 
134
134
  **Enhancements**:
135
- * Improve speech language detection to work with arbitrary length audio. Split audio to overlapping parts and detect each part individually. Then average the results.
135
+ * Improve speech language detection to work with arbitrary length audio. Split audio into overlapping parts and detect each part individually. Then average the results.
136
136
  * Add more heteronyms
137
137
 
138
138
  **Behavioral changes**:
@@ -251,8 +251,8 @@ Many features, enhancements, and fixes were incrementally added over the span of
251
251
  **New features**:
252
252
 
253
253
  **Enhancements**:
254
- * Show current sentence and segment in synthesis log.
255
- * Add check for cancellation flag.
254
+ * Show current sentence and segment in synthesis log
255
+ * Add check for cancellation flag
256
256
  * Add support to additional VITS voices
257
257
  * Improve auto TTS engine selection
258
258
  * Many Enhancements
package/docs/Tasklist.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ### Alignment
6
6
 
7
- * In DTW-RA, recognition transcript including something like "Question 2.What does Juan", where "2.What" has a point in the middle, is breaking playback of the timeline
7
+ * In DTW-RA, a recognized transcript including something like "Question 2.What does Juan", where "2.What" has a point in the middle, is breaking playback of the timeline
8
8
  * DTW-RA will not work correctly with Polish language texts, due to issues with the eSpeak engine pronouncing `|` characters, which are intended to be used as separators and ignored by all other eSpeak languages
9
9
 
10
10
  ### Synthesis
@@ -35,7 +35,7 @@
35
35
  ## Features and enhancements
36
36
 
37
37
  ### CLI
38
- * Show names of files written do disk. This is useful for cases where a file is auto-renamed to prevent overwriting existing data
38
+ * Show names of files written to disk. This is useful for cases where a file is auto-renamed to prevent overwriting existing data
39
39
  * Restrict input media file extensions to ensure that invalid files are not passed to FFmpeg
40
40
  * Consider what to do with non-supported templates like `[hello]`
41
41
  * Show a message when a new version is available
@@ -67,7 +67,7 @@
67
67
  * Use the Wikipedia reader when the URL is detected to be from `wikipedia.org`
68
68
 
69
69
  ### CLI / `list-voices`
70
- * When given a configuration file, see if you can fall back to take options from `speak` options, for example, to take API keys that are required for the both the synthesis request and voice list request and
70
+ * When given a configuration file, see if you can fall back to take options from `speak` options, for example, to take API keys that are required for both the synthesis request and voice list request and
71
71
 
72
72
  ### CLI / `list-packages`
73
73
  * Support filters
@@ -91,7 +91,7 @@
91
91
  * Accept voice list caching options in `SynthesisOptions`
92
92
 
93
93
  ### Package manager
94
- * Better error message when package is not found remotely. Currently, it just gives a `404 not found` without any other information
94
+ * Better error message when a package is not found remotely. Currently, it just gives a `404 not found` without any other information
95
95
  * Retry on network failure
96
96
 
97
97
  ### Speech language detection
@@ -115,8 +115,8 @@
115
115
  * Option to disable alignment (only for some engines). Alternative: use a low granularity DTW setting that is very fast to compute
116
116
  * Find places to add commas (",") to improve speech fluency. VITS voices don't normally add speech breaks if there is no punctuation
117
117
  * An isolated dash " - " can be converted to a " , " to ensure there's a break in the speech
118
- * Ensure abbreviations like "Ph.d" or names like are segmented and read correctly (does `cldr` treat it as a word? Maybe eSpeak doesn't recognize it as a word). "C#" and ".NET" as well
119
- * Find way to manually reset voice list cache
118
+ * Ensure abbreviations like "Ph.d" or similar names are segmented and read correctly (does `cldr` treat it as a word? Maybe eSpeak doesn't recognize it as a word). "C#" and ".NET" as well
119
+ * Find a way to manually reset voice list cache
120
120
  * When synthesized text isn't pre-split to sentences, apply sentence splits by using the existing method to convert the output of word timelines to sentence/segment timelines
121
121
  * Some `sapi` voices and `msspeech` languages output phones that are converted to Microsoft alphabet, not IPA symbols. Try to see if these can be translated to IPA
122
122
  * Decide whether asterisk `*` should be spoken when using `speak-url` or `speak-wikipedia`
@@ -155,11 +155,11 @@
155
155
  * Show alternatives when playing in the CLI. Clear current line and rewrite already printed text for alternatives during the speech recognition process
156
156
 
157
157
  ### Recognition / Whisper
158
- * Whisper's Chinese and Japanese output can be split to words in a more accurate way. Consider using a dedicated segmentation library to perform the segmentation in character sequences that have no spaces within them
158
+ * Whisper's Chinese and Japanese output can be split into words in a more accurate way. Consider using a dedicated segmentation library to perform the segmentation in character sequences that have no spaces within them
159
159
  * Automatically disable using previous section recognized transcript as prompt for the next section when lots of repetition occurred in previous section
160
- * Cache last model (if enough memory available)
161
- * The segment output can be used to split to segments, otherwise it is possible to try to guess using pause lengths or voice activity detection
162
- * Bring back option to use eSpeak DTW based alignment on segments, as an alternative approach
160
+ * Cache last model (if enough memory is available)
161
+ * The segment output can be used to split into segments, otherwise it is possible to try to guess using pause lengths or voice activity detection
162
+ Bring back the option to use eSpeak DTW based alignment on segments, as an alternative approach
163
163
 
164
164
  ### Alignment
165
165
 
@@ -170,7 +170,7 @@
170
170
  ### Alignment / Whisper
171
171
 
172
172
  ### Source separation / MDX-NET
173
- * Since MDX-NET requires FFT with large window sizes, the FFT computation overhead currently acts as a bottleneck, especially when GPU is used for inference. Currently it uses a WASM port of KissFFT, running on a single thread, which is still relatively fast. To get higher performance, try to (optionally) use native, SIMD optimized FFT like FFTW3 via a NAPI addon, with multi-threading enabled
173
+ * Since MDX-NET requires FFT with large window sizes, the FFT computation overhead currently acts as a bottleneck, especially when GPU is used for inference. Currently, it uses a WASM port of KissFFT, running on a single thread, which is still relatively fast. To get higher performance, try to (optionally) use native, SIMD optimized FFT like FFTW3 via a NAPI addon, with multi-threading enabled
174
174
  * Option to customize overlap
175
175
  * Add more models
176
176
 
@@ -225,7 +225,7 @@
225
225
  ### CLI
226
226
  * Auto-generate options file, with comments, based on default options of the API
227
227
  * Have the CLI launch a background worker (in a thread) to enable better parallelism
228
- * Play back result audio while synthesis or recognition is still processing in the background
228
+ * Playback result audio while synthesis or recognition is still processing in the background
229
229
  * Auto-import and extract project Gutenberg texts (by URL or from a file)
230
230
  * `stdin` input support
231
231
  * `stdout` output support
@@ -243,7 +243,7 @@
243
243
  * Add capitalization and punctuation to recognized outputs if needed (Silero has a model for it for `en`, `de`, `ru`, `es`, but in `.pt` format only)
244
244
 
245
245
  ### Synthesis
246
- * Synthesize given subtitle file and try to preserve the existing timing of cues, or even align to existing speech
246
+ * Synthesize the given subtitle file and try to preserve the existing timing of cues, or even align to existing speech
247
247
 
248
248
  ### Recognition
249
249
  * Low latency recognition mode. Make the partial transcription available as fast as possible
@@ -274,7 +274,7 @@
274
274
  ## Maybe?
275
275
 
276
276
  * Using a machine translation model to provide speech translation to languages other than English? How would the timing be determined?
277
- * Is it possible to get sentence boundaries without punctuation using NLP techniques like part of speech tagging?
277
+ * Is it possible to get sentence boundaries without punctuation using NLP techniques like part-of-speech tagging?
278
278
 
279
279
  ## May or may not be good ideas
280
280
 
@@ -283,7 +283,7 @@
283
283
 
284
284
  ## Other ideas
285
285
 
286
- * Support alignment of EPUB 3 eBooks with corresponding audiobook
286
+ * Support alignment of EPUB 3 eBooks with a corresponding audiobook
287
287
  * Voice cloning
288
288
  * Speech-to-speech voice conversion
289
289
  * Speech-to-speech translation
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
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",
@@ -88,7 +88,7 @@
88
88
  "moving-median": "^1.0.0",
89
89
  "msgpack-lite": "^0.1.26",
90
90
  "onnxruntime-node": "^1.17.3",
91
- "openai": "^4.38.2",
91
+ "openai": "^4.38.3",
92
92
  "sam-js": "^0.2.1",
93
93
  "strip-ansi": "^7.1.0",
94
94
  "tar": "^7.0.1",
@@ -125,6 +125,8 @@ export async function align(input: AudioSourceParam, transcript: string, options
125
125
 
126
126
  switch (options.engine) {
127
127
  case 'dtw': {
128
+ logger.end()
129
+
128
130
  const {
129
131
  referenceRawAudio,
130
132
  referenceTimeline
@@ -140,11 +142,11 @@ export async function align(input: AudioSourceParam, transcript: string, options
140
142
  }
141
143
 
142
144
  case 'dtw-ra': {
145
+ logger.end()
146
+
143
147
  const recognitionOptions: API.RecognitionOptions =
144
148
  extendDeep({ crop: options.crop, language }, options.recognition)
145
149
 
146
- logger.end()
147
-
148
150
  // Recognize source audio
149
151
  let { wordTimeline: recognitionTimeline } = await API.recognize(sourceRawAudio, recognitionOptions)
150
152
 
@@ -442,7 +442,7 @@ export class Whisper {
442
442
  partTokensConfidence = partTokensConfidence.slice(initialTokens.length)
443
443
  partCrossAttentionQKs = partCrossAttentionQKs.slice(initialTokens.length)
444
444
 
445
- // Compute compression ratio for part
445
+ // Compute compression ratio for part (disabled for now)
446
446
  if (false) {
447
447
  const compressionRatioForPart = (await getDeflateCompressionMetricsForString(this.tokensToText(partTokens))).ratio
448
448
  }
@@ -453,9 +453,11 @@ export class Whisper {
453
453
  // Generate timeline from alignment path
454
454
  const partTimeline = await this.getTokenTimelineFromAlignmentPath(alignmentPath, partTokens, segmentStartTime, segmentEndTime, partTokensConfidence)
455
455
 
456
+ // Add tokens to output
456
457
  allDecodedTokens.push(...partTokens)
457
458
  timeline.push(...partTimeline)
458
459
 
460
+ // Update previous text tokens
459
461
  previousPartTextTokens = partTokens.filter(token => this.isTextToken(token))
460
462
 
461
463
  audioOffset = audioEndOffset
@@ -479,22 +481,24 @@ export class Whisper {
479
481
 
480
482
  whisperAlignmentOptions = extendDeep(defaultWhisperAlignmentOptions, whisperAlignmentOptions)
481
483
 
484
+ const targetLanguage = task === 'transcribe' ? sourceLanguage : 'en'
485
+
482
486
  const shouldSplitToSentences = false
483
487
 
484
488
  let simplifiedTranscript = ''
485
489
 
486
490
  if (shouldSplitToSentences) {
487
- const sentences = splitToSentences(transcript, 'en')
491
+ const sentences = splitToSentences(transcript, targetLanguage)
488
492
 
489
493
  for (const sentence of sentences) {
490
- let sentenceWords = await splitToWords(sentence, 'en')
494
+ let sentenceWords = await splitToWords(sentence, targetLanguage)
491
495
  sentenceWords = sentenceWords.filter(word => isWord(word))
492
496
 
493
497
  simplifiedTranscript += sentenceWords.join(' ')
494
498
  simplifiedTranscript += ' '
495
499
  }
496
500
  } else {
497
- let words = await splitToWords(transcript, 'en')
501
+ let words = await splitToWords(transcript, targetLanguage)
498
502
  words = words.map(word => word.trim())
499
503
  words = words.filter(word => isWord(word))
500
504
  simplifiedTranscript = words.join(' ')
@@ -744,10 +748,10 @@ export class Whisper {
744
748
  offset: offsetTensor
745
749
  }
746
750
 
747
- // Run decoder
751
+ // Run decoder model
748
752
  const decoderOutputs = await this.textDecoder!.run(decoderInputs)
749
753
 
750
- // Store results
754
+ // Extract decoder model results
751
755
  const logitsBuffer = decoderOutputs['logits'].data as Float32Array
752
756
  kvCacheTensor = decoderOutputs['output_kv_cache'] as any
753
757
 
@@ -755,7 +759,7 @@ export class Whisper {
755
759
  const crossAttentionQKsForToken = makeOnnxLikeFloat32Tensor(crossAttentionQKsForTokenOnnx)
756
760
  crossAttentionQKsForTokenOnnx.dispose()
757
761
 
758
- // Get logits
762
+ // Compute logits
759
763
  const resultLogitsFloatArrays = splitFloat32Array(logitsBuffer, logitsBuffer.length / decoderOutputs['logits'].dims[1])
760
764
  const allTokenLogits = Array.from(resultLogitsFloatArrays[resultLogitsFloatArrays.length - 1])
761
765
 
@@ -817,6 +821,7 @@ export class Whisper {
817
821
  timestampTokenSeenCount += 1
818
822
 
819
823
  if (previousTokenWasTimestamp) {
824
+ // If previously decoded token was a timestamp token, repeat it
820
825
  const previousToken = decodedTokens[decodedTokens.length - 1]
821
826
  const previousTokenTimestampLogits = decodedTokensTimestampLogits[decodedTokensTimestampLogits.length - 1]
822
827
  const previousTokenConfidence = decodedTokensConfidence[decodedTokensConfidence.length - 1]
@@ -825,6 +830,7 @@ export class Whisper {
825
830
 
826
831
  lastTimestampTokenIndex = decodedTokens.length
827
832
  } else {
833
+ // Otherwise decode the highest probability timestamp
828
834
  const timestampToken = timestampTokensStart + indexOfMaxTimestampLogProb
829
835
  const confidence = probabilities[timestampToken]
830
836
 
@@ -834,6 +840,7 @@ export class Whisper {
834
840
  return true
835
841
  }
836
842
 
843
+ // Call the method to decode timestamp token if needed
837
844
  const timestampTokenDecoded = decodeTimestampTokenIfNeeded()
838
845
 
839
846
  if (timestampTokenDecoded) {
@@ -848,7 +855,7 @@ export class Whisper {
848
855
  let shouldDecodeEndfOfTextToken = false
849
856
 
850
857
  // If not in initial state, and the end-of-text token's probability is sufficiently higher than
851
- // the second highest ranked token, then set to accept it
858
+ // the second highest ranked token, then accept end-of-text
852
859
  if (!isInitialState) {
853
860
  const endOfTextTokenLogit = nonTimestampTokenLogits[endOfTextToken]
854
861
 
@@ -888,7 +895,7 @@ export class Whisper {
888
895
  nonTimestampTokenLogits[suppressedTokenIndex] = -Infinity
889
896
  }
890
897
 
891
- // Suppress space token if at initial state
898
+ // Suppress the space token if at initial state
892
899
  if (isInitialState) {
893
900
  nonTimestampTokenLogits[spaceToken] = -Infinity
894
901
  }
@@ -902,7 +909,7 @@ export class Whisper {
902
909
  break
903
910
  }
904
911
 
905
- // Suppress end-of-text if it shouldn't be included in candidates
912
+ // Suppress end-of-text token if it shouldn't be included in candidates
906
913
  if (!options.includeEndTokenInCandidates) {
907
914
  nonTimestampTokenLogits[endOfTextToken] = -Infinity
908
915
  }
@@ -1072,8 +1079,10 @@ export class Whisper {
1072
1079
  throw new Error(`Audio part is longer than 30 seconds`)
1073
1080
  }
1074
1081
 
1082
+ // Compute a mel spectogram
1075
1083
  await logger.startAsync('Extract mel spectogram from audio part')
1076
1084
 
1085
+ // Pad audio samples to ensure that have a duration of 30 seconds
1077
1086
  const paddedAudioSamples = new Float32Array(maxAudioSamples)
1078
1087
  paddedAudioSamples.set(audioSamples, 0)
1079
1088
 
@@ -1084,6 +1093,8 @@ export class Whisper {
1084
1093
  await logger.startAsync('Normalize mel spectogram')
1085
1094
 
1086
1095
  const logMelSpectogram = melSpectogram.map(spectrum => spectrum.map(mel => Math.log10(Math.max(mel, 1e-10))))
1096
+
1097
+ // Find maximum log mel value in the spectrum
1087
1098
  let maxLogMel = -Infinity
1088
1099
 
1089
1100
  for (const spectrum of logMelSpectogram) {
@@ -1094,9 +1105,11 @@ export class Whisper {
1094
1105
  }
1095
1106
  }
1096
1107
 
1108
+ // Normalize log mel spectogram (based on Python reference code)
1097
1109
  const normalizedLogMelSpectogram = logMelSpectogram.map(spectrum => spectrum.map(
1098
1110
  logMel => (Math.max(logMel, maxLogMel - 8) + 4) / 4))
1099
1111
 
1112
+ // Flatten the normalized log mel spectogram
1100
1113
  const flattenedNormalizedLogMelSpectogram = new Float32Array(maxAudioFrames * filterbankCount)
1101
1114
 
1102
1115
  for (let i = 0; i < filterbankCount; i++) {
@@ -1105,6 +1118,7 @@ export class Whisper {
1105
1118
  }
1106
1119
  }
1107
1120
 
1121
+ // Run the encoder model
1108
1122
  await logger.startAsync('Encode mel spectogram with Whisper encoder model')
1109
1123
 
1110
1124
  const inputTensor = new Onnx.Tensor('float32', flattenedNormalizedLogMelSpectogram, [1, filterbankCount, maxAudioFrames])