echogarden 0.9.2 → 0.10.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/README.md +3 -7
- package/data/schemas/options.json +57 -26
- package/dist/api/Alignment.d.ts +4 -4
- package/dist/api/Alignment.js +31 -31
- package/dist/api/Alignment.js.map +1 -1
- package/dist/api/Denoising.d.ts +9 -3
- package/dist/api/Denoising.js +9 -9
- package/dist/api/Denoising.js.map +1 -1
- package/dist/api/LanguageDetection.d.ts +13 -17
- package/dist/api/LanguageDetection.js +13 -17
- package/dist/api/LanguageDetection.js.map +1 -1
- package/dist/api/Recognition.d.ts +4 -4
- package/dist/api/Recognition.js +10 -12
- package/dist/api/Recognition.js.map +1 -1
- package/dist/api/Synthesis.d.ts +10 -6
- package/dist/api/Synthesis.js +61 -25
- package/dist/api/Synthesis.js.map +1 -1
- package/dist/api/Translation.d.ts +4 -4
- package/dist/api/Translation.js +11 -12
- package/dist/api/Translation.js.map +1 -1
- package/dist/api/Vad.d.ts +5 -8
- package/dist/api/Vad.js +12 -14
- package/dist/api/Vad.js.map +1 -1
- package/dist/audio/AudioPlayer.d.ts +1 -1
- package/dist/audio/AudioPlayer.js +12 -14
- package/dist/audio/AudioPlayer.js.map +1 -1
- package/dist/audio/AudioUtilities.d.ts +2 -0
- package/dist/audio/AudioUtilities.js +28 -0
- package/dist/audio/AudioUtilities.js.map +1 -1
- package/dist/audio/SoxPath.js +4 -0
- package/dist/audio/SoxPath.js.map +1 -1
- package/dist/cli/CLI.js +84 -120
- package/dist/cli/CLI.js.map +1 -1
- package/dist/codecs/FFMpegTranscoder.d.ts +1 -0
- package/dist/codecs/FFMpegTranscoder.js +48 -2
- package/dist/codecs/FFMpegTranscoder.js.map +1 -1
- package/dist/denoising/RNNoise.js.map +1 -1
- package/dist/dsp/MFCC.js.map +1 -1
- package/dist/nlp/JapaneseSegmentation.js +3 -2
- package/dist/nlp/JapaneseSegmentation.js.map +1 -1
- package/dist/recognition/WhisperSTT.js +2 -2
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/server/Client.d.ts +10 -8
- package/dist/server/Client.js +56 -59
- package/dist/server/Client.js.map +1 -1
- package/dist/server/Server.js +23 -12
- package/dist/server/Server.js.map +1 -1
- package/dist/server/Worker.d.ts +28 -11
- package/dist/server/Worker.js +44 -11
- package/dist/server/Worker.js.map +1 -1
- package/dist/speech-language-detection/SileroLanguageDetection.js +2 -2
- package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
- package/dist/synthesis/EspeakTTS.js +2 -3
- package/dist/synthesis/EspeakTTS.js.map +1 -1
- package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
- package/dist/synthesis/VitsTTS.js.map +1 -1
- package/dist/utilities/Logger.d.ts +2 -2
- package/dist/utilities/Logger.js +7 -9
- package/dist/utilities/Logger.js.map +1 -1
- package/dist/utilities/ObjectUtilities.js +4 -1
- package/dist/utilities/ObjectUtilities.js.map +1 -1
- package/dist/utilities/PackageManager.js +3 -1
- package/dist/utilities/PackageManager.js.map +1 -1
- package/dist/utilities/Timeline.js.map +1 -1
- package/dist/utilities/Utilities.d.ts +1 -0
- package/dist/utilities/Utilities.js +6 -0
- package/dist/utilities/Utilities.js.map +1 -1
- package/docs/API.md +188 -0
- package/docs/Options.md +30 -23
- package/docs/Server.md +110 -0
- package/docs/Tasklist.md +4 -8
- package/package.json +7 -7
package/dist/api/Recognition.js
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
import { extendDeep } from "../utilities/ObjectUtilities.js";
|
|
2
|
-
import * as FFMpegTranscoder from "../codecs/FFMpegTranscoder.js";
|
|
3
2
|
import { logToStderr } from "../utilities/Utilities.js";
|
|
4
|
-
import {
|
|
3
|
+
import { ensureRawAudio, normalizeAudioLevel, trimAudioEnd } from "../audio/AudioUtilities.js";
|
|
5
4
|
import { Logger } from "../utilities/Logger.js";
|
|
6
|
-
import { resampleAudioSpeex } from "../dsp/SpeexResampler.js";
|
|
7
5
|
import * as API from "./API.js";
|
|
6
|
+
import { addWordTextOffsetsToTimeline, wordTimelineToSegmentSentenceTimeline } from "../utilities/Timeline.js";
|
|
8
7
|
import { whisperOptionsDefaults } from "../recognition/WhisperSTT.js";
|
|
9
8
|
import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode } from "../utilities/Locale.js";
|
|
10
9
|
import { loadPackage } from "../utilities/PackageManager.js";
|
|
11
10
|
import chalk from "chalk";
|
|
12
11
|
import { defaultSubtitlesConfig } from "../subtitles/Subtitles.js";
|
|
13
12
|
const log = logToStderr;
|
|
14
|
-
export async function
|
|
15
|
-
const rawAudio = await FFMpegTranscoder.decodeToChannels(filename);
|
|
16
|
-
return recognize(rawAudio, options);
|
|
17
|
-
}
|
|
18
|
-
export async function recognize(inputRawAudio, options) {
|
|
13
|
+
export async function recognize(input, options) {
|
|
19
14
|
const logger = new Logger();
|
|
20
15
|
const startTimestamp = logger.getTimestamp();
|
|
21
16
|
logger.start("Prepare for recognition");
|
|
17
|
+
const inputRawAudio = await ensureRawAudio(input);
|
|
18
|
+
let sourceRawAudio = await ensureRawAudio(inputRawAudio, 16000, 1);
|
|
19
|
+
sourceRawAudio = normalizeAudioLevel(sourceRawAudio);
|
|
20
|
+
sourceRawAudio.audioChannels[0] = trimAudioEnd(sourceRawAudio.audioChannels[0], 0, -40);
|
|
22
21
|
options = extendDeep(defaultRecognitionOptions, options);
|
|
23
22
|
const engine = options.engine;
|
|
24
|
-
let sourceRawAudio = await resampleAudioSpeex(inputRawAudio, 16000);
|
|
25
|
-
sourceRawAudio = downmixToMonoAndNormalize(sourceRawAudio);
|
|
26
|
-
sourceRawAudio.audioChannels[0] = trimAudioEnd(sourceRawAudio.audioChannels[0], 0, -40);
|
|
27
23
|
if (!options.language) { // && options.engine != "whisper") {
|
|
28
24
|
logger.start("No language specified. Detecting speech language");
|
|
29
25
|
const { detectedLanguage } = await API.detectSpeechLanguage(inputRawAudio, options.languageDetection || {});
|
|
@@ -134,9 +130,11 @@ export async function recognize(inputRawAudio, options) {
|
|
|
134
130
|
const { wordTimeline } = await API.align(sourceRawAudio, transcript, alignmentOptions);
|
|
135
131
|
timeline = wordTimeline;
|
|
136
132
|
}
|
|
133
|
+
addWordTextOffsetsToTimeline(timeline, transcript);
|
|
134
|
+
const { segmentTimeline } = await wordTimelineToSegmentSentenceTimeline(timeline, transcript, language, 'single', 'preserve');
|
|
137
135
|
logger.end();
|
|
138
136
|
logger.logDuration('Total recognition time', startTimestamp, chalk.magentaBright);
|
|
139
|
-
return { transcript, timeline,
|
|
137
|
+
return { transcript, timeline: segmentTimeline, wordTimeline: timeline, inputRawAudio, language };
|
|
140
138
|
}
|
|
141
139
|
export const defaultRecognitionOptions = {
|
|
142
140
|
engine: "whisper",
|
|
@@ -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,
|
|
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,15 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
2
|
import { RawAudio } from "../audio/AudioUtilities.js";
|
|
2
3
|
import { type RubberbandOptions } from "../dsp/Rubberband.js";
|
|
3
4
|
import * as API from "./API.js";
|
|
4
5
|
import { Timeline } from "../utilities/Timeline.js";
|
|
5
6
|
import { EngineMetadata } from "./Common.js";
|
|
6
7
|
import { SubtitlesConfig } from "../subtitles/Subtitles.js";
|
|
7
|
-
export declare function
|
|
8
|
-
export interface
|
|
9
|
-
|
|
8
|
+
export declare function synthesize(input: string | string[], options: SynthesisOptions, onSegment?: SynthesisSegmentEvent, onSentence?: SynthesisSegmentEvent): Promise<SynthesisResult>;
|
|
9
|
+
export interface SynthesisResult {
|
|
10
|
+
audio: RawAudio | Buffer;
|
|
10
11
|
timeline: Timeline;
|
|
11
|
-
|
|
12
|
-
segmentsTimelines: Timeline[];
|
|
12
|
+
language: string;
|
|
13
13
|
}
|
|
14
14
|
export type SynthesisEngine = "vits" | "pico" | "flite" | "espeak" | "sam" | "sapi" | "msspeech" | "coqui-server" | "google-cloud" | "microsoft-azure" | "amazon-polly" | "elevenlabs" | "google-translate" | "microsoft-edge" | "streamlabs-polly";
|
|
15
15
|
export type TimePitchShiftingMethod = "sonic" | "rubberband";
|
|
@@ -37,6 +37,10 @@ export interface SynthesisOptions {
|
|
|
37
37
|
timePitchShiftingMethod?: TimePitchShiftingMethod;
|
|
38
38
|
rubberband?: RubberbandOptions;
|
|
39
39
|
};
|
|
40
|
+
outputAudioFormat?: {
|
|
41
|
+
codec?: "wav" | "mp3" | "opus" | "m4a" | "ogg" | "flac";
|
|
42
|
+
bitrate?: number;
|
|
43
|
+
};
|
|
40
44
|
languageDetection?: API.TextLanguageDetectionOptions;
|
|
41
45
|
subtitles?: SubtitlesConfig;
|
|
42
46
|
vits?: {
|
|
@@ -117,7 +121,7 @@ export declare const defaultVoiceListRequestOptions: VoiceListRequestOptions;
|
|
|
117
121
|
export interface SynthesisSegmentEventData {
|
|
118
122
|
index: number;
|
|
119
123
|
total: number;
|
|
120
|
-
audio: RawAudio;
|
|
124
|
+
audio: RawAudio | Buffer;
|
|
121
125
|
timeline: Timeline;
|
|
122
126
|
transcript: string;
|
|
123
127
|
language: string;
|
package/dist/api/Synthesis.js
CHANGED
|
@@ -2,9 +2,9 @@ import path from "node:path";
|
|
|
2
2
|
import { deepClone, extendDeep } from "../utilities/ObjectUtilities.js";
|
|
3
3
|
import * as FFMpegTranscoder from "../codecs/FFMpegTranscoder.js";
|
|
4
4
|
import { clip, convertHtmlToText, sha256AsHex, simplifyPunctuationCharacters, stringifyAndFormatJson, logToStderr, yieldToEventLoop } from "../utilities/Utilities.js";
|
|
5
|
-
import { concatAudioSegments, downmixToMono, getAudioPeakDecibels, getEmptyRawAudio, normalizeAudioLevel, trimAudioEnd, trimAudioStart } from "../audio/AudioUtilities.js";
|
|
5
|
+
import { concatAudioSegments, downmixToMono, encodeWaveBuffer, getAudioPeakDecibels, getEmptyRawAudio, normalizeAudioLevel, trimAudioEnd, trimAudioStart } from "../audio/AudioUtilities.js";
|
|
6
6
|
import { Logger } from "../utilities/Logger.js";
|
|
7
|
-
import { isWordOrSymbolWord, splitToSentences } from "../nlp/Segmentation.js";
|
|
7
|
+
import { isWordOrSymbolWord, splitToParagraphs, splitToSentences } from "../nlp/Segmentation.js";
|
|
8
8
|
import { loadLexiconsForLanguage } from "../nlp/Lexicon.js";
|
|
9
9
|
import * as API from "./API.js";
|
|
10
10
|
import { addTimeOffsetToTimeline, multiplyTimelineByFactor } from "../utilities/Timeline.js";
|
|
@@ -19,7 +19,22 @@ const log = logToStderr;
|
|
|
19
19
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
20
20
|
// Synthesis
|
|
21
21
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
22
|
-
export async function
|
|
22
|
+
export async function synthesize(input, options, onSegment, onSentence) {
|
|
23
|
+
options = extendDeep(defaultSynthesisOptions, options);
|
|
24
|
+
let segments;
|
|
25
|
+
if (Array.isArray(input)) {
|
|
26
|
+
segments = input;
|
|
27
|
+
}
|
|
28
|
+
else if (options.ssml) {
|
|
29
|
+
segments = [input];
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const plainTextOptions = options.plainText;
|
|
33
|
+
segments = splitToParagraphs(input, plainTextOptions.paragraphBreaks, plainTextOptions.whitespace);
|
|
34
|
+
}
|
|
35
|
+
return synthesizeSegments(segments, options, onSegment, onSentence);
|
|
36
|
+
}
|
|
37
|
+
async function synthesizeSegments(segments, options, onSegment, onSentence) {
|
|
23
38
|
const logger = new Logger();
|
|
24
39
|
options = extendDeep(defaultSynthesisOptions, options);
|
|
25
40
|
if (!options.language && !options.voice) {
|
|
@@ -54,7 +69,7 @@ export async function synthesizeSegments(segments, options, onSegment, onSentenc
|
|
|
54
69
|
}
|
|
55
70
|
logger.end();
|
|
56
71
|
logger.logTitledMessage('Selected voice', `'${options.voice}' (${formatLanguageCodeWithName(bestMatchingVoice.languages[0], 2)})`);
|
|
57
|
-
const
|
|
72
|
+
const segmentsRawAudio = [];
|
|
58
73
|
const segmentsTimelines = [];
|
|
59
74
|
const timeline = [];
|
|
60
75
|
let peakDecibelsSoFar = -100;
|
|
@@ -81,7 +96,7 @@ export async function synthesizeSegments(segments, options, onSegment, onSentenc
|
|
|
81
96
|
else {
|
|
82
97
|
sentences = [segmentText];
|
|
83
98
|
}
|
|
84
|
-
const
|
|
99
|
+
const sentencesRawAudio = [];
|
|
85
100
|
const sentencesTimelines = [];
|
|
86
101
|
for (let sentenceIndex = 0; sentenceIndex < sentences.length; sentenceIndex++) {
|
|
87
102
|
await yieldToEventLoop();
|
|
@@ -94,14 +109,14 @@ export async function synthesizeSegments(segments, options, onSegment, onSentenc
|
|
|
94
109
|
const sentenceStartTime = timeOffset;
|
|
95
110
|
let sentencetSynthesisOptions = { postProcessing: { normalizeAudio: false } };
|
|
96
111
|
sentencetSynthesisOptions = extendDeep(options, sentencetSynthesisOptions);
|
|
97
|
-
const { synthesizedAudio:
|
|
112
|
+
const { synthesizedAudio: sentenceRawAudio, timeline: sentenceTimeline } = await synthesizeSegment(sentenceText, sentencetSynthesisOptions);
|
|
98
113
|
const endPause = sentenceIndex == sentences.length - 1 ? options.segmentEndPause : options.sentenceEndPause;
|
|
99
|
-
|
|
100
|
-
|
|
114
|
+
sentenceRawAudio.audioChannels[0] = trimAudioEnd(sentenceRawAudio.audioChannels[0], endPause * sentenceRawAudio.sampleRate, -40);
|
|
115
|
+
sentencesRawAudio.push(sentenceRawAudio);
|
|
101
116
|
if (sentenceTimeline.length > 0) {
|
|
102
117
|
sentencesTimelines.push(sentenceTimeline);
|
|
103
118
|
}
|
|
104
|
-
const sentenceAudioLength =
|
|
119
|
+
const sentenceAudioLength = sentenceRawAudio.audioChannels[0].length / sentenceRawAudio.sampleRate;
|
|
105
120
|
timeOffset += sentenceAudioLength;
|
|
106
121
|
const sentenceTimelineWithOffset = addTimeOffsetToTimeline(sentenceTimeline, sentenceStartTime);
|
|
107
122
|
segmentEntry.timeline.push({
|
|
@@ -111,7 +126,8 @@ export async function synthesizeSegments(segments, options, onSegment, onSentenc
|
|
|
111
126
|
endTime: timeOffset,
|
|
112
127
|
timeline: sentenceTimelineWithOffset
|
|
113
128
|
});
|
|
114
|
-
peakDecibelsSoFar = Math.max(peakDecibelsSoFar, getAudioPeakDecibels(
|
|
129
|
+
peakDecibelsSoFar = Math.max(peakDecibelsSoFar, getAudioPeakDecibels(sentenceRawAudio.audioChannels));
|
|
130
|
+
const sentenceAudio = await convertToTargetCodecIfNeeded(sentenceRawAudio);
|
|
115
131
|
if (onSentence) {
|
|
116
132
|
await onSentence({
|
|
117
133
|
index: sentenceIndex,
|
|
@@ -127,18 +143,19 @@ export async function synthesizeSegments(segments, options, onSegment, onSentenc
|
|
|
127
143
|
segmentEntry.endTime = timeOffset;
|
|
128
144
|
logger.end();
|
|
129
145
|
logger.start(`Merge and postprocess sentences`);
|
|
130
|
-
let
|
|
131
|
-
if (
|
|
132
|
-
const joinedAudioBuffers = concatAudioSegments(
|
|
133
|
-
|
|
146
|
+
let segmentRawAudio;
|
|
147
|
+
if (sentencesRawAudio.length > 0) {
|
|
148
|
+
const joinedAudioBuffers = concatAudioSegments(sentencesRawAudio.map(part => part.audioChannels));
|
|
149
|
+
segmentRawAudio = { audioChannels: joinedAudioBuffers, sampleRate: sentencesRawAudio[0].sampleRate };
|
|
134
150
|
}
|
|
135
151
|
else {
|
|
136
|
-
|
|
152
|
+
segmentRawAudio = getEmptyRawAudio(1, 24000);
|
|
137
153
|
}
|
|
138
|
-
|
|
154
|
+
segmentsRawAudio.push(segmentRawAudio);
|
|
139
155
|
timeline.push(segmentEntry);
|
|
140
156
|
const segmentTimelineWithoutOffset = addTimeOffsetToTimeline(segmentEntry.timeline, -segmentStartTime);
|
|
141
157
|
segmentsTimelines.push(segmentTimelineWithoutOffset);
|
|
158
|
+
const segmentAudio = await convertToTargetCodecIfNeeded(segmentRawAudio);
|
|
142
159
|
logger.end();
|
|
143
160
|
if (onSegment) {
|
|
144
161
|
await onSegment({
|
|
@@ -153,23 +170,41 @@ export async function synthesizeSegments(segments, options, onSegment, onSentenc
|
|
|
153
170
|
}
|
|
154
171
|
}
|
|
155
172
|
logger.start(`\nMerge and postprocess segments`);
|
|
156
|
-
let
|
|
157
|
-
if (
|
|
158
|
-
const joinedAudioBuffers = concatAudioSegments(
|
|
159
|
-
|
|
173
|
+
let resultRawAudio;
|
|
174
|
+
if (segmentsRawAudio.length > 0) {
|
|
175
|
+
const joinedAudioBuffers = concatAudioSegments(segmentsRawAudio.map(part => part.audioChannels));
|
|
176
|
+
resultRawAudio = { audioChannels: joinedAudioBuffers, sampleRate: segmentsRawAudio[0].sampleRate };
|
|
160
177
|
if (options.postProcessing.normalizeAudio) {
|
|
161
|
-
|
|
178
|
+
resultRawAudio = normalizeAudioLevel(resultRawAudio, options.postProcessing.targetPeakDb, options.postProcessing.maxIncreaseDb);
|
|
162
179
|
}
|
|
163
180
|
}
|
|
164
181
|
else {
|
|
165
|
-
|
|
182
|
+
resultRawAudio = getEmptyRawAudio(1, 24000);
|
|
183
|
+
}
|
|
184
|
+
async function convertToTargetCodecIfNeeded(rawAudio) {
|
|
185
|
+
const targetCodec = options.outputAudioFormat?.codec;
|
|
186
|
+
let output;
|
|
187
|
+
if (targetCodec) {
|
|
188
|
+
logger.start(`Convert to ${targetCodec} codec`);
|
|
189
|
+
if (targetCodec == "wav") {
|
|
190
|
+
output = encodeWaveBuffer(rawAudio);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
const ffmpegOptions = FFMpegTranscoder.getDefaultFFMpegOptionsForSpeech(targetCodec, options.outputAudioFormat?.bitrate);
|
|
194
|
+
output = await FFMpegTranscoder.encodeFromChannels(rawAudio, ffmpegOptions);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
output = rawAudio;
|
|
199
|
+
}
|
|
200
|
+
return output;
|
|
166
201
|
}
|
|
202
|
+
const resultAudio = await convertToTargetCodecIfNeeded(resultRawAudio);
|
|
167
203
|
logger.end();
|
|
168
204
|
return {
|
|
169
|
-
|
|
205
|
+
audio: resultAudio,
|
|
170
206
|
timeline,
|
|
171
|
-
|
|
172
|
-
segmentsTimelines,
|
|
207
|
+
language: options.language
|
|
173
208
|
};
|
|
174
209
|
}
|
|
175
210
|
async function synthesizeSegment(text, options) {
|
|
@@ -641,6 +676,7 @@ export const defaultSynthesisOptions = {
|
|
|
641
676
|
timePitchShiftingMethod: "sonic",
|
|
642
677
|
rubberband: {}
|
|
643
678
|
},
|
|
679
|
+
outputAudioFormat: undefined,
|
|
644
680
|
languageDetection: undefined,
|
|
645
681
|
subtitles: defaultSubtitlesConfig,
|
|
646
682
|
vits: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Synthesis.js","sourceRoot":"","sources":["../../src/api/Synthesis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Synthesis.js","sourceRoot":"","sources":["../../src/api/Synthesis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { RawAudio } from "../audio/AudioUtilities.js";
|
|
1
|
+
import { AudioSourceParam, RawAudio } from "../audio/AudioUtilities.js";
|
|
2
2
|
import { Timeline } from "../utilities/Timeline.js";
|
|
3
3
|
import { type WhisperOptions } from "../recognition/WhisperSTT.js";
|
|
4
4
|
import { EngineMetadata } from "./Common.js";
|
|
5
5
|
import { SpeechLanguageDetectionOptions } from "./API.js";
|
|
6
6
|
import { SubtitlesConfig } from "../subtitles/Subtitles.js";
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function translateSpeech(inputRawAudio: RawAudio, options: SpeechTranslationOptions): Promise<SpeechTranslationResult>;
|
|
7
|
+
export declare function translateSpeech(input: AudioSourceParam, options: SpeechTranslationOptions): Promise<SpeechTranslationResult>;
|
|
9
8
|
export interface SpeechTranslationResult {
|
|
10
9
|
transcript: string;
|
|
11
10
|
timeline: Timeline;
|
|
12
|
-
|
|
11
|
+
wordTimeline: Timeline;
|
|
13
12
|
sourceLanguage: string;
|
|
14
13
|
targetLanguage: string;
|
|
14
|
+
inputRawAudio: RawAudio;
|
|
15
15
|
}
|
|
16
16
|
export type SpeechTranslationEngine = "whisper";
|
|
17
17
|
export interface SpeechTranslationOptions {
|
package/dist/api/Translation.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { extendDeep } from "../utilities/ObjectUtilities.js";
|
|
2
|
-
import * as FFMpegTranscoder from "../codecs/FFMpegTranscoder.js";
|
|
3
2
|
import { logToStderr } from "../utilities/Utilities.js";
|
|
4
|
-
import {
|
|
3
|
+
import { ensureRawAudio, normalizeAudioLevel, trimAudioEnd } from "../audio/AudioUtilities.js";
|
|
5
4
|
import { Logger } from "../utilities/Logger.js";
|
|
6
|
-
import {
|
|
5
|
+
import { addWordTextOffsetsToTimeline, wordTimelineToSegmentSentenceTimeline } from "../utilities/Timeline.js";
|
|
7
6
|
import { whisperOptionsDefaults } from "../recognition/WhisperSTT.js";
|
|
8
7
|
import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode } from "../utilities/Locale.js";
|
|
9
8
|
import { detectSpeechLanguage } from "./API.js";
|
|
@@ -13,13 +12,14 @@ const log = logToStderr;
|
|
|
13
12
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
14
13
|
// Speech translation
|
|
15
14
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
16
|
-
export async function
|
|
17
|
-
const rawAudio = await FFMpegTranscoder.decodeToChannels(filename);
|
|
18
|
-
return translateSpeech(rawAudio, options);
|
|
19
|
-
}
|
|
20
|
-
export async function translateSpeech(inputRawAudio, options) {
|
|
15
|
+
export async function translateSpeech(input, options) {
|
|
21
16
|
const logger = new Logger();
|
|
22
17
|
const startTimestamp = logger.getTimestamp();
|
|
18
|
+
logger.start("Prepare for speech translation");
|
|
19
|
+
const inputRawAudio = await ensureRawAudio(input);
|
|
20
|
+
let sourceRawAudio = await ensureRawAudio(inputRawAudio, 16000, 1);
|
|
21
|
+
sourceRawAudio = normalizeAudioLevel(sourceRawAudio);
|
|
22
|
+
sourceRawAudio.audioChannels[0] = trimAudioEnd(sourceRawAudio.audioChannels[0], 0, -40);
|
|
23
23
|
options = extendDeep(defaultSpeechTranslationOptions, options);
|
|
24
24
|
if (!options.sourceLanguage) {
|
|
25
25
|
logger.start("No language specified. Detecting speech language");
|
|
@@ -34,9 +34,6 @@ export async function translateSpeech(inputRawAudio, options) {
|
|
|
34
34
|
const targetLanguage = options.targetLanguage;
|
|
35
35
|
let transcript;
|
|
36
36
|
let timeline;
|
|
37
|
-
let sourceRawAudio = await resampleAudioSpeex(inputRawAudio, 16000);
|
|
38
|
-
sourceRawAudio = downmixToMonoAndNormalize(sourceRawAudio);
|
|
39
|
-
sourceRawAudio.audioChannels[0] = trimAudioEnd(sourceRawAudio.audioChannels[0], 0, -40);
|
|
40
37
|
logger.start(`Load ${engine} module`);
|
|
41
38
|
switch (engine) {
|
|
42
39
|
case "whisper": {
|
|
@@ -62,10 +59,12 @@ export async function translateSpeech(inputRawAudio, options) {
|
|
|
62
59
|
throw new Error(`Engine '${options.engine}' is not supported`);
|
|
63
60
|
}
|
|
64
61
|
}
|
|
62
|
+
addWordTextOffsetsToTimeline(timeline, transcript);
|
|
63
|
+
const { segmentTimeline } = await wordTimelineToSegmentSentenceTimeline(timeline, transcript, targetLanguage, 'single', 'preserve');
|
|
65
64
|
logger.end();
|
|
66
65
|
logger.log('');
|
|
67
66
|
logger.logDuration(`Total speech translation time`, startTimestamp, chalk.magentaBright);
|
|
68
|
-
return { transcript, timeline,
|
|
67
|
+
return { transcript, timeline: segmentTimeline, wordTimeline: timeline, sourceLanguage, targetLanguage, inputRawAudio };
|
|
69
68
|
}
|
|
70
69
|
export const defaultSpeechTranslationOptions = {
|
|
71
70
|
engine: "whisper",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Translation.js","sourceRoot":"","sources":["../../src/api/Translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,
|
|
1
|
+
{"version":3,"file":"Translation.js","sourceRoot":"","sources":["../../src/api/Translation.ts"],"names":[],"mappings":"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"}
|
package/dist/api/Vad.d.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { RawAudio } from "../audio/AudioUtilities.js";
|
|
1
|
+
import { AudioSourceParam, RawAudio } from "../audio/AudioUtilities.js";
|
|
2
2
|
import { Timeline } from "../utilities/Timeline.js";
|
|
3
3
|
import { EngineMetadata } from "./Common.js";
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function detectVoiceActivity(input: AudioSourceParam, options: VADOptions): Promise<VADResult>;
|
|
5
|
+
export interface VADResult {
|
|
5
6
|
timeline: Timeline;
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
export declare function detectVoiceActivity(rawAudio: RawAudio, options: VADOptions): Promise<{
|
|
9
|
-
timeline: Timeline;
|
|
10
|
-
rawAudio: RawAudio;
|
|
11
|
-
}>;
|
|
7
|
+
inputRawAudio: RawAudio;
|
|
8
|
+
}
|
|
12
9
|
export type VADEngine = "webrtc" | "silero" | "rnnoise";
|
|
13
10
|
export interface VADOptions {
|
|
14
11
|
engine?: VADEngine;
|