echogarden 1.0.4 → 1.1.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.
Files changed (122) hide show
  1. package/README.md +26 -23
  2. package/data/schemas/options.json +177 -36
  3. package/dist/alignment/SpeechAlignment.d.ts +1 -1
  4. package/dist/alignment/SpeechAlignment.js +1 -1
  5. package/dist/alignment/SpeechAlignment.js.map +1 -1
  6. package/dist/api/API.d.ts +1 -0
  7. package/dist/api/API.js +1 -0
  8. package/dist/api/API.js.map +1 -1
  9. package/dist/api/APIOptions.d.ts +1 -0
  10. package/dist/api/Alignment.d.ts +3 -3
  11. package/dist/api/Alignment.js +5 -10
  12. package/dist/api/Alignment.js.map +1 -1
  13. package/dist/api/LanguageDetection.d.ts +5 -7
  14. package/dist/api/LanguageDetection.js +3 -2
  15. package/dist/api/LanguageDetection.js.map +1 -1
  16. package/dist/api/Recognition.d.ts +4 -5
  17. package/dist/api/Recognition.js +5 -8
  18. package/dist/api/Recognition.js.map +1 -1
  19. package/dist/api/SourceSeparation.d.ts +2 -0
  20. package/dist/api/SourceSeparation.js +4 -2
  21. package/dist/api/SourceSeparation.js.map +1 -1
  22. package/dist/api/Synthesis.d.ts +3 -1
  23. package/dist/api/Synthesis.js +9 -10
  24. package/dist/api/Synthesis.js.map +1 -1
  25. package/dist/api/Translation.d.ts +1 -1
  26. package/dist/api/Translation.js +4 -8
  27. package/dist/api/Translation.js.map +1 -1
  28. package/dist/api/TranslationAlignment.d.ts +31 -0
  29. package/dist/api/TranslationAlignment.js +121 -0
  30. package/dist/api/TranslationAlignment.js.map +1 -0
  31. package/dist/api/VoiceActivityDetection.d.ts +5 -1
  32. package/dist/api/VoiceActivityDetection.js +38 -2
  33. package/dist/api/VoiceActivityDetection.js.map +1 -1
  34. package/dist/audio/AudioPlayer.js +6 -1
  35. package/dist/audio/AudioPlayer.js.map +1 -1
  36. package/dist/cli/CLI.js +85 -0
  37. package/dist/cli/CLI.js.map +1 -1
  38. package/dist/dsp/FFT.js.map +1 -1
  39. package/dist/math/MedianFilter.d.ts +5 -0
  40. package/dist/math/MedianFilter.js +102 -0
  41. package/dist/math/MedianFilter.js.map +1 -0
  42. package/dist/math/VectorMath.d.ts +0 -2
  43. package/dist/math/VectorMath.js +1 -25
  44. package/dist/math/VectorMath.js.map +1 -1
  45. package/dist/recognition/OpenAICloudSTT.d.ts +1 -1
  46. package/dist/recognition/OpenAICloudSTT.js.map +1 -1
  47. package/dist/recognition/SileroSTT.d.ts +22 -1
  48. package/dist/recognition/SileroSTT.js +122 -95
  49. package/dist/recognition/SileroSTT.js.map +1 -1
  50. package/dist/recognition/WhisperCppSTT.js +1 -1
  51. package/dist/recognition/WhisperCppSTT.js.map +1 -1
  52. package/dist/recognition/WhisperSTT.d.ts +52 -19
  53. package/dist/recognition/WhisperSTT.js +645 -494
  54. package/dist/recognition/WhisperSTT.js.map +1 -1
  55. package/dist/server/Server.js.map +1 -1
  56. package/dist/source-separation/MDXNetSourceSeparation.d.ts +5 -3
  57. package/dist/source-separation/MDXNetSourceSeparation.js +26 -19
  58. package/dist/source-separation/MDXNetSourceSeparation.js.map +1 -1
  59. package/dist/speech-language-detection/SileroLanguageDetection.d.ts +15 -9
  60. package/dist/speech-language-detection/SileroLanguageDetection.js +23 -16
  61. package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
  62. package/dist/synthesis/EspeakTTS.js +4 -0
  63. package/dist/synthesis/EspeakTTS.js.map +1 -1
  64. package/dist/synthesis/GoogleCloudTTS.js.map +1 -1
  65. package/dist/synthesis/VitsTTS.d.ts +8 -6
  66. package/dist/synthesis/VitsTTS.js +36 -31
  67. package/dist/synthesis/VitsTTS.js.map +1 -1
  68. package/dist/tests/Test.js.map +1 -1
  69. package/dist/utilities/OnnxUtilities.d.ts +14 -0
  70. package/dist/utilities/OnnxUtilities.js +43 -0
  71. package/dist/utilities/OnnxUtilities.js.map +1 -0
  72. package/dist/utilities/Utilities.d.ts +4 -8
  73. package/dist/utilities/Utilities.js +35 -58
  74. package/dist/utilities/Utilities.js.map +1 -1
  75. package/dist/voice-activity-detection/SileroVAD.d.ts +5 -3
  76. package/dist/voice-activity-detection/SileroVAD.js +9 -11
  77. package/dist/voice-activity-detection/SileroVAD.js.map +1 -1
  78. package/docs/API.md +54 -34
  79. package/docs/CLI.md +25 -13
  80. package/docs/Contributing.md +4 -2
  81. package/docs/Engines.md +43 -32
  82. package/docs/Licenses.md +3 -4
  83. package/docs/Options.md +47 -11
  84. package/docs/Releases.md +4 -0
  85. package/docs/Server.md +8 -6
  86. package/docs/Tasklist.md +39 -52
  87. package/docs/Technical.md +1 -1
  88. package/package.json +8 -12
  89. package/src/alignment/SpeechAlignment.ts +1 -1
  90. package/src/api/API.ts +1 -0
  91. package/src/api/APIOptions.ts +1 -0
  92. package/src/api/Alignment.ts +10 -14
  93. package/src/api/LanguageDetection.ts +14 -10
  94. package/src/api/Recognition.ts +17 -10
  95. package/src/api/SourceSeparation.ts +7 -2
  96. package/src/api/Synthesis.ts +26 -11
  97. package/src/api/Translation.ts +14 -8
  98. package/src/api/TranslationAlignment.ts +213 -0
  99. package/src/api/VoiceActivityDetection.ts +66 -3
  100. package/src/audio/AudioPlayer.ts +6 -2
  101. package/src/cli/CLI.ts +121 -2
  102. package/src/dsp/FFT.ts +3 -0
  103. package/src/math/MedianFilter.ts +124 -0
  104. package/src/math/VectorMath.ts +1 -36
  105. package/src/recognition/OpenAICloudSTT.ts +27 -27
  106. package/src/recognition/SileroSTT.ts +149 -102
  107. package/src/recognition/WhisperCppSTT.ts +1 -1
  108. package/src/recognition/WhisperSTT.ts +961 -684
  109. package/src/server/Server.ts +1 -1
  110. package/src/source-separation/MDXNetSourceSeparation.ts +35 -19
  111. package/src/speech-language-detection/SileroLanguageDetection.ts +53 -33
  112. package/src/synthesis/EspeakTTS.ts +8 -0
  113. package/src/synthesis/GoogleCloudTTS.ts +12 -1
  114. package/src/synthesis/VitsTTS.ts +57 -46
  115. package/src/tests/Test.ts +1 -1
  116. package/src/utilities/OnnxUtilities.ts +68 -0
  117. package/src/utilities/Utilities.ts +38 -66
  118. package/src/voice-activity-detection/SileroVAD.ts +15 -15
  119. package/dist/utilities/NdArrayUtilities.d.ts +0 -3
  120. package/dist/utilities/NdArrayUtilities.js +0 -23
  121. package/dist/utilities/NdArrayUtilities.js.map +0 -1
  122. package/src/utilities/NdArrayUtilities.ts +0 -31
