echogarden 0.11.5 → 0.11.6

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.
@@ -438,11 +438,31 @@
438
438
  "dtw": {
439
439
  "type": "object",
440
440
  "properties": {
441
- "windowDuration": {
442
- "type": "number"
443
- },
444
441
  "granularity": {
445
- "$ref": "#/definitions/DtwGranularity"
442
+ "anyOf": [
443
+ {
444
+ "$ref": "#/definitions/DtwGranularity"
445
+ },
446
+ {
447
+ "type": "array",
448
+ "items": {
449
+ "$ref": "#/definitions/DtwGranularity"
450
+ }
451
+ }
452
+ ]
453
+ },
454
+ "windowDuration": {
455
+ "anyOf": [
456
+ {
457
+ "type": "number"
458
+ },
459
+ {
460
+ "type": "array",
461
+ "items": {
462
+ "type": "number"
463
+ }
464
+ }
465
+ ]
446
466
  },
447
467
  "phoneAlignmentMethod": {
448
468
  "$ref": "#/definitions/PhoneAlignmentMethod"
@@ -541,6 +561,7 @@
541
561
  "type": "string",
542
562
  "enum": [
543
563
  "auto",
564
+ "xx-low",
544
565
  "x-low",
545
566
  "low",
546
567
  "medium",
@@ -1,2 +1,2 @@
1
- export declare function alignMFCC_DTW(mfccFrames1: number[][], mfccFrames2: number[][], windowLength: number, distanceFunction?: "eucledian" | "cosine"): Promise<import("./SpeechAlignment.js").AlignmentPath>;
1
+ export declare function alignMFCC_DTW(mfccFrames1: number[][], mfccFrames2: number[][], windowLength: number, distanceFunction?: "eucledian" | "cosine", centerIndexes?: number[]): Promise<import("./SpeechAlignment.js").AlignmentPath>;
2
2
  export declare function getCostMatrixMemorySizeMB(sequence1Length: number, sequence2Length: number, windowLength: number): number;
@@ -2,9 +2,9 @@ import { cosineDistancePrecomputedMagnitudes, createVectorForIntegerRange, eucle
2
2
  import { logToStderr } from "../utilities/Utilities.js";
3
3
  import { alignDTWWindowed } from "./DTWSequenceAlignmentWindowed.js";
4
4
  const log = logToStderr;
5
- export async function alignMFCC_DTW(mfccFrames1, mfccFrames2, windowLength, distanceFunction = "eucledian") {
5
+ export async function alignMFCC_DTW(mfccFrames1, mfccFrames2, windowLength, distanceFunction = "eucledian", centerIndexes) {
6
6
  if (distanceFunction == "eucledian") {
7
- const { path } = await alignDTWWindowed(mfccFrames1, mfccFrames2, eucledianDistance, windowLength);
7
+ const { path } = await alignDTWWindowed(mfccFrames1, mfccFrames2, eucledianDistance, windowLength, centerIndexes);
8
8
  return path;
9
9
  }
10
10
  else if (distanceFunction == "cosine") {
@@ -12,7 +12,7 @@ export async function alignMFCC_DTW(mfccFrames1, mfccFrames2, windowLength, dist
12
12
  const indexes2 = createVectorForIntegerRange(0, mfccFrames2.length);
13
13
  const magnitudes1 = mfccFrames1.map(magnitude);
14
14
  const magnitudes2 = mfccFrames2.map(magnitude);
15
- const { path } = await alignDTWWindowed(indexes1, indexes2, (i, j) => cosineDistancePrecomputedMagnitudes(mfccFrames1[i], mfccFrames2[j], magnitudes1[i], magnitudes2[j]), windowLength);
15
+ const { path } = await alignDTWWindowed(indexes1, indexes2, (i, j) => cosineDistancePrecomputedMagnitudes(mfccFrames1[i], mfccFrames2[j], magnitudes1[i], magnitudes2[j]), windowLength, centerIndexes);
16
16
  return path;
17
17
  }
18
18
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"DTWMfccSequenceAlignment.js","sourceRoot":"","sources":["../../src/alignment/DTWMfccSequenceAlignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtI,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAEpE,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAuB,EAAE,WAAuB,EAAE,YAAoB,EAAE,mBAA2C,WAAW;IACjK,IAAI,gBAAgB,IAAI,WAAW,EAAE;QACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,CACZ,CAAA;QAED,OAAO,IAAI,CAAA;KACX;SAAM,IAAI,gBAAgB,IAAI,QAAQ,EAAE;QACxC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACnE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QAEnE,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE9C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,QAAQ,EACR,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAC7G,YAAY,CACZ,CAAA;QAED,OAAO,IAAI,CAAA;KACX;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;KAC5C;AACF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,eAAuB,EAAE,eAAuB,EAAE,YAAoB;IAC/G,MAAM,sBAAsB,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;IACtG,OAAO,sBAAsB,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"DTWMfccSequenceAlignment.js","sourceRoot":"","sources":["../../src/alignment/DTWMfccSequenceAlignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtI,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAEpE,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAuB,EAAE,WAAuB,EAAE,YAAoB,EAAE,mBAA2C,WAAW,EAAE,aAAwB;IAC3L,IAAI,gBAAgB,IAAI,WAAW,EAAE;QACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,aAAa,CACb,CAAA;QAED,OAAO,IAAI,CAAA;KACX;SAAM,IAAI,gBAAgB,IAAI,QAAQ,EAAE;QACxC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACnE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QAEnE,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE9C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CACtC,QAAQ,EACR,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAC7G,YAAY,EACZ,aAAa,CACb,CAAA;QAED,OAAO,IAAI,CAAA;KACX;SAAM;QACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;KAC5C;AACF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,eAAuB,EAAE,eAAuB,EAAE,YAAoB;IAC/G,MAAM,sBAAsB,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;IACtG,OAAO,sBAAsB,CAAA;AAC9B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AlignmentPath } from "./SpeechAlignment.js";
2
- export declare function alignDTWWindowed<T, U>(sequence1: T[], sequence2: U[], costFunction: (a: T, b: U) => number, windowMaxLength: number): {
2
+ export declare function alignDTWWindowed<T, U>(sequence1: T[], sequence2: U[], costFunction: (a: T, b: U) => number, windowMaxLength: number, centerIndexes?: number[]): {
3
3
  path: AlignmentPath;
4
4
  pathCost: number;
5
5
  };
@@ -1,6 +1,6 @@
1
1
  import { logToStderr } from "../utilities/Utilities.js";
2
2
  const log = logToStderr;
3
- export function alignDTWWindowed(sequence1, sequence2, costFunction, windowMaxLength) {
3
+ export function alignDTWWindowed(sequence1, sequence2, costFunction, windowMaxLength, centerIndexes) {
4
4
  if (windowMaxLength < 2) {
5
5
  throw new Error("Window length must be greater or equal to 2");
6
6
  }
@@ -8,7 +8,7 @@ export function alignDTWWindowed(sequence1, sequence2, costFunction, windowMaxLe
8
8
  return { path: [], pathCost: 0 };
9
9
  }
10
10
  // Compute accumulated cost matrix (transposed)
11
- const { accumulatedCostMatrixTransposed, windowStartOffsets } = computeAccumulatedCostMatrixTransposed(sequence1, sequence2, costFunction, windowMaxLength);
11
+ const { accumulatedCostMatrixTransposed, windowStartOffsets } = computeAccumulatedCostMatrixTransposed(sequence1, sequence2, costFunction, windowMaxLength, centerIndexes);
12
12
  // Find best path for the computed matrix
13
13
  const path = computeBestPathTransposed(accumulatedCostMatrixTransposed, windowStartOffsets);
14
14
  // Best path cost is the bottom right element of the matrix
@@ -18,7 +18,7 @@ export function alignDTWWindowed(sequence1, sequence2, costFunction, windowMaxLe
18
18
  // Return
19
19
  return { path, pathCost };
20
20
  }
21
- function computeAccumulatedCostMatrixTransposed(sequence1, sequence2, costFunction, windowMaxLength) {
21
+ function computeAccumulatedCostMatrixTransposed(sequence1, sequence2, costFunction, windowMaxLength, centerIndexes) {
22
22
  const halfWindowMaxLength = Math.floor(windowMaxLength / 2);
23
23
  const columnCount = sequence1.length;
24
24
  const rowCount = Math.min(windowMaxLength, sequence2.length);
@@ -30,8 +30,14 @@ function computeAccumulatedCostMatrixTransposed(sequence1, sequence2, costFuncti
30
30
  // Create new column and add it to the matrix
31
31
  const currentColumn = new Float32Array(rowCount);
32
32
  accumulatedCostMatrixTransposed[columnIndex] = currentColumn;
33
- // Compute window center
34
- const windowCenter = Math.floor((columnIndex / columnCount) * sequence2.length);
33
+ // Compute window center, or use given one
34
+ let windowCenter;
35
+ if (centerIndexes) {
36
+ windowCenter = centerIndexes[columnIndex];
37
+ }
38
+ else {
39
+ windowCenter = Math.floor((columnIndex / columnCount) * sequence2.length);
40
+ }
35
41
  // Compute window start and end offsets
36
42
  let windowStartOffset = Math.max(windowCenter - halfWindowMaxLength, 0);
37
43
  let windowEndOffset = windowStartOffset + rowCount;
@@ -1 +1 @@
1
- {"version":3,"file":"DTWSequenceAlignmentWindowed.js","sourceRoot":"","sources":["../../src/alignment/DTWSequenceAlignmentWindowed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DTWSequenceAlignmentWindowed.js","sourceRoot":"","sources":["../../src/alignment/DTWSequenceAlignmentWindowed.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import * as API from "../api/API.js";
2
2
  import { Timeline, TimelineEntry } from "../utilities/Timeline.js";
3
3
  import { RawAudio } from "../audio/AudioUtilities.js";
4
4
  import { Lexicon } from "../nlp/Lexicon.js";
5
- export declare function alignUsingDtw(sourceRawAudio: RawAudio, referenceRawAudio: RawAudio, referenceTimeline: Timeline, windowDuration: number, granularity: DtwGranularity): Promise<TimelineEntry[]>;
6
- export declare function alignUsingDtwWithRecognition(sourceRawAudio: RawAudio, referenceRawAudio: RawAudio, referenceTimeline: Timeline, recognitionTimeline: Timeline, espeakVoice: string, phoneAlignmentMethod: API.PhoneAlignmentMethod | undefined, windowDuration: number, granularity: DtwGranularity): Promise<Timeline>;
5
+ export declare function alignUsingDtw(sourceRawAudio: RawAudio, referenceRawAudio: RawAudio, referenceTimeline: Timeline, windowDurations: number[], granularities: DtwGranularity[]): Promise<TimelineEntry[]>;
6
+ export declare function alignUsingDtwWithRecognition(sourceRawAudio: RawAudio, referenceRawAudio: RawAudio, referenceTimeline: Timeline, recognitionTimeline: Timeline, espeakVoice: string, phoneAlignmentMethod: API.PhoneAlignmentMethod | undefined, windowDurations: number[], granularities: DtwGranularity[]): Promise<Timeline>;
7
7
  export declare function interpolatePhoneTimelines(sourceTimeline: Timeline, referenceTimeline: Timeline): Promise<Timeline>;
8
8
  export declare function alignPhoneTimelines(sourceRawAudio: RawAudio, sourceWordTimeline: Timeline, referenceRawAudio: RawAudio, referenceTimeline: Timeline): Promise<Timeline>;
9
9
  export declare function createAlignmentReferenceUsingEspeakPreprocessed(text: string, language: string, voice: string, lexicons?: Lexicon[], rate?: number, pitch?: number, pitchRange?: number): Promise<{
@@ -30,4 +30,4 @@ export type CompactedPathEntry = {
30
30
  first: number;
31
31
  last: number;
32
32
  };
33
- export type DtwGranularity = 'auto' | 'x-low' | 'low' | 'medium' | 'high' | 'x-high';
33
+ export type DtwGranularity = 'auto' | 'xx-low' | 'x-low' | 'low' | 'medium' | 'high' | 'x-high';
@@ -6,29 +6,58 @@ import { Logger } from "../utilities/Logger.js";
6
6
  import { getRawAudioDuration } from "../audio/AudioUtilities.js";
7
7
  import { preprocessAndSynthesize } from "../synthesis/EspeakTTS.js";
8
8
  import chalk from "chalk";
9
- export async function alignUsingDtw(sourceRawAudio, referenceRawAudio, referenceTimeline, windowDuration, granularity) {
9
+ export async function alignUsingDtw(sourceRawAudio, referenceRawAudio, referenceTimeline, windowDurations, granularities) {
10
10
  const logger = new Logger();
11
+ if (windowDurations.length == 0) {
12
+ throw new Error(`Window durations array has length 0.`);
13
+ }
14
+ if (windowDurations.length != granularities.length) {
15
+ throw new Error(`Window durations and granularities are not the same length.`);
16
+ }
11
17
  const rawAudioDuration = getRawAudioDuration(sourceRawAudio);
12
- const mfccOptions = extendDefaultMfccOptions({ ...getMfccOptionsForGranularity(granularity, rawAudioDuration), zeroFirstCoefficient: true });
13
- const framesPerSecond = 1 / mfccOptions.hopDuration;
14
- // Compute reference MFCCs
15
- logger.start("Compute reference MFCC features");
16
- const referenceMfccs = await computeMFCCs(referenceRawAudio, mfccOptions);
17
- // Compute source MFCCs
18
- logger.start("Compute source MFCC features");
19
- const sourceMfccs = await computeMFCCs(sourceRawAudio, mfccOptions);
20
- logger.end();
21
- // Compute path
22
- logger.logTitledMessage(`DTW cost matrix memory size (${windowDuration}s maximum window size, ${1 / mfccOptions.hopDuration} frames per second)`, `${getCostMatrixMemorySizeMB(referenceMfccs.length, sourceMfccs.length, windowDuration * framesPerSecond).toFixed(1)}MB`);
23
- const minRecommendedWindowDuration = 0.2 * rawAudioDuration;
24
- if (windowDuration < minRecommendedWindowDuration) {
25
- logger.logTitledMessage('Warning', `Maximum DTW window duration is set to ${windowDuration.toFixed(1)}s, which is smaller than 20% of the source audio duration of ${rawAudioDuration.toFixed(1)}s. This may lead to suboptimal results in some cases. Consider increasing window duration if needed.`, chalk.yellowBright);
18
+ let framesPerSecond;
19
+ let compactedPath;
20
+ let relativeCenters;
21
+ for (let passIndex = 0; passIndex < windowDurations.length; passIndex++) {
22
+ const windowDuration = windowDurations[passIndex];
23
+ const granularity = resolveAutoGranularityIfNeeded(granularities[passIndex], rawAudioDuration);
24
+ logger.logTitledMessage(`\nStarting alignment pass ${passIndex + 1}/${windowDurations.length}`, `max window duration: ${windowDuration}s, granularity: ${granularity}`, chalk.magentaBright);
25
+ const mfccOptions = extendDefaultMfccOptions({ ...getMfccOptionsForGranularity(granularity, rawAudioDuration), zeroFirstCoefficient: true });
26
+ framesPerSecond = 1 / mfccOptions.hopDuration;
27
+ // Compute reference MFCCs
28
+ logger.start("Compute reference MFCC features");
29
+ const referenceMfccs = await computeMFCCs(referenceRawAudio, mfccOptions);
30
+ // Compute source MFCCs
31
+ logger.start("Compute source MFCC features");
32
+ const sourceMfccs = await computeMFCCs(sourceRawAudio, mfccOptions);
33
+ logger.end();
34
+ // Compute path
35
+ logger.logTitledMessage(`DTW cost matrix memory size`, `${getCostMatrixMemorySizeMB(referenceMfccs.length, sourceMfccs.length, windowDuration * framesPerSecond).toFixed(1)}MB`);
36
+ if (passIndex == 0) {
37
+ const minRecommendedWindowDuration = 0.2 * rawAudioDuration;
38
+ if (windowDuration < minRecommendedWindowDuration) {
39
+ logger.logTitledMessage('Warning', `Maximum DTW window duration is set to ${windowDuration.toFixed(1)}s, which is smaller than 20% of the source audio duration of ${rawAudioDuration.toFixed(1)}s. This may lead to suboptimal results in some cases. Consider increasing window duration if needed.`, chalk.yellowBright);
40
+ }
41
+ }
42
+ logger.start("Align MFCC features using DTW");
43
+ const dtwWindowLength = Math.floor(windowDuration * framesPerSecond);
44
+ let centerIndexes;
45
+ if (relativeCenters) {
46
+ centerIndexes = [];
47
+ for (let i = 0; i < referenceMfccs.length; i++) {
48
+ const relativeReferencePosition = i / referenceMfccs.length;
49
+ const relativeCenterIndex = Math.floor(relativeReferencePosition * relativeCenters.length);
50
+ const relativeCenter = relativeCenters[relativeCenterIndex];
51
+ const centerIndex = Math.floor(relativeCenter * sourceMfccs.length);
52
+ centerIndexes.push(centerIndex);
53
+ }
54
+ }
55
+ const rawPath = await alignMFCC_DTW(referenceMfccs, sourceMfccs, dtwWindowLength, undefined, centerIndexes);
56
+ compactedPath = compactPath(rawPath);
57
+ relativeCenters = compactedPath.map(entry => (entry.first + entry.last) / 2 / sourceMfccs.length);
58
+ logger.end();
26
59
  }
27
- logger.start("Align MFCC features using DTW");
28
- const dtwWindowLength = Math.floor(windowDuration * framesPerSecond);
29
- const rawPath = await alignMFCC_DTW(referenceMfccs, sourceMfccs, dtwWindowLength);
30
- logger.start("Convert path to timeline");
31
- const compactedPath = compactPath(rawPath);
60
+ logger.start("\nConvert path to timeline");
32
61
  function getMappedTimelineEntry(timelineEntry, recurse = true) {
33
62
  const referenceStartFrameIndex = Math.floor(timelineEntry.startTime * framesPerSecond);
34
63
  const referenceEndFrameIndex = Math.floor(timelineEntry.endTime * framesPerSecond);
@@ -53,7 +82,7 @@ export async function alignUsingDtw(sourceRawAudio, referenceRawAudio, reference
53
82
  logger.end();
54
83
  return mappedTimeline;
55
84
  }
56
- export async function alignUsingDtwWithRecognition(sourceRawAudio, referenceRawAudio, referenceTimeline, recognitionTimeline, espeakVoice, phoneAlignmentMethod = "interpolation", windowDuration, granularity) {
85
+ export async function alignUsingDtwWithRecognition(sourceRawAudio, referenceRawAudio, referenceTimeline, recognitionTimeline, espeakVoice, phoneAlignmentMethod = "interpolation", windowDurations, granularities) {
57
86
  const logger = new Logger();
58
87
  if (recognitionTimeline.length == 0) {
59
88
  const sourceDuration = getRawAudioDuration(sourceRawAudio);
@@ -111,7 +140,7 @@ export async function alignUsingDtwWithRecognition(sourceRawAudio, referenceRawA
111
140
  }
112
141
  logger.start("Align the synthesized recognized transcript with the synthesized ground-truth transcript");
113
142
  // Align the synthesized recognized transcript to the synthesized reference transcript
114
- const alignedSynthesizedRecognitionTimeline = await alignUsingDtw(synthesizedRecognizedTranscriptRawAudio, referenceRawAudio, referenceTimeline, windowDuration, granularity);
143
+ const alignedSynthesizedRecognitionTimeline = await alignUsingDtw(synthesizedRecognizedTranscriptRawAudio, referenceRawAudio, referenceTimeline, windowDurations, granularities);
115
144
  let currentSynthesizedToRecognizedMappingIndex = 0;
116
145
  function mapSynthesizedToRecognizedTimeAndAdvance(synthesizedTime) {
117
146
  for (;; currentSynthesizedToRecognizedMappingIndex += 1) {
@@ -275,37 +304,44 @@ function getMappedFrameIndexForPath(referenceFrameIndex, compactedPath, mappingK
275
304
  }
276
305
  return mappedFrameIndex;
277
306
  }
307
+ function resolveAutoGranularityIfNeeded(granularity, audioDuration) {
308
+ if (granularity != 'auto') {
309
+ return granularity;
310
+ }
311
+ if (audioDuration < 60) {
312
+ return 'high';
313
+ }
314
+ else if (audioDuration < 60 * 10) {
315
+ return 'medium';
316
+ }
317
+ else {
318
+ return 'low';
319
+ }
320
+ }
278
321
  function getMfccOptionsForGranularity(granularity, audioDuration) {
279
- let result;
280
- if (granularity == 'auto') {
281
- if (audioDuration < 60) {
282
- granularity = 'high';
283
- }
284
- else if (audioDuration < 60 * 10) {
285
- granularity = 'medium';
286
- }
287
- else {
288
- granularity = 'low';
289
- }
322
+ let mfccOptions;
323
+ granularity = resolveAutoGranularityIfNeeded(granularity, audioDuration);
324
+ if (granularity == 'xx-low') {
325
+ mfccOptions = { windowDuration: 0.400, hopDuration: 0.160, fftOrder: 8192 };
290
326
  }
291
- if (granularity == 'x-low') {
292
- result = { windowDuration: 0.200, hopDuration: 0.080, fftOrder: 4096 };
327
+ else if (granularity == 'x-low') {
328
+ mfccOptions = { windowDuration: 0.200, hopDuration: 0.080, fftOrder: 4096 };
293
329
  }
294
330
  else if (granularity == 'low') {
295
- result = { windowDuration: 0.100, hopDuration: 0.040, fftOrder: 2048 };
331
+ mfccOptions = { windowDuration: 0.100, hopDuration: 0.040, fftOrder: 2048 };
296
332
  }
297
333
  else if (granularity == 'medium') {
298
- result = { windowDuration: 0.050, hopDuration: 0.020, fftOrder: 1024 };
334
+ mfccOptions = { windowDuration: 0.050, hopDuration: 0.020, fftOrder: 1024 };
299
335
  }
300
336
  else if (granularity == 'high') {
301
- result = { windowDuration: 0.025, hopDuration: 0.010, fftOrder: 512 };
337
+ mfccOptions = { windowDuration: 0.025, hopDuration: 0.010, fftOrder: 512 };
302
338
  }
303
339
  else if (granularity == 'x-high') {
304
- result = { windowDuration: 0.020, hopDuration: 0.005, fftOrder: 512 };
340
+ mfccOptions = { windowDuration: 0.020, hopDuration: 0.005, fftOrder: 512 };
305
341
  }
306
342
  else {
307
343
  throw new Error(`Invalid granularity setting: '${granularity}'`);
308
344
  }
309
- return result;
345
+ return mfccOptions;
310
346
  }
311
347
  //# sourceMappingURL=SpeechAlignment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpeechAlignment.js","sourceRoot":"","sources":["../../src/alignment/SpeechAlignment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpeechAlignment.js","sourceRoot":"","sources":["../../src/alignment/SpeechAlignment.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,8 @@ export interface AlignmentOptions {
23
23
  plainText?: API.PlainTextOptions;
24
24
  subtitles?: SubtitlesConfig;
25
25
  dtw?: {
26
- windowDuration?: number;
27
- granularity?: DtwGranularity;
26
+ granularity?: DtwGranularity | DtwGranularity[];
27
+ windowDuration?: number | number[];
28
28
  phoneAlignmentMethod?: PhoneAlignmentMethod;
29
29
  };
30
30
  recognition?: API.RecognitionOptions;
@@ -22,14 +22,16 @@ export async function align(input, transcript, options) {
22
22
  options = extendDeep(defaultAlignmentOptions, options);
23
23
  if (options.dtw.windowDuration == null) {
24
24
  const sourceAudioDuration = getRawAudioDuration(sourceRawAudio);
25
- if (sourceAudioDuration < 60 * 5) {
25
+ if (sourceAudioDuration < 5 * 60) { // If up to 5 minutes, set window to one minute
26
26
  options.dtw.windowDuration = 60;
27
27
  }
28
- else {
28
+ else if (sourceAudioDuration < 60 * 60) { // If up to 1 hour, set window to 20% of total duration
29
29
  options.dtw.windowDuration = Math.ceil(sourceAudioDuration * 0.2);
30
30
  }
31
+ else { // If 1 hour or more, set window to 12 minutes
32
+ options.dtw.windowDuration = 12 * 60;
33
+ }
31
34
  }
32
- const dtwWindowDuration = options.dtw.windowDuration;
33
35
  let language;
34
36
  if (options.language) {
35
37
  language = normalizeLanguageCode(options.language);
@@ -60,12 +62,47 @@ export async function align(input, transcript, options) {
60
62
  referenceRawAudio = downmixToMonoAndNormalize(referenceRawAudio);
61
63
  return { referenceRawAudio, referenceTimeline: wordTimeline, espeakVoice };
62
64
  }
65
+ function getDtwWindowDurationsAndGranularities() {
66
+ let granularities;
67
+ let windowDurations;
68
+ if (typeof options.dtw.granularity == 'string') {
69
+ granularities = [options.dtw.granularity];
70
+ }
71
+ else if (Array.isArray(options.dtw.granularity)) {
72
+ granularities = options.dtw.granularity;
73
+ }
74
+ else {
75
+ granularities = ['auto'];
76
+ }
77
+ if (typeof options.dtw.windowDuration == 'number') {
78
+ if (granularities.length == 1) {
79
+ windowDurations = [options.dtw.windowDuration];
80
+ }
81
+ else if (granularities.length == 2) {
82
+ windowDurations = [options.dtw.windowDuration, 15];
83
+ }
84
+ else {
85
+ throw new Error(`More than two passes requested, this requires window durations to be explicitly specified for each pass. For example 'dtw.windowDuration=[600,60,10]'.`);
86
+ }
87
+ }
88
+ else if (Array.isArray(options.dtw.windowDuration)) {
89
+ windowDurations = options.dtw.windowDuration;
90
+ }
91
+ else {
92
+ throw new Error('No window duration given');
93
+ }
94
+ if (granularities.length != windowDurations.length) {
95
+ throw new Error(`Unequal element counts in options. 'dtw.granularity' has ${granularities.length} items, but 'dtw.windowDuration' has ${windowDurations.length} items. Can't infer what number of DTW passes were intended.`);
96
+ }
97
+ return { windowDurations, granularities };
98
+ }
63
99
  let mappedTimeline;
64
100
  switch (options.engine) {
65
101
  case "dtw": {
66
102
  const { referenceRawAudio, referenceTimeline } = await getAlignmentReference();
67
103
  logger.end();
68
- mappedTimeline = await alignUsingDtw(sourceRawAudio, referenceRawAudio, referenceTimeline, dtwWindowDuration, options.dtw.granularity);
104
+ const { windowDurations, granularities } = getDtwWindowDurationsAndGranularities();
105
+ mappedTimeline = await alignUsingDtw(sourceRawAudio, referenceRawAudio, referenceTimeline, windowDurations, granularities);
69
106
  break;
70
107
  }
71
108
  case "dtw-ra": {
@@ -87,7 +124,8 @@ export async function align(input, transcript, options) {
87
124
  const { referenceRawAudio, referenceTimeline, espeakVoice } = await getAlignmentReference();
88
125
  logger.end();
89
126
  const phoneAlignmentMethod = options.dtw.phoneAlignmentMethod;
90
- mappedTimeline = await alignUsingDtwWithRecognition(sourceRawAudio, referenceRawAudio, referenceTimeline, recognitionTimeline, espeakVoice, phoneAlignmentMethod, dtwWindowDuration, options.dtw.granularity);
127
+ const { windowDurations, granularities } = getDtwWindowDurationsAndGranularities();
128
+ mappedTimeline = await alignUsingDtwWithRecognition(sourceRawAudio, referenceRawAudio, referenceTimeline, recognitionTimeline, espeakVoice, phoneAlignmentMethod, windowDurations, granularities);
91
129
  break;
92
130
  }
93
131
  case "whisper": {
@@ -151,8 +189,8 @@ export const defaultAlignmentOptions = {
151
189
  },
152
190
  subtitles: defaultSubtitlesConfig,
153
191
  dtw: {
154
- windowDuration: undefined,
155
192
  granularity: 'auto',
193
+ windowDuration: undefined,
156
194
  phoneAlignmentMethod: 'dtw'
157
195
  },
158
196
  recognition: {},
@@ -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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"}
package/dist/cli/CLI.js CHANGED
@@ -21,6 +21,7 @@ import { removePackage } from '../utilities/PackageManager.js';
21
21
  import { appName } from '../api/Common.js';
22
22
  import { startServer } from '../server/Server.js';
23
23
  import { OpenPromise } from '../utilities/OpenPromise.js';
24
+ import JSON5 from 'json5';
24
25
  //const log = logToStderr
25
26
  async function startIfInWorkerThread() {
26
27
  if (isMainThread || !parentPort) {
@@ -841,15 +842,25 @@ async function cliOptionsMapToOptionsObject(cliOptionsMap, optionsRoot, addition
841
842
  const path = key.split(".");
842
843
  let optionType;
843
844
  let optionEnum;
845
+ let optionIsUnion;
844
846
  if (additionalOptionsSchema && additionalOptionsSchema.has(key)) {
845
- ({ type: optionType, enum: optionEnum } = additionalOptionsSchema.get(key));
847
+ ({ type: optionType, enum: optionEnum, isUnion: optionIsUnion } = additionalOptionsSchema.get(key));
846
848
  }
847
849
  else {
848
850
  const extendedPath = [optionsRoot, ...path];
849
- ({ type: optionType, enum: optionEnum } = getOptionTypeFromSchema(extendedPath, optionsSchema));
851
+ ({ type: optionType, enum: optionEnum, isUnion: optionIsUnion } = getOptionTypeFromSchema(extendedPath, optionsSchema));
850
852
  }
851
853
  let parsedValue;
852
- if (optionType == 'boolean') {
854
+ if (optionType == 'string') {
855
+ parsedValue = value;
856
+ }
857
+ else if (optionType == 'number') {
858
+ parsedValue = parseFloat(value);
859
+ if (isNaN(parsedValue)) {
860
+ throw new Error(`The property '${key}' is a number. '${value}' cannot be parsed as a number.`);
861
+ }
862
+ }
863
+ else if (optionType == 'boolean') {
853
864
  if (value == null || value == '') {
854
865
  parsedValue = !isNegated;
855
866
  }
@@ -869,12 +880,6 @@ async function cliOptionsMapToOptionsObject(cliOptionsMap, optionsRoot, addition
869
880
  else if (isNegated) {
870
881
  throw new Error(`The property '${key}' is not a Boolean, and cannot be negated using the 'not-' prefix.`);
871
882
  }
872
- else if (optionType == 'number') {
873
- parsedValue = parseFloat(value);
874
- if (isNaN(parsedValue)) {
875
- throw new Error(`The property '${key}' is a number. '${value}' cannot be parsed as a number.`);
876
- }
877
- }
878
883
  else if (optionType == 'array' || optionType == 'object') {
879
884
  try {
880
885
  const { default: JSON5 } = await import('json5');
@@ -884,6 +889,18 @@ async function cliOptionsMapToOptionsObject(cliOptionsMap, optionsRoot, addition
884
889
  parsedValue = value;
885
890
  }
886
891
  }
892
+ else if (optionIsUnion) {
893
+ const isArrayJSON = value.startsWith('[') && value.endsWith(']');
894
+ const isObjectJSON = value.startsWith('{') && value.endsWith('}');
895
+ const isNumberJSON = !isNaN(Number.parseFloat(value));
896
+ const isBooleanJSON = value == 'true' || value == 'false';
897
+ if (isArrayJSON || isObjectJSON || isNumberJSON || isBooleanJSON) {
898
+ parsedValue = JSON5.parse(value);
899
+ }
900
+ else {
901
+ parsedValue = value;
902
+ }
903
+ }
887
904
  else {
888
905
  parsedValue = value;
889
906
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export declare function getOptionTypeFromSchema(path: string[], schema: any): SchemaTypeDefinition;
2
2
  export type SchemaTypeDefinition = {
3
- type: string;
3
+ type?: string;
4
4
  enum?: any[];
5
+ isUnion?: boolean;
5
6
  };
@@ -22,7 +22,8 @@ export function getOptionTypeFromSchema(path, schema) {
22
22
  else if ('const' in currentObject) {
23
23
  possibleValues = [currentObject['const']];
24
24
  }
25
- return { type: currentObjectType, enum: possibleValues };
25
+ const isUnion = ('anyOf' in currentObject);
26
+ return { type: currentObjectType, enum: possibleValues, isUnion };
26
27
  }
27
28
  if (currentObjectType == 'object') {
28
29
  currentObject = currentObject['properties'];
@@ -31,6 +32,6 @@ export function getOptionTypeFromSchema(path, schema) {
31
32
  throw new Error(`Property '${key}' is not an object, but has type ${currentObjectType}`);
32
33
  }
33
34
  }
34
- return { type: "", enum: undefined };
35
+ return {};
35
36
  }
36
37
  //# sourceMappingURL=CLIOptionsSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CLIOptionsSchema.js","sourceRoot":"","sources":["../../src/cli/CLIOptionsSchema.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,uBAAuB,CAAC,IAAc,EAAE,MAAW;IAClE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAkB,CAAA;IAE7C,IAAI,aAAa,GAAG,WAAW,CAAA;IAE/B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE1B,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QAElC,IAAI,CAAC,aAAa,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,iCAAiC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SAC9F;QAED,IAAI,MAAM,IAAI,aAAa,EAAE;YAC5B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAW,CAAA;YACjD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAErE,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;SACtC;QAED,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAE/C,IAAI,SAAS,EAAE;YACd,IAAI,cAAc,GAAsB,SAAS,CAAA;YAEjD,IAAI,MAAM,IAAI,aAAa,EAAE;gBAC5B,cAAc,GAAG,aAAa,CAAC,MAAM,CAAU,CAAA;aAC/C;iBAAM,IAAI,OAAO,IAAI,aAAa,EAAE;gBACpC,cAAc,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;aACzC;YAED,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;SACxD;QAED,IAAI,iBAAiB,IAAI,QAAQ,EAAE;YAClC,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;SAC3C;aAAM;YACN,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,oCAAoC,iBAAiB,EAAE,CAAC,CAAA;SACxF;KACD;IAED,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"CLIOptionsSchema.js","sourceRoot":"","sources":["../../src/cli/CLIOptionsSchema.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,uBAAuB,CAAC,IAAc,EAAE,MAAW;IAClE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAkB,CAAA;IAE7C,IAAI,aAAa,GAAG,WAAW,CAAA;IAE/B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE1B,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QAElC,IAAI,CAAC,aAAa,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,iCAAiC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SAC9F;QAED,IAAI,MAAM,IAAI,aAAa,EAAE;YAC5B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAW,CAAA;YACjD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAErE,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;SACtC;QAED,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QAE/C,IAAI,SAAS,EAAE;YACd,IAAI,cAAc,GAAsB,SAAS,CAAA;YAEjD,IAAI,MAAM,IAAI,aAAa,EAAE;gBAC5B,cAAc,GAAG,aAAa,CAAC,MAAM,CAAU,CAAA;aAC/C;iBAAM,IAAI,OAAO,IAAI,aAAa,EAAE;gBACpC,cAAc,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;aACzC;YAED,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,aAAa,CAAC,CAAA;YAE1C,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;SACjE;QAED,IAAI,iBAAiB,IAAI,QAAQ,EAAE;YAClC,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;SAC3C;aAAM;YACN,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,oCAAoC,iBAAiB,EAAE,CAAC,CAAA;SACxF;KACD;IAED,OAAO,EAAE,CAAA;AACV,CAAC"}
@@ -132,7 +132,7 @@ export class VitsTTS {
132
132
  const { alignUsingDtw } = await import("../alignment/SpeechAlignment.js");
133
133
  const referenceWordTimeline = referenceTimeline.flatMap(clause => clause.timeline);
134
134
  const dtwWindowDuration = Math.max(5, Math.ceil(0.2 * getRawAudioDuration(synthesizedAudio)));
135
- const mappedTimeline = await alignUsingDtw(synthesizedAudio, referenceSynthesizedAudio, referenceWordTimeline, dtwWindowDuration, 'high');
135
+ const mappedTimeline = await alignUsingDtw(synthesizedAudio, referenceSynthesizedAudio, referenceWordTimeline, [dtwWindowDuration], ['high']);
136
136
  logger.end();
137
137
  return { rawAudio: synthesizedAudio, timeline: mappedTimeline, referenceSynthesizedAudio, referenceTimeline };
138
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VitsTTS.js","sourceRoot":"","sources":["../../src/synthesis/VitsTTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VitsTTS.js","sourceRoot":"","sources":["../../src/synthesis/VitsTTS.ts"],"names":[],"mappings":"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"}
package/docs/Options.md CHANGED
@@ -185,8 +185,8 @@ Applicable to CLI command: `align`, API method: `align`
185
185
  * `subtitles.maxAddedDuration`: maximum extra time (in seconds) that may be added after a cue's speech end time. This also ensures that very short-duration segments aren't shown in a flash. Defaults to `3`
186
186
 
187
187
  **DTW**:
188
- * `dtw.windowDuration`: maximum duration (in seconds) of the Sakoe-Chiba window when performing DTW alignment. Higher values consume quadratically larger amounts of memory. The estimated memory requirement is shown in the log before alignment starts. Recommended to be set to at least 20% of total audio duration. Auto-selected by default
189
- * `dtw.granularity`: adjusts the MFCC frame width and hop size based on the profile selected. Can be set to either `auto` (auto-selected based on audio duration and task), `x-low` (200ms width, 80ms hop), `low` (100ms width, 40ms hop), `medium` (50ms width, 20ms hop), `high` (25ms width, 10ms hop), `x-high` (20ms width, 5ms hop). If the main goal is producing subtitles, a lower granularity profile is recommended, since it's faster and requires significantly less memory, enabling longer audio durations to be processed quickly. For example, `low` can align 30 minutes of audio (5 minute window) using ~1.5GB of memory in less than 1 minute, with reasonable accuracy. Defaults to `auto`.
188
+ * `dtw.granularity`: adjusts the MFCC frame width and hop size based on the profile selected. Can be set to either `auto` (auto-selected based on audio duration and task), `xx-low` (400ms width, 160ms hop), `x-low` (200ms width, 80ms hop), `low` (100ms width, 40ms hop), `medium` (50ms width, 20ms hop), `high` (25ms width, 10ms hop), `x-high` (20ms width, 5ms hop). For multi-pass processing, multiple granularities can be provided, like `dtw.granularity=['low','high']`. Defaults to `auto`.
189
+ * `dtw.windowDuration`: maximum duration (in seconds) of the Sakoe-Chiba window when performing DTW alignment. Higher values consume quadratically larger amounts of memory. The estimated memory requirement is shown in the log before alignment starts. Recommended to be set to at least 10% - 20% of total audio duration. For multi-pass processing, multiple durations can be provided, like `dtw.windowDuration=[240,20]`. Auto-selected by default
190
190
 
191
191
  **DTW-RA only**:
192
192
  * `recognition`: prefix for providing custom recognition options when using `dtw-ra` method, for example: setting `recognition.whisper.model = base.en`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "0.11.5",
3
+ "version": "0.11.6",
4
4
  "description": "An integrated speech system, providing a set of synthesis, recognition, alignment, and other processing tools, designed to be directly accessible to end-users.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0",
@@ -115,16 +115,16 @@
115
115
  "devDependencies": {
116
116
  "@types/buffer-split": "^1.0.0",
117
117
  "@types/fs-extra": "^11.0.1",
118
- "@types/jsdom": "^21.1.1",
118
+ "@types/jsdom": "^21.1.2",
119
119
  "@types/msgpack-lite": "^0.1.8",
120
120
  "@types/ndarray": "^1.0.11",
121
121
  "@types/ndarray-ops": "^1.2.4",
122
- "@types/node": "^20.5.1",
122
+ "@types/node": "^20.5.3",
123
123
  "@types/recursive-readdir": "^2.2.1",
124
124
  "@types/tar": "^6.1.5",
125
125
  "@types/ws": "^8.5.5",
126
- "@typescript-eslint/eslint-plugin": "^6.4.0",
127
- "@typescript-eslint/parser": "^6.4.0",
126
+ "@typescript-eslint/eslint-plugin": "^6.4.1",
127
+ "@typescript-eslint/parser": "^6.4.1",
128
128
  "@types/graceful-fs": "^4.1.6",
129
129
  "eslint": "^8.47.0",
130
130
  "ts-json-schema-generator": "^1.3.0",