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.
- package/dist/api/Alignment.js +2 -1
- package/dist/api/Alignment.js.map +1 -1
- package/dist/recognition/WhisperSTT.js +21 -9
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/docs/Contributing.md +4 -4
- package/docs/Engines.md +1 -1
- package/docs/Options.md +2 -2
- package/docs/Releases.md +7 -7
- package/docs/Tasklist.md +15 -15
- package/package.json +2 -2
- package/src/api/Alignment.ts +4 -2
- package/src/recognition/WhisperSTT.ts +24 -10
package/dist/api/Alignment.js
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
|
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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"}
|
package/docs/Contributing.md
CHANGED
|
@@ -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
|
|
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.
|
|
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
|
-
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
162
|
-
|
|
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
|
-
*
|
|
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
|
|
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.
|
|
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.
|
|
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",
|
package/src/api/Alignment.ts
CHANGED
|
@@ -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,
|
|
491
|
+
const sentences = splitToSentences(transcript, targetLanguage)
|
|
488
492
|
|
|
489
493
|
for (const sentence of sentences) {
|
|
490
|
-
let sentenceWords = await splitToWords(sentence,
|
|
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,
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
|
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])
|