echogarden 0.8.1 → 0.8.3
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/README.md +1 -1
- package/data/schemas/options.json +50 -62
- package/dist/api/API.d.ts +1 -1
- package/dist/api/API.js +1 -1
- package/dist/api/API.js.map +1 -1
- package/dist/api/Alignment.d.ts +4 -5
- package/dist/api/Alignment.js +10 -9
- package/dist/api/Alignment.js.map +1 -1
- package/dist/api/Common.d.ts +13 -0
- package/dist/api/{Globals.js → Common.js} +1 -1
- package/dist/api/Common.js.map +1 -0
- package/dist/api/Denoising.d.ts +1 -1
- package/dist/api/Recognition.d.ts +2 -6
- package/dist/api/Recognition.js +3 -6
- package/dist/api/Recognition.js.map +1 -1
- package/dist/api/Synthesis.d.ts +2 -6
- package/dist/api/Synthesis.js +2 -2
- package/dist/api/Synthesis.js.map +1 -1
- package/dist/api/Translation.d.ts +4 -7
- package/dist/api/Translation.js +4 -7
- package/dist/api/Translation.js.map +1 -1
- package/dist/api/Vad.d.ts +1 -1
- package/dist/audio/AudioPlayer.d.ts +1 -1
- package/dist/audio/AudioPlayer.js +2 -2
- package/dist/audio/AudioPlayer.js.map +1 -1
- package/dist/cli/CLI.js +14 -12
- package/dist/cli/CLI.js.map +1 -1
- package/dist/denoising/RNNoise.js.map +1 -1
- package/dist/math/VectorMath.d.ts +1 -1
- package/dist/math/VectorMath.js +11 -6
- package/dist/math/VectorMath.js.map +1 -1
- package/dist/nlp/Segmentation.d.ts +1 -2
- package/dist/nlp/Segmentation.js.map +1 -1
- package/dist/recognition/WhisperSTT.d.ts +17 -3
- package/dist/recognition/WhisperSTT.js +43 -15
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/server/Client.js +2 -2
- package/dist/server/Client.js.map +1 -1
- package/dist/text-language-detection/FastTextLanguageDetection.d.ts +1 -1
- package/dist/text-language-detection/FastTextLanguageDetection.js +1 -1
- package/dist/text-language-detection/FastTextLanguageDetection.js.map +1 -1
- package/dist/utilities/Compression.js.map +1 -1
- package/dist/utilities/FileSystem.js +1 -1
- package/dist/utilities/FileSystem.js.map +1 -1
- package/dist/utilities/PackageManager.js +1 -1
- package/dist/utilities/PackageManager.js.map +1 -1
- package/dist/utilities/TarballMaker.js +1 -1
- package/dist/utilities/TarballMaker.js.map +1 -1
- package/dist/utilities/Timeline.d.ts +2 -1
- package/dist/utilities/Timeline.js +4 -4
- package/dist/utilities/Timeline.js.map +1 -1
- package/docs/Options.md +16 -8
- package/docs/Tasklist.md +3 -1
- package/package.json +4 -4
- package/dist/api/Globals.d.ts +0 -7
- package/dist/api/Globals.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Echogarden
|
|
2
2
|
|
|
3
|
-
Echogarden is an integrated speech system that provides a range of synthesis, recognition and other processing tools, designed to be directly accessible to end-users:
|
|
3
|
+
Echogarden is an integrated speech system that provides a range of synthesis, recognition, alignment, and other processing tools, designed to be directly accessible to end-users:
|
|
4
4
|
|
|
5
5
|
* Written in TypeScript, for the Node.js runtime
|
|
6
6
|
* Easy to install, run and update
|
|
@@ -93,16 +93,7 @@
|
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"plainText": {
|
|
96
|
-
"
|
|
97
|
-
"properties": {
|
|
98
|
-
"paragraphBreaks": {
|
|
99
|
-
"$ref": "#/definitions/ParagraphBreakType"
|
|
100
|
-
},
|
|
101
|
-
"whitespace": {
|
|
102
|
-
"$ref": "#/definitions/WhitespaceProcessing"
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
"additionalProperties": false
|
|
96
|
+
"$ref": "#/definitions/PlainTextOptions"
|
|
106
97
|
},
|
|
107
98
|
"alignment": {
|
|
108
99
|
"$ref": "#/definitions/AlignmentOptions"
|
|
@@ -373,6 +364,18 @@
|
|
|
373
364
|
"unknown"
|
|
374
365
|
]
|
|
375
366
|
},
|
|
367
|
+
"PlainTextOptions": {
|
|
368
|
+
"type": "object",
|
|
369
|
+
"properties": {
|
|
370
|
+
"paragraphBreaks": {
|
|
371
|
+
"$ref": "#/definitions/ParagraphBreakType"
|
|
372
|
+
},
|
|
373
|
+
"whitespace": {
|
|
374
|
+
"$ref": "#/definitions/WhitespaceProcessing"
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
"additionalProperties": false
|
|
378
|
+
},
|
|
376
379
|
"ParagraphBreakType": {
|
|
377
380
|
"type": "string",
|
|
378
381
|
"enum": [
|
|
@@ -406,29 +409,26 @@
|
|
|
406
409
|
"type": "string"
|
|
407
410
|
}
|
|
408
411
|
},
|
|
412
|
+
"plainText": {
|
|
413
|
+
"$ref": "#/definitions/PlainTextOptions"
|
|
414
|
+
},
|
|
409
415
|
"dtw": {
|
|
410
416
|
"type": "object",
|
|
411
417
|
"properties": {
|
|
412
418
|
"windowDuration": {
|
|
413
419
|
"type": "number"
|
|
414
420
|
},
|
|
415
|
-
"recognition": {
|
|
416
|
-
"$ref": "#/definitions/RecognitionOptions"
|
|
417
|
-
},
|
|
418
421
|
"phoneAlignmentMethod": {
|
|
419
422
|
"$ref": "#/definitions/PhoneAlignmentMethod"
|
|
420
423
|
}
|
|
421
424
|
},
|
|
422
425
|
"additionalProperties": false
|
|
423
426
|
},
|
|
427
|
+
"recognition": {
|
|
428
|
+
"$ref": "#/definitions/RecognitionOptions"
|
|
429
|
+
},
|
|
424
430
|
"whisper": {
|
|
425
|
-
"
|
|
426
|
-
"properties": {
|
|
427
|
-
"model": {
|
|
428
|
-
"$ref": "#/definitions/WhisperModelName"
|
|
429
|
-
}
|
|
430
|
-
},
|
|
431
|
-
"additionalProperties": false
|
|
431
|
+
"$ref": "#/definitions/WhisperOptions"
|
|
432
432
|
}
|
|
433
433
|
},
|
|
434
434
|
"additionalProperties": false
|
|
@@ -463,6 +463,13 @@
|
|
|
463
463
|
"fasttext"
|
|
464
464
|
]
|
|
465
465
|
},
|
|
466
|
+
"PhoneAlignmentMethod": {
|
|
467
|
+
"type": "string",
|
|
468
|
+
"enum": [
|
|
469
|
+
"interpolation",
|
|
470
|
+
"dtw"
|
|
471
|
+
]
|
|
472
|
+
},
|
|
466
473
|
"RecognitionOptions": {
|
|
467
474
|
"type": "object",
|
|
468
475
|
"properties": {
|
|
@@ -482,19 +489,7 @@
|
|
|
482
489
|
"$ref": "#/definitions/SpeechLanguageDetectionOptions"
|
|
483
490
|
},
|
|
484
491
|
"whisper": {
|
|
485
|
-
"
|
|
486
|
-
"properties": {
|
|
487
|
-
"model": {
|
|
488
|
-
"$ref": "#/definitions/WhisperModelName"
|
|
489
|
-
},
|
|
490
|
-
"temperature": {
|
|
491
|
-
"type": "number"
|
|
492
|
-
},
|
|
493
|
-
"prompt": {
|
|
494
|
-
"type": "string"
|
|
495
|
-
}
|
|
496
|
-
},
|
|
497
|
-
"additionalProperties": false
|
|
492
|
+
"$ref": "#/definitions/WhisperOptions"
|
|
498
493
|
},
|
|
499
494
|
"vosk": {
|
|
500
495
|
"type": "object",
|
|
@@ -633,12 +628,26 @@
|
|
|
633
628
|
"large-v2"
|
|
634
629
|
]
|
|
635
630
|
},
|
|
636
|
-
"
|
|
637
|
-
"type": "
|
|
638
|
-
"
|
|
639
|
-
"
|
|
640
|
-
|
|
641
|
-
|
|
631
|
+
"WhisperOptions": {
|
|
632
|
+
"type": "object",
|
|
633
|
+
"properties": {
|
|
634
|
+
"model": {
|
|
635
|
+
"$ref": "#/definitions/WhisperModelName"
|
|
636
|
+
},
|
|
637
|
+
"temperature": {
|
|
638
|
+
"type": "number"
|
|
639
|
+
},
|
|
640
|
+
"prompt": {
|
|
641
|
+
"type": "string"
|
|
642
|
+
},
|
|
643
|
+
"topCandidateCount": {
|
|
644
|
+
"type": "number"
|
|
645
|
+
},
|
|
646
|
+
"punctuationThreshold": {
|
|
647
|
+
"type": "number"
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
"additionalProperties": false
|
|
642
651
|
},
|
|
643
652
|
"TimePitchShiftingMethod": {
|
|
644
653
|
"type": "string",
|
|
@@ -770,16 +779,7 @@
|
|
|
770
779
|
}
|
|
771
780
|
},
|
|
772
781
|
"plainText": {
|
|
773
|
-
"
|
|
774
|
-
"properties": {
|
|
775
|
-
"paragraphBreaks": {
|
|
776
|
-
"$ref": "#/definitions/ParagraphBreakType"
|
|
777
|
-
},
|
|
778
|
-
"whitespace": {
|
|
779
|
-
"$ref": "#/definitions/WhitespaceProcessing"
|
|
780
|
-
}
|
|
781
|
-
},
|
|
782
|
-
"additionalProperties": false
|
|
782
|
+
"$ref": "#/definitions/PlainTextOptions"
|
|
783
783
|
},
|
|
784
784
|
"alignment": {
|
|
785
785
|
"$ref": "#/definitions/AlignmentOptions"
|
|
@@ -1026,19 +1026,7 @@
|
|
|
1026
1026
|
"$ref": "#/definitions/SpeechLanguageDetectionOptions"
|
|
1027
1027
|
},
|
|
1028
1028
|
"whisper": {
|
|
1029
|
-
"
|
|
1030
|
-
"properties": {
|
|
1031
|
-
"model": {
|
|
1032
|
-
"$ref": "#/definitions/WhisperModelName"
|
|
1033
|
-
},
|
|
1034
|
-
"temperature": {
|
|
1035
|
-
"type": "number"
|
|
1036
|
-
},
|
|
1037
|
-
"prompt": {
|
|
1038
|
-
"type": "string"
|
|
1039
|
-
}
|
|
1040
|
-
},
|
|
1041
|
-
"additionalProperties": false
|
|
1029
|
+
"$ref": "#/definitions/WhisperOptions"
|
|
1042
1030
|
}
|
|
1043
1031
|
},
|
|
1044
1032
|
"additionalProperties": false
|
package/dist/api/API.d.ts
CHANGED
package/dist/api/API.js
CHANGED
package/dist/api/API.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"API.js","sourceRoot":"","sources":["../../src/api/API.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,cAAc,
|
|
1
|
+
{"version":3,"file":"API.js","sourceRoot":"","sources":["../../src/api/API.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA"}
|
package/dist/api/Alignment.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RawAudio } from "../audio/AudioUtilities.js";
|
|
2
2
|
import * as API from "./API.js";
|
|
3
3
|
import { Timeline } from "../utilities/Timeline.js";
|
|
4
|
-
import {
|
|
4
|
+
import { WhisperOptions } from "../recognition/WhisperSTT.js";
|
|
5
5
|
export declare function alignFile(audioFilename: string, text: string, options: AlignmentOptions): Promise<API.AlignmentResult>;
|
|
6
6
|
export declare function alignSegments(sourceRawAudio: RawAudio, segmentTimeline: Timeline, alignmentOptions: AlignmentOptions): Promise<Timeline>;
|
|
7
7
|
export declare function align(inputRawAudio: RawAudio, transcript: string, options: AlignmentOptions): Promise<AlignmentResult>;
|
|
@@ -18,14 +18,13 @@ export interface AlignmentOptions {
|
|
|
18
18
|
language?: string;
|
|
19
19
|
languageDetection?: API.TextLanguageDetectionOptions;
|
|
20
20
|
customLexiconPaths?: string[];
|
|
21
|
+
plainText?: API.PlainTextOptions;
|
|
21
22
|
dtw?: {
|
|
22
23
|
windowDuration?: number;
|
|
23
|
-
recognition?: API.RecognitionOptions;
|
|
24
24
|
phoneAlignmentMethod?: PhoneAlignmentMethod;
|
|
25
25
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
26
|
+
recognition?: API.RecognitionOptions;
|
|
27
|
+
whisper?: WhisperOptions;
|
|
29
28
|
}
|
|
30
29
|
export declare const defaultAlignmentOptions: AlignmentOptions;
|
|
31
30
|
export declare const alignmentEngines: API.EngineMetadata[];
|
package/dist/api/Alignment.js
CHANGED
|
@@ -7,6 +7,7 @@ import { resampleAudioSpeex } from "../dsp/SpeexResampler.js";
|
|
|
7
7
|
import * as API from "./API.js";
|
|
8
8
|
import { addTimeOffsetToTimeline } from "../utilities/Timeline.js";
|
|
9
9
|
import { formatLanguageCodeWithName, getDefaultDialectForLanguageCodeIfPossible, getShortLanguageCode, normalizeLanguageCode } from "../utilities/Locale.js";
|
|
10
|
+
import { whisperOptionsDefaults } from "../recognition/WhisperSTT.js";
|
|
10
11
|
import chalk from "chalk";
|
|
11
12
|
import { createAlignmentReferenceUsingEspeakPreprocessed } from "../alignment/SpeechAlignment.js";
|
|
12
13
|
import { loadLexiconsForLanguage } from "../nlp/Lexicon.js";
|
|
@@ -93,10 +94,8 @@ export async function align(inputRawAudio, transcript, options) {
|
|
|
93
94
|
const recognitionOptionsDefaults = {
|
|
94
95
|
engine: "whisper",
|
|
95
96
|
language,
|
|
96
|
-
whisper: {}
|
|
97
97
|
};
|
|
98
|
-
const
|
|
99
|
-
const recognitionOptions = extendDeep(recognitionOptionsDefaults, engineOptions.recognition);
|
|
98
|
+
const recognitionOptions = extendDeep(recognitionOptionsDefaults, options.recognition || {});
|
|
100
99
|
logger.end();
|
|
101
100
|
const { timeline: recognitionTimeline } = await API.recognize(sourceRawAudio, recognitionOptions);
|
|
102
101
|
const { referenceRawAudio, referenceTimeline } = await getAlignmentReference();
|
|
@@ -136,16 +135,18 @@ export async function align(inputRawAudio, transcript, options) {
|
|
|
136
135
|
export const defaultAlignmentOptions = {
|
|
137
136
|
engine: "dtw",
|
|
138
137
|
language: undefined,
|
|
139
|
-
languageDetection:
|
|
138
|
+
languageDetection: {},
|
|
140
139
|
customLexiconPaths: undefined,
|
|
140
|
+
plainText: {
|
|
141
|
+
paragraphBreaks: 'double',
|
|
142
|
+
whitespace: 'collapse'
|
|
143
|
+
},
|
|
141
144
|
dtw: {
|
|
142
145
|
windowDuration: 120,
|
|
143
|
-
recognition: undefined,
|
|
144
146
|
phoneAlignmentMethod: "dtw",
|
|
145
147
|
},
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
148
|
+
recognition: {},
|
|
149
|
+
whisper: whisperOptionsDefaults
|
|
149
150
|
};
|
|
150
151
|
export const alignmentEngines = [
|
|
151
152
|
{
|
|
@@ -163,7 +164,7 @@ export const alignmentEngines = [
|
|
|
163
164
|
{
|
|
164
165
|
id: 'whisper',
|
|
165
166
|
name: 'OpenAI Whisper',
|
|
166
|
-
description: 'Extracts timestamps from the internal state of the Whisper recognition model.',
|
|
167
|
+
description: 'Extracts timestamps from the internal state of the Whisper recognition model (note: currently limited to a maximum of 30s audio length).',
|
|
167
168
|
type: 'local'
|
|
168
169
|
}
|
|
169
170
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alignment.js","sourceRoot":"","sources":["../../src/api/Alignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAY,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAY,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,0CAA0C,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"Alignment.js","sourceRoot":"","sources":["../../src/api/Alignment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const appName = "echogarden";
|
|
2
|
+
export interface EngineMetadata {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
type: 'local' | 'server' | 'cloud';
|
|
7
|
+
}
|
|
8
|
+
export interface PlainTextOptions {
|
|
9
|
+
paragraphBreaks?: ParagraphBreakType;
|
|
10
|
+
whitespace?: WhitespaceProcessing;
|
|
11
|
+
}
|
|
12
|
+
export type ParagraphBreakType = 'single' | 'double';
|
|
13
|
+
export type WhitespaceProcessing = 'preserve' | 'removeLineBreaks' | 'collapse';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const appName = "echogarden";
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=Common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Common.js","sourceRoot":"","sources":["../../src/api/Common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAA"}
|
package/dist/api/Denoising.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RawAudio } from "../audio/AudioUtilities.js";
|
|
2
|
-
import { EngineMetadata } from "./
|
|
2
|
+
import { EngineMetadata } from "./Common.js";
|
|
3
3
|
export declare function denoiseFile(filename: string, options: DenoisingOptions): Promise<RawAudio>;
|
|
4
4
|
export declare function denoise(rawAudio: RawAudio, options: DenoisingOptions): Promise<RawAudio>;
|
|
5
5
|
export type DenoisingMethod = "rnnoise";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RawAudio } from "../audio/AudioUtilities.js";
|
|
2
2
|
import * as API from "./API.js";
|
|
3
3
|
import { Timeline } from "../utilities/Timeline.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type WhisperOptions } from "../recognition/WhisperSTT.js";
|
|
5
5
|
export declare function recognizeFile(filename: string, options: RecognitionOptions): Promise<API.RecognitionResult>;
|
|
6
6
|
export declare function recognize(inputRawAudio: RawAudio, options: RecognitionOptions): Promise<RecognitionResult>;
|
|
7
7
|
export interface RecognitionResult {
|
|
@@ -17,11 +17,7 @@ export interface RecognitionOptions {
|
|
|
17
17
|
maxAlternatives?: number;
|
|
18
18
|
alignment?: API.AlignmentOptions;
|
|
19
19
|
languageDetection?: API.SpeechLanguageDetectionOptions;
|
|
20
|
-
whisper?:
|
|
21
|
-
model?: WhisperModelName;
|
|
22
|
-
temperature?: number;
|
|
23
|
-
prompt?: string;
|
|
24
|
-
};
|
|
20
|
+
whisper?: WhisperOptions;
|
|
25
21
|
vosk?: {
|
|
26
22
|
modelPath?: string;
|
|
27
23
|
};
|
package/dist/api/Recognition.js
CHANGED
|
@@ -5,6 +5,7 @@ import { downmixToMonoAndNormalize, trimAudioEnd } from "../audio/AudioUtilities
|
|
|
5
5
|
import { Logger } from "../utilities/Logger.js";
|
|
6
6
|
import { resampleAudioSpeex } from "../dsp/SpeexResampler.js";
|
|
7
7
|
import * as API from "./API.js";
|
|
8
|
+
import { whisperOptionsDefaults } from "../recognition/WhisperSTT.js";
|
|
8
9
|
import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode } from "../utilities/Locale.js";
|
|
9
10
|
import { loadPackage } from "../utilities/PackageManager.js";
|
|
10
11
|
import chalk from "chalk";
|
|
@@ -43,7 +44,7 @@ export async function recognize(inputRawAudio, options) {
|
|
|
43
44
|
throw new Error(`The model '${modelName}' is English only and cannot transcribe language '${shortLanguageCode}'`);
|
|
44
45
|
}
|
|
45
46
|
logger.end();
|
|
46
|
-
({ transcript, timeline } = await WhisperSTT.recognize(sourceRawAudio, modelName, modelDir, tokenizerDir, "transcribe", language, whisperOptions
|
|
47
|
+
({ transcript, timeline } = await WhisperSTT.recognize(sourceRawAudio, modelName, modelDir, tokenizerDir, "transcribe", language, whisperOptions));
|
|
47
48
|
break;
|
|
48
49
|
}
|
|
49
50
|
case "vosk": {
|
|
@@ -142,11 +143,7 @@ export const defaultRecognitionOptions = {
|
|
|
142
143
|
maxAlternatives: 1,
|
|
143
144
|
alignment: undefined,
|
|
144
145
|
languageDetection: undefined,
|
|
145
|
-
whisper:
|
|
146
|
-
model: undefined,
|
|
147
|
-
temperature: 0.0,
|
|
148
|
-
prompt: undefined
|
|
149
|
-
},
|
|
146
|
+
whisper: whisperOptionsDefaults,
|
|
150
147
|
vosk: {
|
|
151
148
|
modelPath: undefined
|
|
152
149
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recognition.js","sourceRoot":"","sources":["../../src/api/Recognition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAY,yBAAyB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"Recognition.js","sourceRoot":"","sources":["../../src/api/Recognition.ts"],"names":[],"mappings":"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"}
|
package/dist/api/Synthesis.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { RawAudio } from "../audio/AudioUtilities.js";
|
|
2
|
-
import { ParagraphBreakType, WhitespaceProcessing } from "../nlp/Segmentation.js";
|
|
3
2
|
import { type RubberbandOptions } from "../dsp/Rubberband.js";
|
|
4
3
|
import * as API from "./API.js";
|
|
5
4
|
import { Timeline } from "../utilities/Timeline.js";
|
|
6
|
-
import { EngineMetadata } from "./
|
|
5
|
+
import { EngineMetadata } from "./Common.js";
|
|
7
6
|
export declare function synthesizeSegments(segments: string[], options: SynthesisOptions, onSegment?: SynthesisSegmentEvent, onSentence?: SynthesisSegmentEvent): Promise<SynthesizeSegmentsResult>;
|
|
8
7
|
export interface SynthesizeSegmentsResult {
|
|
9
8
|
synthesizedAudio: RawAudio;
|
|
@@ -26,10 +25,7 @@ export interface SynthesisOptions {
|
|
|
26
25
|
segmentEndPause?: number;
|
|
27
26
|
sentenceEndPause?: number;
|
|
28
27
|
customLexiconPaths?: string[];
|
|
29
|
-
plainText?:
|
|
30
|
-
paragraphBreaks?: ParagraphBreakType;
|
|
31
|
-
whitespace?: WhitespaceProcessing;
|
|
32
|
-
};
|
|
28
|
+
plainText?: API.PlainTextOptions;
|
|
33
29
|
alignment?: API.AlignmentOptions;
|
|
34
30
|
postProcessing?: {
|
|
35
31
|
normalizeAudio?: boolean;
|
package/dist/api/Synthesis.js
CHANGED
|
@@ -11,7 +11,7 @@ import { addTimeOffsetToTimeline, multiplyTimelineByFactor } from "../utilities/
|
|
|
11
11
|
import { getAppDataDir, ensureDir, existsSync, isFileIsUpToDate, readAndParseJsonFile, writeFileSafe } from "../utilities/FileSystem.js";
|
|
12
12
|
import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode, defaultDialectForLanguageCode } from "../utilities/Locale.js";
|
|
13
13
|
import { loadPackage } from "../utilities/PackageManager.js";
|
|
14
|
-
import { appName } from "./
|
|
14
|
+
import { appName } from "./Common.js";
|
|
15
15
|
import { shouldCancelCurrentTask } from "../server/Worker.js";
|
|
16
16
|
import chalk from "chalk";
|
|
17
17
|
const log = logToStderr;
|
|
@@ -560,7 +560,7 @@ async function synthesizeSegment(text, options) {
|
|
|
560
560
|
}
|
|
561
561
|
else if (timePitchShiftingMethod == "rubberband") {
|
|
562
562
|
const rubberband = await import('../dsp/Rubberband.js');
|
|
563
|
-
const rubberbandOptions = extendDeep(rubberband.defaultRubberbandOptions, postProcessingOptions.rubberband);
|
|
563
|
+
const rubberbandOptions = extendDeep(rubberband.defaultRubberbandOptions, postProcessingOptions.rubberband || {});
|
|
564
564
|
synthesizedAudio = await rubberband.stretchTimePitch(synthesizedAudio, timeStretchFactor, pitchShiftFactor, rubberbandOptions);
|
|
565
565
|
}
|
|
566
566
|
else {
|