echogarden 2.8.6 → 2.8.7
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/math/VectorMath.js +3 -1
- package/dist/math/VectorMath.js.map +1 -1
- package/dist/recognition/WhisperSTT.d.ts +4 -1
- package/dist/recognition/WhisperSTT.js +55 -29
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/utilities/Utilities.js +4 -2
- package/dist/utilities/Utilities.js.map +1 -1
- package/docs/Licenses.md +0 -2
- package/docs/Tasklist.md +10 -5
- package/package.json +4 -4
- package/src/math/VectorMath.ts +5 -1
- package/src/recognition/WhisperSTT.ts +71 -31
- package/src/utilities/Utilities.ts +4 -2
package/dist/math/VectorMath.js
CHANGED
|
@@ -243,7 +243,9 @@ export function medianOfVector(vector) {
|
|
|
243
243
|
if (vector.length == 0) {
|
|
244
244
|
throw new Error('Vector is empty');
|
|
245
245
|
}
|
|
246
|
-
|
|
246
|
+
const sortedArray = Array.from(vector).sort((a, b) => a - b);
|
|
247
|
+
const median = sortedArray[Math.floor(sortedArray.length / 2)];
|
|
248
|
+
return median;
|
|
247
249
|
}
|
|
248
250
|
export function stdDeviationOfVector(vector, kind = 'population', mean) {
|
|
249
251
|
return Math.sqrt(varianceOfVector(vector, kind, mean));
|
|
@@ -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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"}
|
|
@@ -3,7 +3,7 @@ import { Filterbank } from '../dsp/MelSpectogram.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
|
|
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';
|
|
@@ -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;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Logger } from '../utilities/Logger.js';
|
|
2
2
|
import { computeMelSpectogramUsingFilterbanks } from '../dsp/MelSpectogram.js';
|
|
3
3
|
import { clip, getIntegerRange, getTopKIndexes, splitFloat32Array, yieldToEventLoop } from '../utilities/Utilities.js';
|
|
4
|
-
import { indexOfMax, logOfVector, logSumExp, meanOfVector, softmax, sumOfSquaresForVector, sumVector } from '../math/VectorMath.js';
|
|
4
|
+
import { indexOfMax, logOfVector, logSumExp, meanOfVector, medianOfVector, softmax, sumOfSquaresForVector, sumVector } from '../math/VectorMath.js';
|
|
5
5
|
import { alignDTWWindowed } from '../alignment/DTWSequenceAlignmentWindowed.js';
|
|
6
6
|
import { extendDeep } from '../utilities/ObjectUtilities.js';
|
|
7
7
|
import { getRawAudioDuration, sliceRawAudio } from '../audio/AudioUtilities.js';
|
|
8
8
|
import { readFileAsUtf8 } from '../utilities/FileSystem.js';
|
|
9
|
+
import { logLevelGreaterOrEqualTo } from '../api/API.js';
|
|
9
10
|
import { formatLanguageCodeWithName, getShortLanguageCode, languageCodeToName } from '../utilities/Locale.js';
|
|
10
11
|
import { loadPackage } from '../utilities/PackageManager.js';
|
|
11
12
|
import chalk from 'chalk';
|
|
@@ -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';
|
|
22
|
+
import { Timer } from '../utilities/Timer.js';
|
|
21
23
|
export async function recognize(sourceRawAudio, modelName, modelDir, task, sourceLanguage, options) {
|
|
22
24
|
options = extendDeep(defaultWhisperOptions, options);
|
|
23
|
-
if (sourceRawAudio.sampleRate
|
|
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
|
|
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
|
|
43
|
+
if (options.autoPromptParts && modelName === 'large-v3-turbo') {
|
|
42
44
|
options.autoPromptParts = false;
|
|
43
45
|
}
|
|
44
46
|
// Select encoder ONNX provider
|
|
@@ -52,14 +54,14 @@ export async function recognize(sourceRawAudio, modelName, modelDir, task, sourc
|
|
|
52
54
|
}
|
|
53
55
|
export async function align(sourceRawAudio, transcript, modelName, modelDir, sourceLanguage, options) {
|
|
54
56
|
options = extendDeep(defaultWhisperAlignmentOptions, options);
|
|
55
|
-
if (sourceRawAudio.sampleRate
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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) {
|
|
@@ -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:
|
|
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
|
|
269
|
-
throw new Error('Unexpected: partTokens.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
|
-
|
|
276
|
+
partTokensCrossAttentionQKs = partTokensCrossAttentionQKs.slice(initialTokens.length);
|
|
275
277
|
// Find alignment path
|
|
276
278
|
let alignmentHeads;
|
|
277
|
-
if (options.timestampAccuracy === 'medium' || options.model
|
|
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,7 +285,7 @@ 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(
|
|
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);
|
|
289
291
|
// Add tokens to output
|
|
@@ -302,6 +304,13 @@ export class Whisper {
|
|
|
302
304
|
}
|
|
303
305
|
audioOffset = audioEndOffset;
|
|
304
306
|
logger.end();
|
|
307
|
+
if (logLevelGreaterOrEqualTo('trace')) {
|
|
308
|
+
const promptDecodingTime = partTokensDecodingTime[0];
|
|
309
|
+
const medianTokenDecodingTime = medianOfVector(partTokensDecodingTime.slice(1));
|
|
310
|
+
const medianTokenInferenceTime = medianOfVector(partTokensInferenceTime.slice(1));
|
|
311
|
+
const medianOverheadTime = medianOfVector(partTokensOverheadTime.slice(1));
|
|
312
|
+
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');
|
|
313
|
+
}
|
|
305
314
|
}
|
|
306
315
|
// Convert token timeline to word timeline
|
|
307
316
|
timeline = this.tokenTimelineToWordTimeline(timeline, language);
|
|
@@ -510,8 +519,14 @@ export class Whisper {
|
|
|
510
519
|
decodedTokensCrossAttentionQKs.push(crossAttentionQKs);
|
|
511
520
|
}
|
|
512
521
|
const maxTokensPerPart = Math.min(options.maxTokensPerPart, largestMaximumTokensPerPart);
|
|
522
|
+
let decodedTokensInferenceTime = [];
|
|
523
|
+
let decodedTokensDecodingTime = [];
|
|
524
|
+
const tokenDecodingTimeTimer = new Timer();
|
|
513
525
|
// Start decoding loop
|
|
514
526
|
for (let decodedTokenCount = 0; decodedTokenCount < maxTokensPerPart; decodedTokenCount++) {
|
|
527
|
+
if (decodedTokenCount > 0) {
|
|
528
|
+
decodedTokensDecodingTime.push(tokenDecodingTimeTimer.getElapsedTimeAndRestart());
|
|
529
|
+
}
|
|
515
530
|
const isInitialState = decodedTokens.length === initialTokens.length;
|
|
516
531
|
const atLeastOneTextTokenDecoded = decodedTokens.slice(initialTokens.length).some(token => this.isTextToken(token));
|
|
517
532
|
// If not in initial state, reshape KV Cache tensor to accomodate a new output token
|
|
@@ -536,8 +551,10 @@ export class Whisper {
|
|
|
536
551
|
kv_cache: kvCacheTensor,
|
|
537
552
|
offset: offsetTensor
|
|
538
553
|
};
|
|
539
|
-
|
|
554
|
+
//// Infer with ONNX decoder model
|
|
555
|
+
const tokenInferenceTimeTimer = new Timer();
|
|
540
556
|
const decoderOutputs = await this.textDecoder.run(decoderInputs);
|
|
557
|
+
decodedTokensInferenceTime.push(tokenInferenceTimeTimer.elapsedTime);
|
|
541
558
|
// Extract decoder model results
|
|
542
559
|
const logitsBuffer = decoderOutputs['logits'].data;
|
|
543
560
|
kvCacheTensor = decoderOutputs['output_kv_cache'];
|
|
@@ -761,6 +778,9 @@ export class Whisper {
|
|
|
761
778
|
}
|
|
762
779
|
await yieldToEventLoop();
|
|
763
780
|
}
|
|
781
|
+
if (decodedTokensDecodingTime.length === decodedTokensInferenceTime.length - 1) {
|
|
782
|
+
decodedTokensDecodingTime.push(tokenDecodingTimeTimer.getElapsedTimeAndRestart());
|
|
783
|
+
}
|
|
764
784
|
// If at least two timestamp tokens were decoded and it's not the final part,
|
|
765
785
|
// truncate up to the last timestamp token
|
|
766
786
|
if (timestampTokenSeenCount >= 2 && !isFinalPart) {
|
|
@@ -769,7 +789,10 @@ export class Whisper {
|
|
|
769
789
|
decodedTokensTimestampLogits = decodedTokensTimestampLogits.slice(0, sliceEndTokenIndex);
|
|
770
790
|
decodedTokensCrossAttentionQKs = decodedTokensCrossAttentionQKs.slice(0, sliceEndTokenIndex);
|
|
771
791
|
decodedTokensConfidence = decodedTokensConfidence.slice(0, sliceEndTokenIndex);
|
|
792
|
+
decodedTokensDecodingTime = decodedTokensDecodingTime.slice(0, sliceEndTokenIndex);
|
|
793
|
+
decodedTokensInferenceTime = decodedTokensInferenceTime.slice(0, sliceEndTokenIndex);
|
|
772
794
|
}
|
|
795
|
+
const decodedTokensOverheadTime = decodedTokensDecodingTime.map((time, index) => time - decodedTokensInferenceTime[index]);
|
|
773
796
|
logger.write('\n');
|
|
774
797
|
logger.end();
|
|
775
798
|
// Return the decoded tokens
|
|
@@ -778,6 +801,9 @@ export class Whisper {
|
|
|
778
801
|
decodedTokensTimestampLogits,
|
|
779
802
|
decodedTokensConfidence,
|
|
780
803
|
decodedTokensCrossAttentionQKs,
|
|
804
|
+
decodedTokensDecodingTime,
|
|
805
|
+
decodedTokensInferenceTime,
|
|
806
|
+
decodedTokensOverheadTime,
|
|
781
807
|
};
|
|
782
808
|
}
|
|
783
809
|
// Encode audio using the encoder model
|
|
@@ -794,7 +820,7 @@ export class Whisper {
|
|
|
794
820
|
const filterbanks = this.filterbanks;
|
|
795
821
|
const maxAudioSamples = sampleRate * 30;
|
|
796
822
|
const maxAudioFrames = 3000;
|
|
797
|
-
if (sampleRate
|
|
823
|
+
if (sampleRate !== 16000) {
|
|
798
824
|
throw new Error('Audio must have a sample rate of 16000 Hz');
|
|
799
825
|
}
|
|
800
826
|
if (audioSamples.length > maxAudioSamples) {
|
|
@@ -850,7 +876,7 @@ export class Whisper {
|
|
|
850
876
|
function endsWithSeparatorCharacter(text) {
|
|
851
877
|
return isSeparatorCharacter(text[text.length - 1]);
|
|
852
878
|
}
|
|
853
|
-
if (language
|
|
879
|
+
if (language !== 'zh' && language !== 'ja') {
|
|
854
880
|
tokenTimeline = tokenTimeline.filter(entry => this.isTextToken(entry.id));
|
|
855
881
|
}
|
|
856
882
|
const resultTimeline = [];
|
|
@@ -860,7 +886,7 @@ export class Whisper {
|
|
|
860
886
|
const previousEntry = tokenIndex > 0 ? tokenTimeline[tokenIndex - 1] : undefined;
|
|
861
887
|
const text = entry.text;
|
|
862
888
|
const previousEntryText = previousEntry?.text;
|
|
863
|
-
if (groups.length
|
|
889
|
+
if (groups.length === 0 ||
|
|
864
890
|
text === '' ||
|
|
865
891
|
startsWithSeparatorCharacter(text) ||
|
|
866
892
|
(previousEntryText != null && endsWithSeparatorCharacter(previousEntryText))) {
|
|
@@ -911,12 +937,12 @@ export class Whisper {
|
|
|
911
937
|
return resultTimeline;
|
|
912
938
|
}
|
|
913
939
|
async getTokenTimelineFromAlignmentPath(alignmentPath, tokens, startTimeOffset, endTimeOffset, tokensConfidence, correctionAmount = 0.0) {
|
|
914
|
-
if (alignmentPath.length
|
|
940
|
+
if (alignmentPath.length === 0) {
|
|
915
941
|
return [];
|
|
916
942
|
}
|
|
917
943
|
const tokenTimeline = [];
|
|
918
944
|
for (let pathIndex = 0; pathIndex < alignmentPath.length; pathIndex++) {
|
|
919
|
-
if (pathIndex
|
|
945
|
+
if (pathIndex !== 0 && alignmentPath[pathIndex].source === alignmentPath[pathIndex - 1].source) {
|
|
920
946
|
continue;
|
|
921
947
|
}
|
|
922
948
|
const tokenMappingEntry = alignmentPath[pathIndex];
|
|
@@ -1122,19 +1148,19 @@ export class Whisper {
|
|
|
1122
1148
|
}
|
|
1123
1149
|
getKvDimensions(groupCount, length) {
|
|
1124
1150
|
const modelName = this.modelName;
|
|
1125
|
-
if (modelName
|
|
1151
|
+
if (modelName === 'tiny' || modelName === 'tiny.en') {
|
|
1126
1152
|
return [8, groupCount, length, 384];
|
|
1127
1153
|
}
|
|
1128
|
-
else if (modelName
|
|
1154
|
+
else if (modelName === 'base' || modelName === 'base.en') {
|
|
1129
1155
|
return [12, groupCount, length, 512];
|
|
1130
1156
|
}
|
|
1131
|
-
else if (modelName
|
|
1157
|
+
else if (modelName === 'small' || modelName === 'small.en') {
|
|
1132
1158
|
return [24, groupCount, length, 768];
|
|
1133
1159
|
}
|
|
1134
|
-
else if (modelName
|
|
1160
|
+
else if (modelName === 'medium' || modelName === 'medium.en') {
|
|
1135
1161
|
return [48, groupCount, length, 1024];
|
|
1136
1162
|
}
|
|
1137
|
-
else if (modelName
|
|
1163
|
+
else if (modelName === 'large-v1' || modelName === 'large-v2' || modelName === 'large-v3' || modelName === 'large-v3-turbo') {
|
|
1138
1164
|
return [64, groupCount, length, 1280];
|
|
1139
1165
|
}
|
|
1140
1166
|
else {
|
|
@@ -1146,7 +1172,7 @@ export class Whisper {
|
|
|
1146
1172
|
let tokens;
|
|
1147
1173
|
if (this.isMultiligualModel) {
|
|
1148
1174
|
const languageToken = this.tokenConfig.languageTokensStart + languageIdLookup[language];
|
|
1149
|
-
const taskToken = task
|
|
1175
|
+
const taskToken = task === 'translate' ? this.tokenConfig.translateTaskToken : this.tokenConfig.transcribeTaskToken;
|
|
1150
1176
|
tokens = [startOfTextToken, languageToken, taskToken];
|
|
1151
1177
|
}
|
|
1152
1178
|
else {
|
|
@@ -1332,7 +1358,7 @@ export async function loadPackagesAndGetPaths(modelName, languageCode) {
|
|
|
1332
1358
|
else {
|
|
1333
1359
|
if (languageCode) {
|
|
1334
1360
|
const shortLanguageCode = getShortLanguageCode(languageCode);
|
|
1335
|
-
modelName = shortLanguageCode
|
|
1361
|
+
modelName = shortLanguageCode === 'en' ? 'tiny.en' : 'tiny';
|
|
1336
1362
|
}
|
|
1337
1363
|
else {
|
|
1338
1364
|
modelName = 'tiny';
|
|
@@ -1346,7 +1372,7 @@ export async function loadPackagesAndGetPaths(modelName, languageCode) {
|
|
|
1346
1372
|
return { modelName, modelDir };
|
|
1347
1373
|
}
|
|
1348
1374
|
export function normalizeWhisperModelName(modelName, languageCode) {
|
|
1349
|
-
if (languageCode
|
|
1375
|
+
if (languageCode !== 'en' && modelName.endsWith('.en')) {
|
|
1350
1376
|
const originalModelName = modelName;
|
|
1351
1377
|
modelName = modelName.slice(0, modelName.length - 3);
|
|
1352
1378
|
const logger = new Logger();
|