echogarden 1.4.4 → 1.5.0
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/data/schemas/options.json +267 -19
- package/dist/alignment/{TextAlignment.d.ts → SemanticTextAlignment.d.ts} +4 -2
- package/dist/alignment/SemanticTextAlignment.js +336 -0
- package/dist/alignment/SemanticTextAlignment.js.map +1 -0
- package/dist/alignment/SpeechAlignment.d.ts +2 -1
- package/dist/alignment/SpeechAlignment.js +105 -37
- package/dist/alignment/SpeechAlignment.js.map +1 -1
- package/dist/api/API.d.ts +7 -2
- package/dist/api/API.js +7 -2
- package/dist/api/API.js.map +1 -1
- package/dist/api/APIOptions.d.ts +4 -1
- package/dist/api/Alignment.d.ts +1 -1
- package/dist/api/Alignment.js +13 -5
- package/dist/api/Alignment.js.map +1 -1
- package/dist/api/LanguageDetectionCommon.d.ts +6 -0
- package/dist/api/LanguageDetectionCommon.js +2 -0
- package/dist/api/LanguageDetectionCommon.js.map +1 -0
- package/dist/api/Recognition.js.map +1 -1
- package/dist/api/{LanguageDetection.d.ts → SpeechLanguageDetection.d.ts} +1 -25
- package/dist/api/{LanguageDetection.js → SpeechLanguageDetection.js} +1 -68
- package/dist/api/SpeechLanguageDetection.js.map +1 -0
- package/dist/api/{Translation.js → SpeechTranslation.js} +3 -3
- package/dist/api/SpeechTranslation.js.map +1 -0
- package/dist/api/Synthesis.js +4 -4
- package/dist/api/TextLanguageDetection.d.ts +21 -0
- package/dist/api/TextLanguageDetection.js +67 -0
- package/dist/api/TextLanguageDetection.js.map +1 -0
- package/dist/api/TextTranslation.d.ts +5 -0
- package/dist/api/TextTranslation.js +4 -0
- package/dist/api/TextTranslation.js.map +1 -0
- package/dist/api/TimelineTranslationAlignment.d.ts +23 -0
- package/dist/api/TimelineTranslationAlignment.js +92 -0
- package/dist/api/TimelineTranslationAlignment.js.map +1 -0
- package/dist/api/TranscriptAndTranslationAlignment.d.ts +35 -0
- package/dist/api/TranscriptAndTranslationAlignment.js +78 -0
- package/dist/api/TranscriptAndTranslationAlignment.js.map +1 -0
- package/dist/api/TranslationAlignment.d.ts +4 -3
- package/dist/api/TranslationAlignment.js +9 -8
- package/dist/api/TranslationAlignment.js.map +1 -1
- package/dist/api/VoiceActivityDetection.js +16 -1
- package/dist/api/VoiceActivityDetection.js.map +1 -1
- package/dist/cli/CLI.d.ts +27 -7
- package/dist/cli/CLI.js +205 -34
- package/dist/cli/CLI.js.map +1 -1
- package/dist/codecs/FFMpegTranscoder.js +7 -0
- package/dist/codecs/FFMpegTranscoder.js.map +1 -1
- package/dist/dsp/FFT.d.ts +1 -1
- package/dist/dsp/FFT.js +6 -0
- package/dist/dsp/FFT.js.map +1 -1
- package/dist/dsp/KWeightingFilter.js +1 -1
- package/dist/dsp/KWeightingFilter.js.map +1 -1
- package/dist/dsp/MelSpectogram.d.ts +3 -2
- package/dist/dsp/MelSpectogram.js +14 -8
- package/dist/dsp/MelSpectogram.js.map +1 -1
- package/dist/math/VectorMath.d.ts +5 -5
- package/dist/math/VectorMath.js +4 -4
- package/dist/math/VectorMath.js.map +1 -1
- package/dist/recognition/WhisperCppSTT.d.ts +1 -1
- package/dist/recognition/WhisperCppSTT.js +2 -2
- package/dist/recognition/WhisperCppSTT.js.map +1 -1
- package/dist/recognition/WhisperSTT.js +9 -6
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/server/Client.d.ts +3 -2
- package/dist/server/Client.js.map +1 -1
- package/dist/server/Worker.d.ts +3 -2
- package/dist/server/Worker.js +3 -2
- package/dist/server/Worker.js.map +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.js +1 -1
- package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.d.ts +13 -0
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js +68 -0
- package/dist/speech-embeddings/WavToVec2BertFeatureEmbeddings.js.map +1 -0
- package/dist/speech-language-detection/SileroLanguageDetection.d.ts +1 -1
- package/dist/speech-language-detection/SileroLanguageDetection.js +1 -1
- package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
- package/dist/tests/Test.js +0 -31
- package/dist/tests/Test.js.map +1 -1
- package/dist/text-language-detection/FastTextLanguageDetection.d.ts +1 -1
- package/dist/text-language-detection/FastTextLanguageDetection.js.map +1 -1
- package/dist/text-language-detection/TinyLDLanguageDetection.d.ts +1 -1
- package/dist/text-language-detection/TinyLDLanguageDetection.js.map +1 -1
- package/dist/text-translation/NLLBTextTranslation.js +1 -1
- package/dist/text-translation/NLLBTextTranslation.js.map +1 -1
- package/dist/utilities/Locale.d.ts +1 -1
- package/dist/utilities/Locale.js +1 -1
- package/dist/utilities/OnnxUtilities.d.ts +1 -1
- package/dist/utilities/PackageManager.js +6 -4
- package/dist/utilities/PackageManager.js.map +1 -1
- package/dist/utilities/Timeline.d.ts +1 -0
- package/dist/utilities/Timeline.js +12 -0
- package/dist/utilities/Timeline.js.map +1 -1
- package/docs/API.md +81 -3
- package/docs/CLI.md +51 -1
- package/docs/Engines.md +24 -0
- package/docs/Options.md +33 -1
- package/package.json +8 -8
- package/src/alignment/SemanticTextAlignment.ts +467 -0
- package/src/alignment/SpeechAlignment.ts +179 -52
- package/src/api/API.ts +18 -2
- package/src/api/APIOptions.ts +14 -1
- package/src/api/Alignment.ts +31 -9
- package/src/api/LanguageDetectionCommon.ts +7 -0
- package/src/api/Recognition.ts +2 -0
- package/src/api/{LanguageDetection.ts → SpeechLanguageDetection.ts} +1 -119
- package/src/api/{Translation.ts → SpeechTranslation.ts} +2 -2
- package/src/api/Synthesis.ts +4 -4
- package/src/api/TextLanguageDetection.ts +116 -0
- package/src/api/TextTranslation.ts +9 -0
- package/src/api/TimelineTranslationAlignment.ts +162 -0
- package/src/api/TranscriptAndTranslationAlignment.ts +164 -0
- package/src/api/TranslationAlignment.ts +12 -10
- package/src/api/VoiceActivityDetection.ts +24 -3
- package/src/cli/CLI.ts +276 -34
- package/src/codecs/FFMpegTranscoder.ts +6 -0
- package/src/dsp/FFT.ts +8 -2
- package/src/dsp/KWeightingFilter.ts +1 -1
- package/src/dsp/MelSpectogram.ts +17 -8
- package/src/math/VectorMath.ts +9 -9
- package/src/recognition/WhisperCppSTT.ts +2 -2
- package/src/recognition/WhisperSTT.ts +10 -6
- package/src/server/Client.ts +3 -2
- package/src/server/Worker.ts +3 -2
- package/src/source-separation/MDXNetSourceSeparation.ts +1 -1
- package/src/speech-embeddings/WavToVec2BertFeatureEmbeddings.ts +107 -0
- package/src/speech-language-detection/SileroLanguageDetection.ts +2 -1
- package/src/tests/Test.ts +1 -38
- package/src/text-language-detection/FastTextLanguageDetection.ts +1 -1
- package/src/text-language-detection/TinyLDLanguageDetection.ts +1 -1
- package/src/text-translation/NLLBTextTranslation.ts +1 -1
- package/src/utilities/Locale.ts +1 -1
- package/src/utilities/OnnxUtilities.ts +1 -1
- package/src/utilities/PackageManager.ts +7 -4
- package/src/utilities/Timeline.ts +14 -0
- package/dist/alignment/TextAlignment.js +0 -156
- package/dist/alignment/TextAlignment.js.map +0 -1
- package/dist/api/LanguageDetection.js.map +0 -1
- package/dist/api/Translation.js.map +0 -1
- package/src/alignment/TextAlignment.ts +0 -234
- /package/dist/api/{Translation.d.ts → SpeechTranslation.d.ts} +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { ensureRawAudio } from '../audio/AudioUtilities.js';
|
|
3
|
+
import { formatLanguageCodeWithName, getShortLanguageCode, parseLangIdentifier } from '../utilities/Locale.js';
|
|
4
|
+
import { Logger } from '../utilities/Logger.js';
|
|
5
|
+
import { extendDeep } from '../utilities/ObjectUtilities.js';
|
|
6
|
+
import { addWordTextOffsetsToTimeline, wordTimelineToSegmentSentenceTimeline } from '../utilities/Timeline.js';
|
|
7
|
+
import * as API from './API.js';
|
|
8
|
+
export async function alignTimelineTranslation(inputTimeline, translatedTranscript, options) {
|
|
9
|
+
const logger = new Logger();
|
|
10
|
+
const startTimestamp = logger.getTimestamp();
|
|
11
|
+
options = extendDeep(defaultTimelineTranslationAlignmentOptions, options);
|
|
12
|
+
let rawAudio;
|
|
13
|
+
if (options.audio) {
|
|
14
|
+
rawAudio = await ensureRawAudio(options.audio);
|
|
15
|
+
}
|
|
16
|
+
let sourceLanguage = options.sourceLanguage;
|
|
17
|
+
if (options.sourceLanguage) {
|
|
18
|
+
const languageData = await parseLangIdentifier(options.sourceLanguage);
|
|
19
|
+
sourceLanguage = languageData.Name;
|
|
20
|
+
logger.end();
|
|
21
|
+
logger.logTitledMessage('Source language specified', formatLanguageCodeWithName(sourceLanguage));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
logger.start('No source language specified. Detect source language');
|
|
25
|
+
const timelineText = inputTimeline.map(entry => entry.text).join(' ');
|
|
26
|
+
const { detectedLanguage } = await API.detectTextLanguage(timelineText, options.languageDetection || {});
|
|
27
|
+
sourceLanguage = detectedLanguage;
|
|
28
|
+
logger.end();
|
|
29
|
+
logger.logTitledMessage('Source language detected', formatLanguageCodeWithName(detectedLanguage));
|
|
30
|
+
}
|
|
31
|
+
let targetLanguage;
|
|
32
|
+
if (options.targetLanguage) {
|
|
33
|
+
const languageData = await parseLangIdentifier(options.targetLanguage);
|
|
34
|
+
targetLanguage = languageData.Name;
|
|
35
|
+
logger.end();
|
|
36
|
+
logger.logTitledMessage('Target language specified', formatLanguageCodeWithName(targetLanguage));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
logger.start('No target language specified. Detect target language');
|
|
40
|
+
const { detectedLanguage } = await API.detectTextLanguage(translatedTranscript, options.languageDetection || {});
|
|
41
|
+
targetLanguage = detectedLanguage;
|
|
42
|
+
logger.end();
|
|
43
|
+
logger.logTitledMessage('Target language detected', formatLanguageCodeWithName(detectedLanguage));
|
|
44
|
+
}
|
|
45
|
+
logger.log(`Load ${options.engine} module`);
|
|
46
|
+
let mappedWordTimeline;
|
|
47
|
+
switch (options.engine) {
|
|
48
|
+
case 'e5': {
|
|
49
|
+
const { alignTimelineToTextSemantically, e5SupportedLanguages } = await import('../alignment/SemanticTextAlignment.js');
|
|
50
|
+
const shortSourceLanguageCode = getShortLanguageCode(sourceLanguage);
|
|
51
|
+
if (!e5SupportedLanguages.includes(shortSourceLanguageCode)) {
|
|
52
|
+
throw new Error(`Source language ${formatLanguageCodeWithName(sourceLanguage)} is not supported by the E5 embedding model.`);
|
|
53
|
+
}
|
|
54
|
+
const shortTargetLanguageCode = getShortLanguageCode(targetLanguage);
|
|
55
|
+
if (!e5SupportedLanguages.includes(shortTargetLanguageCode)) {
|
|
56
|
+
throw new Error(`Target language ${formatLanguageCodeWithName(targetLanguage)} is not supported by the E5 embedding model.`);
|
|
57
|
+
}
|
|
58
|
+
logger.end();
|
|
59
|
+
mappedWordTimeline = await alignTimelineToTextSemantically(inputTimeline, translatedTranscript, targetLanguage);
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
default: {
|
|
63
|
+
throw new Error(`Unsupported engine: ${options.engine}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
logger.start(`Postprocess timeline`);
|
|
67
|
+
addWordTextOffsetsToTimeline(mappedWordTimeline, translatedTranscript);
|
|
68
|
+
const { segmentTimeline: mappedTimeline } = await wordTimelineToSegmentSentenceTimeline(mappedWordTimeline, translatedTranscript, targetLanguage);
|
|
69
|
+
logger.end();
|
|
70
|
+
logger.logDuration(`Total timeline translation alignment time`, startTimestamp, chalk.magentaBright);
|
|
71
|
+
logger.end();
|
|
72
|
+
return {
|
|
73
|
+
timeline: mappedTimeline,
|
|
74
|
+
wordTimeline: mappedWordTimeline,
|
|
75
|
+
sourceLanguage,
|
|
76
|
+
targetLanguage,
|
|
77
|
+
rawAudio,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// Constants
|
|
81
|
+
const defaultTimelineTranslationAlignmentOptions = {
|
|
82
|
+
engine: 'e5',
|
|
83
|
+
sourceLanguage: undefined,
|
|
84
|
+
targetLanguage: undefined,
|
|
85
|
+
audio: undefined,
|
|
86
|
+
languageDetection: undefined,
|
|
87
|
+
subtitles: undefined,
|
|
88
|
+
e5: {
|
|
89
|
+
model: 'small-fp16',
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=TimelineTranslationAlignment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineTranslationAlignment.js","sourceRoot":"","sources":["../../src/api/TimelineTranslationAlignment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAA8B,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEvF,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC9G,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAY,4BAA4B,EAAE,qCAAqC,EAAE,MAAM,0BAA0B,CAAA;AACxH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,aAAuB,EAAE,oBAA4B,EAAE,OAA4C;IACjJ,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAE3B,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;IAE5C,OAAO,GAAG,UAAU,CAAC,0CAA0C,EAAE,OAAO,CAAC,CAAA;IAEzE,IAAI,QAA8B,CAAA;IAElC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;IAE3C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAEtE,cAAc,GAAG,YAAY,CAAC,IAAI,CAAA;QAElC,MAAM,CAAC,GAAG,EAAE,CAAA;QACZ,MAAM,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,0BAA0B,CAAC,cAAc,CAAC,CAAC,CAAA;IACjG,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAEpE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAExG,cAAc,GAAG,gBAAgB,CAAA;QAEjC,MAAM,CAAC,GAAG,EAAE,CAAA;QACZ,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAClG,CAAC;IAED,IAAI,cAAsB,CAAA;IAE1B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAEtE,cAAc,GAAG,YAAY,CAAC,IAAI,CAAA;QAElC,MAAM,CAAC,GAAG,EAAE,CAAA;QACZ,MAAM,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,0BAA0B,CAAC,cAAc,CAAC,CAAC,CAAA;IACjG,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACpE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAEhH,cAAc,GAAG,gBAAgB,CAAA;QAEjC,MAAM,CAAC,GAAG,EAAE,CAAA;QACZ,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAClG,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,QAAQ,OAAO,CAAC,MAAM,SAAS,CAAC,CAAA;IAE3C,IAAI,kBAA4B,CAAA;IAEhC,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAA;YAEvH,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAA;YACpE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,mBAAmB,0BAA0B,CAAC,cAAc,CAAC,8CAA8C,CAAC,CAAA;YAC7H,CAAC;YAED,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAA;YACpE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,mBAAmB,0BAA0B,CAAC,cAAc,CAAC,8CAA8C,CAAC,CAAA;YAC7H,CAAC;YAED,MAAM,CAAC,GAAG,EAAE,CAAA;YAEZ,kBAAkB,GAAG,MAAM,+BAA+B,CACzD,aAAa,EACb,oBAAoB,EACpB,cAAc,CAAC,CAAA;YAEhB,MAAK;QACN,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QACzD,CAAC;IACF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAEpC,4BAA4B,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAA;IAEtE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,MAAM,qCAAqC,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAA;IAEjJ,MAAM,CAAC,GAAG,EAAE,CAAA;IACZ,MAAM,CAAC,WAAW,CAAC,2CAA2C,EAAE,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAEpG,MAAM,CAAC,GAAG,EAAE,CAAA;IAEZ,OAAO;QACN,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,kBAAkB;QAEhC,cAAc;QACd,cAAc;QAEd,QAAQ;KACR,CAAA;AACF,CAAC;AA8BD,YAAY;AACZ,MAAM,0CAA0C,GAAwC;IACvF,MAAM,EAAE,IAAI;IAEZ,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IAEzB,KAAK,EAAE,SAAS;IAEhB,iBAAiB,EAAE,SAAS;IAE5B,SAAS,EAAE,SAAS;IAEpB,EAAE,EAAE;QACH,KAAK,EAAE,YAAY;KACnB;CACD,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AudioSourceParam, RawAudio } from '../audio/AudioUtilities.js';
|
|
2
|
+
import * as API from './API.js';
|
|
3
|
+
import { Timeline } from '../utilities/Timeline.js';
|
|
4
|
+
import { type SubtitlesConfig } from '../subtitles/Subtitles.js';
|
|
5
|
+
export declare function alignTranscriptAndTranslation(input: AudioSourceParam, transcript: string, translatedTranscript: string, options: TranscriptAndTranslationAlignmentOptions): Promise<TranscriptAndTranslationAlignmentResult>;
|
|
6
|
+
export interface TranscriptAndTranslationAlignmentResult {
|
|
7
|
+
timeline: Timeline;
|
|
8
|
+
wordTimeline: Timeline;
|
|
9
|
+
translatedTimeline: Timeline;
|
|
10
|
+
translatedWordTimeline: Timeline;
|
|
11
|
+
transcript: string;
|
|
12
|
+
translatedTranscript: string;
|
|
13
|
+
sourceLanguage: string;
|
|
14
|
+
targetLanguage: string;
|
|
15
|
+
inputRawAudio: RawAudio;
|
|
16
|
+
isolatedRawAudio?: RawAudio;
|
|
17
|
+
backgroundRawAudio?: RawAudio;
|
|
18
|
+
}
|
|
19
|
+
export type TranscriptAndTranslationAlignmentEngine = 'two-stage';
|
|
20
|
+
export interface TranscriptAndTranslationAlignmentOptions {
|
|
21
|
+
engine?: TranscriptAndTranslationAlignmentEngine;
|
|
22
|
+
sourceLanguage?: string;
|
|
23
|
+
targetLanguage?: string;
|
|
24
|
+
isolate?: boolean;
|
|
25
|
+
crop?: boolean;
|
|
26
|
+
alignment?: API.AlignmentOptions;
|
|
27
|
+
timelineAlignment?: API.TimelineTranslationAlignmentOptions;
|
|
28
|
+
languageDetection?: API.TextLanguageDetectionOptions;
|
|
29
|
+
vad?: API.VADOptions;
|
|
30
|
+
plainText?: API.PlainTextOptions;
|
|
31
|
+
subtitles?: SubtitlesConfig;
|
|
32
|
+
sourceSeparation?: API.SourceSeparationOptions;
|
|
33
|
+
}
|
|
34
|
+
export declare const defaultTranscriptAndTranslationAlignmentOptions: TranscriptAndTranslationAlignmentOptions;
|
|
35
|
+
export declare const TranscriptAndTranslationAlignmentEngines: API.EngineMetadata[];
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { extendDeep } from '../utilities/ObjectUtilities.js';
|
|
2
|
+
import { logToStderr } from '../utilities/Utilities.js';
|
|
3
|
+
import { Logger } from '../utilities/Logger.js';
|
|
4
|
+
import * as API from './API.js';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
const log = logToStderr;
|
|
7
|
+
export async function alignTranscriptAndTranslation(input, transcript, translatedTranscript, options) {
|
|
8
|
+
const logger = new Logger();
|
|
9
|
+
const startTimestamp = logger.getTimestamp();
|
|
10
|
+
options = extendDeep(defaultTranscriptAndTranslationAlignmentOptions, options);
|
|
11
|
+
if (options.sourceLanguage && !options.alignment?.language) {
|
|
12
|
+
options.alignment = extendDeep(options.alignment || {}, { language: options.sourceLanguage });
|
|
13
|
+
}
|
|
14
|
+
if (options.targetLanguage && !options.timelineAlignment?.targetLanguage) {
|
|
15
|
+
options.timelineAlignment = extendDeep(options.timelineAlignment || {}, { targetLanguage: options.targetLanguage });
|
|
16
|
+
}
|
|
17
|
+
let alignmentResult;
|
|
18
|
+
let timelineAlignmentResult;
|
|
19
|
+
switch (options.engine) {
|
|
20
|
+
case 'two-stage': {
|
|
21
|
+
logger.logTitledMessage(`Start stage 1`, `Align speech to transcript`, chalk.magentaBright);
|
|
22
|
+
logger.end();
|
|
23
|
+
alignmentResult = await API.align(input, transcript, options.alignment || {});
|
|
24
|
+
logger.log(``);
|
|
25
|
+
logger.logTitledMessage(`Start stage 2`, `Align timeline to translated transcript`, chalk.magentaBright);
|
|
26
|
+
logger.end();
|
|
27
|
+
timelineAlignmentResult = await API.alignTimelineTranslation(alignmentResult.timeline, translatedTranscript, options.timelineAlignment || {});
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
default: {
|
|
31
|
+
throw new Error(`Engine '${options.engine}' is not supported`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
logger.end();
|
|
35
|
+
logger.log(``);
|
|
36
|
+
logger.logDuration(`Total transcript and translation alignment time`, startTimestamp, chalk.magentaBright);
|
|
37
|
+
return {
|
|
38
|
+
timeline: alignmentResult.timeline,
|
|
39
|
+
wordTimeline: alignmentResult.wordTimeline,
|
|
40
|
+
translatedTimeline: timelineAlignmentResult.timeline,
|
|
41
|
+
translatedWordTimeline: timelineAlignmentResult.wordTimeline,
|
|
42
|
+
transcript,
|
|
43
|
+
translatedTranscript,
|
|
44
|
+
sourceLanguage: alignmentResult.language,
|
|
45
|
+
targetLanguage: timelineAlignmentResult.targetLanguage,
|
|
46
|
+
inputRawAudio: alignmentResult.inputRawAudio,
|
|
47
|
+
isolatedRawAudio: alignmentResult.isolatedRawAudio,
|
|
48
|
+
backgroundRawAudio: alignmentResult.backgroundRawAudio,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export const defaultTranscriptAndTranslationAlignmentOptions = {
|
|
52
|
+
engine: 'two-stage',
|
|
53
|
+
sourceLanguage: undefined,
|
|
54
|
+
targetLanguage: undefined,
|
|
55
|
+
isolate: false,
|
|
56
|
+
crop: true,
|
|
57
|
+
alignment: {},
|
|
58
|
+
timelineAlignment: {},
|
|
59
|
+
languageDetection: {},
|
|
60
|
+
plainText: {
|
|
61
|
+
paragraphBreaks: 'double',
|
|
62
|
+
whitespace: 'collapse'
|
|
63
|
+
},
|
|
64
|
+
subtitles: {},
|
|
65
|
+
vad: {
|
|
66
|
+
engine: 'adaptive-gate'
|
|
67
|
+
},
|
|
68
|
+
sourceSeparation: {},
|
|
69
|
+
};
|
|
70
|
+
export const TranscriptAndTranslationAlignmentEngines = [
|
|
71
|
+
{
|
|
72
|
+
id: 'two-stage',
|
|
73
|
+
name: 'Two-stage translation alignment',
|
|
74
|
+
description: 'Applies two-stage translation alignment to the spoken audio. First stage aligns the speech to the native language transcript. Second stage aligns the resulting timeline with the translated transcript.',
|
|
75
|
+
type: 'local'
|
|
76
|
+
}
|
|
77
|
+
];
|
|
78
|
+
//# sourceMappingURL=TranscriptAndTranslationAlignment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TranscriptAndTranslationAlignment.js","sourceRoot":"","sources":["../../src/api/TranscriptAndTranslationAlignment.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,13 @@ import * as API from './API.js';
|
|
|
3
3
|
import { Timeline } from '../utilities/Timeline.js';
|
|
4
4
|
import { type WhisperAlignmentOptions } from '../recognition/WhisperSTT.js';
|
|
5
5
|
import { type SubtitlesConfig } from '../subtitles/Subtitles.js';
|
|
6
|
-
export declare function alignTranslation(input: AudioSourceParam,
|
|
6
|
+
export declare function alignTranslation(input: AudioSourceParam, translatedTranscript: string, options: TranslationAlignmentOptions): Promise<TranslationAlignmentResult>;
|
|
7
7
|
export interface TranslationAlignmentResult {
|
|
8
8
|
timeline: Timeline;
|
|
9
9
|
wordTimeline: Timeline;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
translatedTranscript: string;
|
|
11
|
+
sourceLanguage: string;
|
|
12
|
+
targetLanguage: string;
|
|
12
13
|
inputRawAudio: RawAudio;
|
|
13
14
|
isolatedRawAudio?: RawAudio;
|
|
14
15
|
backgroundRawAudio?: RawAudio;
|
|
@@ -4,10 +4,10 @@ import { ensureRawAudio, normalizeAudioLevel, trimAudioEnd } from '../audio/Audi
|
|
|
4
4
|
import { Logger } from '../utilities/Logger.js';
|
|
5
5
|
import * as API from './API.js';
|
|
6
6
|
import { addWordTextOffsetsToTimeline, wordTimelineToSegmentSentenceTimeline } from '../utilities/Timeline.js';
|
|
7
|
-
import { formatLanguageCodeWithName, getShortLanguageCode,
|
|
7
|
+
import { formatLanguageCodeWithName, getShortLanguageCode, normalizeIdentifierToLanguageCode, parseLangIdentifier } from '../utilities/Locale.js';
|
|
8
8
|
import chalk from 'chalk';
|
|
9
9
|
const log = logToStderr;
|
|
10
|
-
export async function alignTranslation(input,
|
|
10
|
+
export async function alignTranslation(input, translatedTranscript, options) {
|
|
11
11
|
const logger = new Logger();
|
|
12
12
|
const startTimestamp = logger.getTimestamp();
|
|
13
13
|
options = extendDeep(defaultTranslationAlignmentOptions, options);
|
|
@@ -52,7 +52,7 @@ export async function alignTranslation(input, transcript, options) {
|
|
|
52
52
|
logger.end();
|
|
53
53
|
logger.logTitledMessage('Source language detected', formatLanguageCodeWithName(detectedLanguage));
|
|
54
54
|
}
|
|
55
|
-
const targetLanguage = await
|
|
55
|
+
const targetLanguage = await normalizeIdentifierToLanguageCode(options.targetLanguage);
|
|
56
56
|
logger.logTitledMessage('Target language', formatLanguageCodeWithName(targetLanguage));
|
|
57
57
|
let mappedTimeline;
|
|
58
58
|
switch (options.engine) {
|
|
@@ -72,7 +72,7 @@ export async function alignTranslation(input, transcript, options) {
|
|
|
72
72
|
if (modelName.endsWith('.en')) {
|
|
73
73
|
throw new Error('Whisper translation tasks are only possible with a multilingual model');
|
|
74
74
|
}
|
|
75
|
-
mappedTimeline = await WhisperSTT.alignEnglishTranslation(sourceRawAudio,
|
|
75
|
+
mappedTimeline = await WhisperSTT.alignEnglishTranslation(sourceRawAudio, translatedTranscript, modelName, modelDir, shortSourceLanguageCode, whisperAlignmnentOptions);
|
|
76
76
|
break;
|
|
77
77
|
}
|
|
78
78
|
default: {
|
|
@@ -84,16 +84,17 @@ export async function alignTranslation(input, transcript, options) {
|
|
|
84
84
|
API.convertCroppedToUncroppedTimeline(mappedTimeline, sourceUncropTimeline);
|
|
85
85
|
}
|
|
86
86
|
// Add text offsets
|
|
87
|
-
addWordTextOffsetsToTimeline(mappedTimeline,
|
|
87
|
+
addWordTextOffsetsToTimeline(mappedTimeline, translatedTranscript);
|
|
88
88
|
// Make segment timeline
|
|
89
|
-
const { segmentTimeline } = await wordTimelineToSegmentSentenceTimeline(mappedTimeline,
|
|
89
|
+
const { segmentTimeline } = await wordTimelineToSegmentSentenceTimeline(mappedTimeline, translatedTranscript, sourceLanguage, options.plainText?.paragraphBreaks, options.plainText?.whitespace);
|
|
90
90
|
logger.end();
|
|
91
91
|
logger.logDuration(`Total translation alignment time`, startTimestamp, chalk.magentaBright);
|
|
92
92
|
return {
|
|
93
93
|
timeline: segmentTimeline,
|
|
94
94
|
wordTimeline: mappedTimeline,
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
translatedTranscript,
|
|
96
|
+
sourceLanguage,
|
|
97
|
+
targetLanguage,
|
|
97
98
|
inputRawAudio,
|
|
98
99
|
isolatedRawAudio,
|
|
99
100
|
backgroundRawAudio,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranslationAlignment.js","sourceRoot":"","sources":["../../src/api/TranslationAlignment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAA8B,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC1H,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAY,4BAA4B,EAAE,qCAAqC,EAAE,MAAM,0BAA0B,CAAA;AACxH,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEjJ,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"TranslationAlignment.js","sourceRoot":"","sources":["../../src/api/TranslationAlignment.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,6 +138,12 @@ export function convertCroppedToUncroppedTimeline(timeline, uncropTimeline) {
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
function mapUsingUncropTimeline(startTimeInCroppedAudio, endTimeInCroppedAudio, uncropTimeline) {
|
|
141
|
+
if (uncropTimeline.length === 0) {
|
|
142
|
+
return {
|
|
143
|
+
mappedStartTime: 0,
|
|
144
|
+
mappedEndTime: 0,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
141
147
|
let offsetInCroppedAudio = 0;
|
|
142
148
|
if (endTimeInCroppedAudio < startTimeInCroppedAudio) {
|
|
143
149
|
endTimeInCroppedAudio = startTimeInCroppedAudio;
|
|
@@ -158,7 +164,16 @@ function mapUsingUncropTimeline(startTimeInCroppedAudio, endTimeInCroppedAudio,
|
|
|
158
164
|
offsetInCroppedAudio += uncropEntryDuration;
|
|
159
165
|
}
|
|
160
166
|
if (bestOverlapDuration === -1) {
|
|
161
|
-
|
|
167
|
+
if (startTimeInCroppedAudio >= offsetInCroppedAudio) {
|
|
168
|
+
const maxTimestamp = uncropTimeline[uncropTimeline.length - 1].endTime;
|
|
169
|
+
return {
|
|
170
|
+
mappedStartTime: maxTimestamp,
|
|
171
|
+
mappedEndTime: maxTimestamp
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
throw new Error(`Given start time ${startTimeInCroppedAudio} was smaller than audio duration but no match was found in uncrop timeline (should not occur)`);
|
|
176
|
+
}
|
|
162
177
|
}
|
|
163
178
|
return {
|
|
164
179
|
mappedStartTime,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceActivityDetection.js","sourceRoot":"","sources":["../../src/api/VoiceActivityDetection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"VoiceActivityDetection.js","sourceRoot":"","sources":["../../src/api/VoiceActivityDetection.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/CLI.d.ts
CHANGED
|
@@ -1,8 +1,28 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import * as API from '../api/API.js';
|
|
2
|
+
import { CLIOptions } from './CLIOptions.js';
|
|
3
|
+
type CLIOperationData = {
|
|
4
|
+
operation: string;
|
|
5
|
+
operationArgs: string[];
|
|
6
|
+
globalOptions: API.GlobalOptions;
|
|
7
|
+
cliOptions: CLIOptions;
|
|
8
|
+
operationOptionsLookup: Map<string, string>;
|
|
9
|
+
};
|
|
3
10
|
export declare function start(processArgs: string[]): Promise<void>;
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export declare function
|
|
11
|
+
export declare function speak(operationData: CLIOperationData): Promise<void>;
|
|
12
|
+
export declare function transcribe(operationData: CLIOperationData): Promise<void>;
|
|
13
|
+
export declare function align(operationData: CLIOperationData): Promise<void>;
|
|
14
|
+
export declare function alignTranslation(operationData: CLIOperationData): Promise<void>;
|
|
15
|
+
export declare function alignTranscriptAndTranslation(operationData: CLIOperationData): Promise<void>;
|
|
16
|
+
export declare function alignTimelineTranslation(operationData: CLIOperationData): Promise<void>;
|
|
17
|
+
export declare function translateSpeech(operationData: CLIOperationData): Promise<void>;
|
|
18
|
+
export declare function detectLanguage(operationData: CLIOperationData, mode: 'speech' | 'text' | 'auto'): Promise<void>;
|
|
19
|
+
export declare function detectVoiceActivity(operationData: CLIOperationData): Promise<void>;
|
|
20
|
+
export declare function denoise(operationData: CLIOperationData): Promise<void>;
|
|
21
|
+
export declare function isolate(operationData: CLIOperationData): Promise<void>;
|
|
22
|
+
export declare function listEngines(operationData: CLIOperationData): Promise<void>;
|
|
23
|
+
export declare function listTTSVoices(operationData: CLIOperationData): Promise<void>;
|
|
24
|
+
export declare function installPackages(operationData: CLIOperationData): Promise<void>;
|
|
25
|
+
export declare function uninstallPackages(operationData: CLIOperationData): Promise<void>;
|
|
26
|
+
export declare function listPackages(operationData: CLIOperationData): Promise<void>;
|
|
27
|
+
export declare function serve(operationData: CLIOperationData): Promise<void>;
|
|
28
|
+
export {};
|