@@ -3,14 +3,10 @@ import { logToStderr } from '../utilities/Utilities.js';
3
3
  import { ensureRawAudio, normalizeAudioLevel, trimAudioEnd } from '../audio/AudioUtilities.js';
4
4
  import { Logger } from '../utilities/Logger.js';
5
5
  import { addWordTextOffsetsToTimeline, wordTimelineToSegmentSentenceTimeline } from '../utilities/Timeline.js';
6
- import { defaultWhisperOptions } from '../recognition/WhisperSTT.js';
7
6
  import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode } from '../utilities/Locale.js';
8
7
  import { detectSpeechLanguage } from './API.js';
9
8
  import chalk from 'chalk';
10
- import { defaultSubtitlesBaseConfig } from '../subtitles/Subtitles.js';
11
9
  import * as API from './API.js';
12
- import { defaultOpenAICloudSTTOptions } from '../recognition/OpenAICloudSTT.js';
13
- import { defaultWhisperCppOptions } from '../recognition/WhisperCppSTT.js';
14
10
  const log = logToStderr;
15
11
  /////////////////////////////////////////////////////////////////////////////////////////////
16
12
  // Speech translation
@@ -151,13 +147,13 @@ export const defaultSpeechTranslationOptions = {
151
147
  crop: true,
152
148
  isolate: false,
153
149
  languageDetection: undefined,
154
- subtitles: defaultSubtitlesBaseConfig,
150
+ subtitles: {},
155
151
  vad: {
156
152
  engine: 'adaptive-gate'
157
153
  },
158
- whisper: defaultWhisperOptions,
159
- whisperCpp: defaultWhisperCppOptions,
160
- openAICloud: defaultOpenAICloudSTTOptions,
154
+ whisper: {},
155
+ whisperCpp: {},
156
+ openAICloud: {},
161
157
  };
162
158
  export const speechTranslationEngines = [
163
159
  {
@@ -1 +1 @@
1
- {"version":3,"file":"Translation.js","sourceRoot":"","sources":["../../src/api/Translation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Translation.js","sourceRoot":"","sources":["../../src/api/Translation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
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 WhisperAlignmentOptions } from '../recognition/WhisperSTT.js';
5
+ import { type SubtitlesConfig } from '../subtitles/Subtitles.js';
6
+ export declare function alignTranslation(input: AudioSourceParam, transcript: string, options: TranslationAlignmentOptions): Promise<TranslationAlignmentResult>;
7
+ export interface TranslationAlignmentResult {
8
+ timeline: Timeline;
9
+ wordTimeline: Timeline;
10
+ transcript: string;
11
+ language: string;
12
+ inputRawAudio: RawAudio;
13
+ isolatedRawAudio?: RawAudio;
14
+ backgroundRawAudio?: RawAudio;
15
+ }
16
+ export type TranslationAlignmentEngine = 'whisper';
17
+ export interface TranslationAlignmentOptions {
18
+ engine?: TranslationAlignmentEngine;
19
+ sourceLanguage?: string;
20
+ targetLanguage?: string;
21
+ isolate?: boolean;
22
+ crop?: boolean;
23
+ languageDetection?: API.SpeechLanguageDetectionOptions;
24
+ vad?: API.VADOptions;
25
+ plainText?: API.PlainTextOptions;
26
+ subtitles?: SubtitlesConfig;
27
+ sourceSeparation?: API.SourceSeparationOptions;
28
+ whisper?: WhisperAlignmentOptions;
29
+ }
30
+ export declare const defaultTranslationAlignmentOptions: TranslationAlignmentOptions;
31
+ export declare const translationAlignmentEngines: API.EngineMetadata[];
@@ -0,0 +1,121 @@
1
+ import { extendDeep } from '../utilities/ObjectUtilities.js';
2
+ import { logToStderr } from '../utilities/Utilities.js';
3
+ import { ensureRawAudio, normalizeAudioLevel, trimAudioEnd } from '../audio/AudioUtilities.js';
4
+ import { Logger } from '../utilities/Logger.js';
5
+ import * as API from './API.js';
6
+ import { addWordTextOffsetsToTimeline, wordTimelineToSegmentSentenceTimeline } from '../utilities/Timeline.js';
7
+ import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode } from '../utilities/Locale.js';
8
+ import chalk from 'chalk';
9
+ const log = logToStderr;
10
+ export async function alignTranslation(input, transcript, options) {
11
+ const logger = new Logger();
12
+ const startTimestamp = logger.getTimestamp();
13
+ options = extendDeep(defaultTranslationAlignmentOptions, options);
14
+ const inputRawAudio = await ensureRawAudio(input);
15
+ let sourceRawAudio;
16
+ let isolatedRawAudio;
17
+ let backgroundRawAudio;
18
+ if (options.isolate) {
19
+ logger.log(``);
20
+ logger.end();
21
+ ({ isolatedRawAudio, backgroundRawAudio } = await API.isolate(inputRawAudio, options.sourceSeparation));
22
+ logger.end();
23
+ logger.log(``);
24
+ sourceRawAudio = await ensureRawAudio(isolatedRawAudio, 16000, 1);
25
+ }
26
+ else {
27
+ sourceRawAudio = await ensureRawAudio(inputRawAudio, 16000, 1);
28
+ }
29
+ let sourceUncropTimeline;
30
+ if (options.crop) {
31
+ logger.start('Crop using voice activity detection');
32
+ ({ timeline: sourceUncropTimeline, croppedRawAudio: sourceRawAudio } = await API.detectVoiceActivity(sourceRawAudio, options.vad));
33
+ logger.end();
34
+ }
35
+ logger.start('Prepare for alignment');
36
+ sourceRawAudio = normalizeAudioLevel(sourceRawAudio);
37
+ sourceRawAudio.audioChannels[0] = trimAudioEnd(sourceRawAudio.audioChannels[0]);
38
+ let sourceLanguage;
39
+ if (options.sourceLanguage) {
40
+ sourceLanguage = normalizeLanguageCode(options.sourceLanguage);
41
+ }
42
+ else {
43
+ logger.start('No source language specified. Detecting speech language');
44
+ const { detectedLanguage } = await API.detectSpeechLanguage(sourceRawAudio, options.languageDetection || {});
45
+ logger.end();
46
+ logger.logTitledMessage('Source language detected', formatLanguageCodeWithName(detectedLanguage));
47
+ sourceLanguage = detectedLanguage;
48
+ }
49
+ const targetLanguage = normalizeLanguageCode(options.targetLanguage);
50
+ let mappedTimeline;
51
+ switch (options.engine) {
52
+ case 'whisper': {
53
+ const WhisperSTT = await import('../recognition/WhisperSTT.js');
54
+ const shortSourceLanguageCode = getShortLanguageCode(sourceLanguage);
55
+ const shortTargetLanguageCode = getShortLanguageCode(targetLanguage);
56
+ if (shortTargetLanguageCode != 'en') {
57
+ throw new Error('Whisper translation only supports English as target language');
58
+ }
59
+ if (shortSourceLanguageCode == 'en' && shortTargetLanguageCode == 'en') {
60
+ throw new Error('Both translation source and target languages are English');
61
+ }
62
+ const whisperAlignmnentOptions = options.whisper;
63
+ const { modelName, modelDir } = await WhisperSTT.loadPackagesAndGetPaths(whisperAlignmnentOptions.model, shortSourceLanguageCode);
64
+ logger.end();
65
+ if (modelName.endsWith('.en')) {
66
+ throw new Error('Whisper translation tasks are only possible with a multilingual model');
67
+ }
68
+ mappedTimeline = await WhisperSTT.alignEnglishTranslation(sourceRawAudio, transcript, modelName, modelDir, shortSourceLanguageCode, whisperAlignmnentOptions);
69
+ break;
70
+ }
71
+ default: {
72
+ throw new Error(`Engine '${options.engine}' is not supported`);
73
+ }
74
+ }
75
+ // If the audio was cropped before recognition, map the timestamps back to the original audio
76
+ if (sourceUncropTimeline && sourceUncropTimeline.length > 0) {
77
+ API.convertCroppedToUncroppedTimeline(mappedTimeline, sourceUncropTimeline);
78
+ }
79
+ // Add text offsets
80
+ addWordTextOffsetsToTimeline(mappedTimeline, transcript);
81
+ // Make segment timeline
82
+ const { segmentTimeline } = await wordTimelineToSegmentSentenceTimeline(mappedTimeline, transcript, sourceLanguage, options.plainText?.paragraphBreaks, options.plainText?.whitespace);
83
+ logger.end();
84
+ logger.logDuration(`Total translation alignment time`, startTimestamp, chalk.magentaBright);
85
+ return {
86
+ timeline: segmentTimeline,
87
+ wordTimeline: mappedTimeline,
88
+ transcript,
89
+ language: sourceLanguage,
90
+ inputRawAudio,
91
+ isolatedRawAudio,
92
+ backgroundRawAudio,
93
+ };
94
+ }
95
+ export const defaultTranslationAlignmentOptions = {
96
+ engine: 'whisper',
97
+ sourceLanguage: undefined,
98
+ targetLanguage: 'en',
99
+ isolate: false,
100
+ crop: true,
101
+ languageDetection: {},
102
+ plainText: {
103
+ paragraphBreaks: 'double',
104
+ whitespace: 'collapse'
105
+ },
106
+ subtitles: {},
107
+ vad: {
108
+ engine: 'adaptive-gate'
109
+ },
110
+ sourceSeparation: {},
111
+ whisper: {}
112
+ };
113
+ export const translationAlignmentEngines = [
114
+ {
115
+ id: 'whisper',
116
+ name: 'OpenAI Whisper',
117
+ description: 'Extracts timestamps by guiding the Whisper recognition model to recognize the translated transcript tokens.',
118
+ type: 'local'
119
+ }
120
+ ];
121
+ //# sourceMappingURL=TranslationAlignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranslationAlignment.js","sourceRoot":"","sources":["../../src/api/TranslationAlignment.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { AudioSourceParam, RawAudio } from '../audio/AudioUtilities.js';
2
2
  import { Timeline } from '../utilities/Timeline.js';
3
3
  import { EngineMetadata } from './Common.js';
4
4
  import { type AdaptiveGateVADOptions } from '../voice-activity-detection/AdaptiveGateVAD.js';
5
+ import { type WhisperVADOptions } from '../recognition/WhisperSTT.js';
6
+ import { OnnxExecutionProvider } from '../utilities/OnnxUtilities.js';
5
7
  export declare function detectVoiceActivity(input: AudioSourceParam, options: VADOptions): Promise<VADResult>;
6
8
  export declare function convertCroppedToUncroppedTimeline(timeline: Timeline, uncropTimeline: Timeline): void;
7
9
  export declare function mapTimestampUsingUncropTimeline(timeInCroppedAudio: number, uncropTimeline: Timeline): number;
@@ -11,7 +13,7 @@ export interface VADResult {
11
13
  inputRawAudio: RawAudio;
12
14
  croppedRawAudio: RawAudio;
13
15
  }
14
- export type VADEngine = 'webrtc' | 'silero' | 'rnnoise' | 'adaptive-gate';
16
+ export type VADEngine = 'webrtc' | 'silero' | 'rnnoise' | 'whisper' | 'adaptive-gate';
15
17
  export interface VADOptions {
16
18
  engine?: VADEngine;
17
19
  activityThreshold?: number;
@@ -21,8 +23,10 @@ export interface VADOptions {
21
23
  };
22
24
  silero?: {
23
25
  frameDuration?: 30 | 60 | 90;
26
+ provider?: OnnxExecutionProvider;
24
27
  };
25
28
  rnnoise?: {};
29
+ whisper?: WhisperVADOptions;
26
30
  adaptiveGate?: AdaptiveGateVADOptions;
27
31
  }
28
32
  export declare const defaultVADOptions: VADOptions;
@@ -31,7 +31,8 @@ export async function detectVoiceActivity(input, options) {
31
31
  const modelDir = await loadPackage('silero-vad');
32
32
  const modelPath = path.join(modelDir, 'silero-vad.onnx');
33
33
  const frameDuration = sileroOptions.frameDuration;
34
- const frameProbabilities = await SileroVAD.detectVoiceActivity(sourceRawAudio, modelPath, frameDuration);
34
+ const onnxExecutionProviders = sileroOptions.provider ? [sileroOptions.provider] : [];
35
+ const frameProbabilities = await SileroVAD.detectVoiceActivity(sourceRawAudio, modelPath, frameDuration, onnxExecutionProviders);
35
36
  const frameDurationSeconds = sileroOptions.frameDuration / 1000;
36
37
  verboseTimeline = frameProbabilitiesToTimeline(frameProbabilities, frameDurationSeconds, activityThreshold);
37
38
  break;
@@ -46,6 +47,31 @@ export async function detectVoiceActivity(input, options) {
46
47
  verboseTimeline = frameProbabilitiesToTimeline(frameProbabilities, frameDurationSeconds, activityThreshold);
47
48
  break;
48
49
  }
50
+ case 'whisper': {
51
+ const WhisperSTT = await import('../recognition/WhisperSTT.js');
52
+ const whisperVADOptions = options.whisper;
53
+ logger.end();
54
+ const { modelName, modelDir } = await WhisperSTT.loadPackagesAndGetPaths(whisperVADOptions.model, 'de');
55
+ logger.end();
56
+ const { partProbabilities } = await WhisperSTT.detectVoiceActivity(sourceRawAudio, modelName, modelDir, whisperVADOptions);
57
+ verboseTimeline = [];
58
+ for (const entry of partProbabilities) {
59
+ const hasSpeech = entry.confidence >= activityThreshold;
60
+ const text = hasSpeech ? 'active' : 'inactive';
61
+ if (verboseTimeline.length === 0 || verboseTimeline[verboseTimeline.length - 1].text != text) {
62
+ verboseTimeline.push({
63
+ type: 'segment',
64
+ text,
65
+ startTime: entry.startTime,
66
+ endTime: entry.endTime
67
+ });
68
+ }
69
+ else {
70
+ verboseTimeline[verboseTimeline.length - 1].endTime = entry.endTime;
71
+ }
72
+ }
73
+ break;
74
+ }
49
75
  case 'adaptive-gate': {
50
76
  const AdaptiveGateVAD = await import('../voice-activity-detection/AdaptiveGateVAD.js');
51
77
  const adaptiveGateOptions = options.adaptiveGate;
@@ -61,7 +87,12 @@ export async function detectVoiceActivity(input, options) {
61
87
  logger.end();
62
88
  logger.log('');
63
89
  logger.logDuration(`Total voice activity detection time`, startTimestamp, chalk.magentaBright);
64
- return { timeline, verboseTimeline, inputRawAudio, croppedRawAudio };
90
+ return {
91
+ timeline,
92
+ verboseTimeline,
93
+ inputRawAudio,
94
+ croppedRawAudio
95
+ };
65
96
  }
66
97
  function frameProbabilitiesToTimeline(frameProbabilities, frameDurationSeconds, activityThreshold) {
67
98
  const timeline = [];
@@ -117,8 +148,13 @@ export const defaultVADOptions = {
117
148
  },
118
149
  silero: {
119
150
  frameDuration: 90,
151
+ provider: undefined,
120
152
  },
121
153
  rnnoise: {},
154
+ whisper: {
155
+ model: 'tiny',
156
+ temperature: 1.0,
157
+ },
122
158
  adaptiveGate: {}
123
159
  };
124
160
  export const vadEngines = [
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceActivityDetection.js","sourceRoot":"","sources":["../../src/api/VoiceActivityDetection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VoiceActivityDetection.js","sourceRoot":"","sources":["../../src/api/VoiceActivityDetection.ts"],"names":[],"mappings":"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"}
@@ -251,5 +251,10 @@ export function playAudioSamples_Speaker(rawAudio, onTimePosition, microFadeInOu
251
251
  }
252
252
  });
253
253
  }
254
- export const charactersToWriteAhead = [',', '.', ',', '、', ':', ';', '。', ':', ';', '?', '!', ')', ']', '}', `"`, `'`, '”', '’', '-', '—', '»'];
254
+ export const charactersToWriteAhead = [
255
+ ',', '.', ',', '、', ':', ';',
256
+ '。', ':', ';', '?', '?', '!', '!',
257
+ ')', ']', '}', `"`, `'`, '”', '’',
258
+ '-', '—', '»', '،', '؟'
259
+ ];
255
260
  //# sourceMappingURL=AudioPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../src/audio/AudioPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../src/audio/AudioPlayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAkC,KAAK,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAY,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9H,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAY,4BAA4B,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,aAAqB,EAAE,gBAAwB,EAAE,kBAA2B;IAC/H,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEjF,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IAE7D,IAAI,UAA8B,CAAA;IAClC,IAAI,kBAAkB,EAAE,CAAC;QACxB,UAAU,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;IACxD,CAAC;IAED,MAAM,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,QAAkB,EAAE,YAAsB,EAAE,UAAmB;IAC9G,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7D,CAAC;IAED,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAEtC,4BAA4B,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAEtD,IAAI,kBAAkB,GAAG,CAAC,CAAA;IAC1B,IAAI,gBAAgB,GAAG,CAAC,CAAA;IAExB,SAAS,cAAc,CAAC,YAAoB;QAC3C,MAAM,IAAI,GAAG,UAAW,CAAA;QAExB,OAAO,kBAAkB,GAAG,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;YAE9C,IAAI,KAAK,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;gBACpC,OAAM;YACP,CAAC;YAED,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAA;YAC9C,IAAI,aAAa,GAAG,KAAK,CAAC,cAAc,CAAA;YAExC,IAAI,eAAe,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBACtD,8DAA8D;gBAE9D,SAAQ;YACT,CAAC;YAED,OAAO,aAAa,GAAG,IAAI,CAAC,MAAM;gBACjC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACpD,IAAI,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,kBAAkB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACpE,aAAa,IAAI,CAAC,CAAA;YACnB,CAAC;YAED,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAA;YAE9D,gBAAgB,GAAG,aAAa,CAAA;QACjC,CAAC;IACF,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,CAAA;IAEnB,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;IAEzC,MAAM,8BAA8B,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAEjD,SAAS,eAAe,CAAC,OAAY;QACpC,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,QAAQ;YAC5B,OAAO,CAAC,SAAS,IAAI,8BAA8B,EAAE,CAAC;YAEtD,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;IACF,CAAC;IAED,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IAE1C,MAAM,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;IAE/D,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IAE3C,aAAa,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,QAAkB,EAAE,QAAkB;IACvF,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,SAAS,cAAc,CAAC,YAAoB;QAC3C,OAAO,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;YACrC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAS,CAAA;YAEzC,IAAI,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC9D,SAAQ;YACT,CAAC;YAED,OAAO,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;gBAEvC,IAAI,KAAK,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;oBACpC,OAAM;gBACP,CAAC;gBAED,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;YAChC,CAAC;YAED,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,UAAU,GAAG,CAAC,CAAA;QACf,CAAC;IACF,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,CAAA;IAEnB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAEhD,aAAa,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,SAAmB,EAAE,SAAmB,EAAE,SAAmB,EAAE,SAAmB;IAC5I,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,aAAa,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;QAEtC,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACpG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACpG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAkB,EAAE,cAA+C,EAAE,aAA6B,EAAE,cAAc,GAAG,IAAI;IACzJ,OAAO,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,IAAI,cAAc,EAAE,CAAC;YACpB,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,mBAAmB,GAAG,KAAK,CAAA;QAE/B,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAA;QAClD,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAEnD,MAAM,wBAAwB,GAAG,IAAI,WAAW,EAAQ,CAAA;QAExD,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAA;QAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,wHAAwH,CAAC,CAAA;QAC1I,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,IAAI,aAAa,GAAG,IAAI,CAAA;QAExB,IAAI,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAClC,aAAa,GAAG,KAAK,CAAA;QACtB,CAAC;QAED,IAAI,YAAgC,CAAA;QACpC,IAAI,WAA+B,CAAA;QAEnC,KAAK,UAAU,OAAO;YACrB,IAAI,YAAY,EAAE,CAAC;gBAClB,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;YAC3B,CAAC;QACF,CAAC;QAED,IAAI,aAA6C,CAAA;QAEjD,IAAI,aAAa,EAAE,CAAC;YACnB,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAEzD,aAAa,GAAG,KAAK,CACpB,OAAO,EACP,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EACnH,EAAE,CACF,CAAA;QACF,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;YACjF,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;YACrD,MAAM,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;YAE9C,aAAa,GAAG,KAAK,CACpB,OAAO,EACP,CAAC,YAAY,EAAE,IAAI,CAAC,EACpB,EAAE,CACF,CAAA;QACF,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YACnB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC9B,OAAO,GAAG,IAAI,CAAA;gBACd,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;QACH,CAAC;QAED,mCAAmC;QACnC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxC,uCAAuC;QACxC,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxC,uCAAuC;QACxC,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;gBAC9B,aAAa,CAAC,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;gBACvC,aAAa,CAAC,KAAM,CAAC,GAAG,EAAE,CAAA;gBAC1B,aAAa,CAAC,KAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;YAC5C,CAAC;YAED,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,OAAO,EAAE,CAAA;YACf,mBAAmB,GAAG,IAAI,CAAA;YAE1B,MAAM,CAAC,CAAC,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,OAAO,EAAE,CAAA;YACf,mBAAmB,GAAG,IAAI,CAAA;YAE1B,OAAO,EAAE,CAAA;QACV,CAAC,CAAC,CAAA;QAEF,MAAM,wBAAwB,CAAC,OAAO,CAAA;QAEtC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;QAEzB,OAAO,CAAC,mBAAmB,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAA;YAE5C,IAAI,cAAc,EAAE,CAAC;gBACpB,cAAc,CAAC,WAAW,CAAC,CAAA;YAC5B,CAAC;YAED,IAAI,mBAAmB,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;gBACzD,IAAI,cAAc,EAAE,CAAC;oBACpB,cAAc,CAAC,aAAa,CAAC,CAAA;gBAC9B,CAAC;gBAED,OAAM;YACP,CAAC;YAED,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAkB,EAAE,cAA+C,EAAE,cAAc,GAAG,IAAI;IAClI,OAAO,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,IAAI,cAAc,EAAE,CAAC;YACpB,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAA;QAClD,IAAI,SAAS,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QAEjF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;QAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC3B,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,MAAM;YACvC,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,QAAQ,CAAC,UAAU;SAC/B,CAAC,CAAA;QAEF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;YAC9B,MAAM,CAAC,CAAC,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,GAAG,CAAC,GAAG,YAAY,CAAA;QAE7D,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE;YACjD,OAAO,SAAS,GAAG,cAAc,CAAA;QAClC,CAAC,CAAA;QAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAE3D,IAAI,qBAA6B,CAAA;QACjC,IAAI,yBAAiC,CAAA;QAErC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;YACjC,qBAAqB,GAAG,KAAK,CAAA;YAC7B,yBAAyB,GAAG,mBAAmB,CAAC,qBAAqB,CAAC,CAAA;QACvE,CAAC;aAAM,CAAC;YACP,yBAAyB,GAAG,GAAG,CAAA;YAC/B,qBAAqB,GAAG,cAAc,GAAG,yBAAyB,CAAA;QACnE,CAAC;QAED,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAE3E,MAAM,YAAY,GAAG,qBAAqB,CAAA;QAE1C,MAAM,kBAAkB,GAAG,GAAG,CAAA;QAE9B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;QACzB,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,kBAAkB,GAAG,CAAC,CAAA;QAE1B,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAA;YAE5C,IAAI,cAAc,EAAE,CAAC;gBACpB,cAAc,CAAC,WAAW,CAAC,CAAA;YAC5B,CAAC;YAED,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,eAAe,GAAG,kBAAkB,GAAG,kBAAkB,CAAA;gBAE/D,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;oBAEvE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAEpB,UAAU,IAAI,KAAK,CAAC,MAAM,CAAA;oBAC1B,kBAAkB,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACxD,CAAC;YACF,CAAC;YAED,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;gBAClC,sBAAsB;gBACtB,OAAO,EAAE,CAAA;gBACT,OAAM;YACP,CAAC;YAED,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IAC5B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACjC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IACjC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CACvB,CAAA"}
package/dist/cli/CLI.js CHANGED
@@ -135,6 +135,8 @@ const commandHelp = [
135
135
  ` Align audio file to the reference transcript file\n`,
136
136
  `${executableName} ${chalk.magentaBright('translate-speech')} inputFile [output files...] [options...]`,
137
137
  ` Transcribe audio file directly to a different language\n`,
138
+ `${executableName} ${chalk.magentaBright('align-translation')} audioFile referenceFile [output files...] [options...]`,
139
+ ` Align audio file to the reference translated transcript file\n`,
138
140
  `${executableName} ${chalk.magentaBright('detect-speech-language')} audioFile [output files...] [options...]`,
139
141
  ` Detect language of audio file\n`,
140
142
  `${executableName} ${chalk.magentaBright('detect-text-language')} inputFile [output files...] [options...]`,
@@ -182,6 +184,10 @@ async function startWithArgs(parsedArgs) {
182
184
  await translateSpeech(parsedArgs.commandArgs, parsedArgs.options);
183
185
  break;
184
186
  }
187
+ case 'align-translation': {
188
+ await alignTranslation(parsedArgs.commandArgs, parsedArgs.options);
189
+ break;
190
+ }
185
191
  case 'detect-language': {
186
192
  await detectLanguage(parsedArgs.commandArgs, parsedArgs.options, 'auto');
187
193
  break;
@@ -486,6 +492,81 @@ async function align(commandArgs, cliOptions) {
486
492
  await playAudioWithWordTimeline(normalizedAudioToPlay, wordTimeline, transcript);
487
493
  }
488
494
  }
495
+ async function alignTranslation(commandArgs, cliOptions) {
496
+ const logger = new Logger();
497
+ const audioFilename = commandArgs[0];
498
+ const outputFilenames = commandArgs.slice(2);
499
+ if (audioFilename == undefined) {
500
+ throw new Error(`align-translation requires an argument containing the audio file path.`);
501
+ }
502
+ if (!existsSync(audioFilename)) {
503
+ throw new Error(`The given source file '${audioFilename}' was not found.`);
504
+ }
505
+ const alignmentReferenceFile = commandArgs[1];
506
+ if (alignmentReferenceFile == undefined) {
507
+ throw new Error(`align-translation requires a second argument containing the translated reference file path.`);
508
+ }
509
+ if (!existsSync(alignmentReferenceFile)) {
510
+ throw new Error(`The given reference file '${alignmentReferenceFile}' was not found.`);
511
+ }
512
+ const referenceFileExtension = getLowercaseFileExtension(alignmentReferenceFile);
513
+ const fileContent = await readFile(alignmentReferenceFile, { encoding: 'utf-8' });
514
+ let text;
515
+ if (referenceFileExtension == 'txt') {
516
+ text = fileContent;
517
+ }
518
+ else if (referenceFileExtension == 'html' || referenceFileExtension == 'htm') {
519
+ text = await convertHtmlToText(fileContent);
520
+ }
521
+ else if (referenceFileExtension == 'srt' || referenceFileExtension == 'vtt') {
522
+ text = subtitlesToText(fileContent);
523
+ }
524
+ else {
525
+ throw new Error(`align only supports reference files with extensions 'txt', 'html', 'htm', 'srt' or 'vtt'`);
526
+ }
527
+ const additionalOptionsSchema = new Map();
528
+ additionalOptionsSchema.set('play', { type: 'boolean' });
529
+ additionalOptionsSchema.set('overwrite', { type: 'boolean' });
530
+ if (!cliOptions.has('play') && !cliOptions.has('no-play')) {
531
+ cliOptions.set('play', `${outputFilenames.length == 0}`);
532
+ }
533
+ const options = await cliOptionsMapToOptionsObject(cliOptions, 'TranslationAlignmentOptions', additionalOptionsSchema);
534
+ const allowOverwrite = getWithDefault(options.overwrite, overwriteByDefault);
535
+ const { includesPlaceholderPattern } = await checkOutputFilenames(outputFilenames, true, true, true);
536
+ const { timeline, wordTimeline, transcript, language, inputRawAudio, isolatedRawAudio, backgroundRawAudio } = await API.alignTranslation(audioFilename, text, options);
537
+ if (outputFilenames.length > 0) {
538
+ logger.start('\nWrite output files');
539
+ }
540
+ if (includesPlaceholderPattern) {
541
+ for (let segmentIndex = 0; segmentIndex < timeline.length; segmentIndex++) {
542
+ const segmentEntry = timeline[segmentIndex];
543
+ const segmentAudio = sliceRawAudioByTime(inputRawAudio, segmentEntry.startTime, segmentEntry.endTime);
544
+ const sentenceTimeline = addTimeOffsetToTimeline(segmentEntry.timeline, -segmentEntry.startTime);
545
+ await writeOutputFilesForSegment(outputFilenames, segmentIndex, timeline.length, segmentAudio, sentenceTimeline, segmentEntry.text, language, allowOverwrite);
546
+ }
547
+ }
548
+ for (const outputFilename of outputFilenames) {
549
+ const partPatternMatch = outputFilename.match(filenamePlaceholderPattern);
550
+ if (partPatternMatch) {
551
+ continue;
552
+ }
553
+ const fileSaver = getFileSaver(outputFilename, allowOverwrite);
554
+ await fileSaver(inputRawAudio, timeline, transcript, options.subtitles);
555
+ await writeSourceSeparationOutputIfNeeded(outputFilename, isolatedRawAudio, backgroundRawAudio, allowOverwrite, true);
556
+ }
557
+ logger.end();
558
+ if (options.play) {
559
+ let audioToPlay;
560
+ if (isolatedRawAudio) {
561
+ audioToPlay = isolatedRawAudio;
562
+ }
563
+ else {
564
+ audioToPlay = inputRawAudio;
565
+ }
566
+ const normalizedAudioToPlay = normalizeAudioLevel(audioToPlay);
567
+ await playAudioWithWordTimeline(normalizedAudioToPlay, wordTimeline, transcript);
568
+ }
569
+ }
489
570
  async function translateSpeech(commandArgs, cliOptions) {
490
571
  const logger = new Logger();
491
572
  const inputFilename = commandArgs[0];
@@ -743,6 +824,10 @@ async function listEngines(commandArgs, cliOptions) {
743
824
  engines = API.alignmentEngines;
744
825
  break;
745
826
  }
827
+ case 'align-translation': {
828
+ engines = API.translationAlignmentEngines;
829
+ break;
830
+ }
746
831
  case 'translate-speech': {
747
832
  engines = API.speechTranslationEngines;
748
833
  break;