echogarden 0.6.9 → 0.7.1

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.
@@ -86,6 +86,12 @@
86
86
  "sentenceEndPause": {
87
87
  "type": "number"
88
88
  },
89
+ "customLexiconPaths": {
90
+ "type": "array",
91
+ "items": {
92
+ "type": "string"
93
+ }
94
+ },
89
95
  "plainText": {
90
96
  "type": "object",
91
97
  "properties": {
@@ -136,12 +142,6 @@
136
142
  "properties": {
137
143
  "speakerId": {
138
144
  "type": "number"
139
- },
140
- "customLexiconPaths": {
141
- "type": "array",
142
- "items": {
143
- "type": "string"
144
- }
145
145
  }
146
146
  },
147
147
  "additionalProperties": false
@@ -400,6 +400,12 @@
400
400
  "languageDetection": {
401
401
  "$ref": "#/definitions/TextLanguageDetectionOptions"
402
402
  },
403
+ "customLexiconPaths": {
404
+ "type": "array",
405
+ "items": {
406
+ "type": "string"
407
+ }
408
+ },
403
409
  "dtw": {
404
410
  "type": "object",
405
411
  "properties": {
@@ -751,6 +757,12 @@
751
757
  "sentenceEndPause": {
752
758
  "type": "number"
753
759
  },
760
+ "customLexiconPaths": {
761
+ "type": "array",
762
+ "items": {
763
+ "type": "string"
764
+ }
765
+ },
754
766
  "plainText": {
755
767
  "type": "object",
756
768
  "properties": {
@@ -801,12 +813,6 @@
801
813
  "properties": {
802
814
  "speakerId": {
803
815
  "type": "number"
804
- },
805
- "customLexiconPaths": {
806
- "type": "array",
807
- "items": {
808
- "type": "string"
809
- }
810
816
  }
811
817
  },
812
818
  "additionalProperties": false
@@ -1,10 +1,15 @@
1
1
  import * as API from "../api/API.js";
2
2
  import { Timeline, TimelineEntry } from "../utilities/Timeline.js";
3
3
  import { RawAudio } from "../audio/AudioUtilities.js";
4
- export declare function alignUsingDtw(sourceRawAudio: RawAudio, referenceRawAudio: RawAudio, referenceTimeline: Timeline, windowDuration?: number): Promise<TimelineEntry[]>;
4
+ import { Lexicon } from "../nlp/Lexicon.js";
5
+ export declare function alignUsingDtw(sourceRawAudio: RawAudio, referenceRawAudio: RawAudio, referenceTimeline: Timeline, windowDuration: number): Promise<TimelineEntry[]>;
5
6
  export declare function alignUsingDtwWithRecognition(sourceRawAudio: RawAudio, referenceRawAudio: RawAudio, referenceTimeline: Timeline, recognitionTimeline: Timeline, espeakVoice?: string, phoneAlignmentMethod?: API.PhoneAlignmentMethod, windowDuration?: number): Promise<Timeline>;
6
7
  export declare function interpolatePhoneTimelines(sourceTimeline: Timeline, referenceTimeline: Timeline): Promise<Timeline>;
7
8
  export declare function alignPhoneTimelines(sourceRawAudio: RawAudio, sourceWordTimeline: Timeline, referenceRawAudio: RawAudio, referenceTimeline: Timeline): Promise<Timeline>;
9
+ export declare function createAlignmentReferenceUsingEspeakPreprocessed(text: string, language: string, voice: string, lexicons?: Lexicon[], rate?: number, pitch?: number, pitchRange?: number): Promise<{
10
+ rawAudio: RawAudio;
11
+ timeline: TimelineEntry[];
12
+ }>;
8
13
  export declare function createAlignmentReferenceUsingEspeak(text: string, language: string, voice: string, insertSeparators?: boolean, rate?: number, pitch?: number, pitchRange?: number): Promise<{
9
14
  rawAudio: RawAudio;
10
15
  timeline: Timeline;
@@ -4,7 +4,9 @@ import { computeMFCCs, extendDefaultMfccOptions } from "../dsp/MFCC.js";
4
4
  import { alignMFCC_DTW, getCostMatrixMemorySizeMiB } from "./DTWMfccSequenceAlignment.js";
5
5
  import { Logger } from "../utilities/Logger.js";
6
6
  import { getRawAudioDuration } from "../audio/AudioUtilities.js";
7
- export async function alignUsingDtw(sourceRawAudio, referenceRawAudio, referenceTimeline, windowDuration = 60) {
7
+ import { preprocessAndSynthesize } from "../synthesis/EspeakTTS.js";
8
+ import chalk from "chalk";
9
+ export async function alignUsingDtw(sourceRawAudio, referenceRawAudio, referenceTimeline, windowDuration) {
8
10
  const logger = new Logger();
9
11
  const mfccOptions = extendDefaultMfccOptions({ zeroFirstCoefficient: true });
10
12
  const framesPerSecond = 1 / mfccOptions.hopDuration;
@@ -17,6 +19,10 @@ export async function alignUsingDtw(sourceRawAudio, referenceRawAudio, reference
17
19
  logger.end();
18
20
  // Compute path
19
21
  logger.logTitledMessage(`DTW cost matrix memory size (${windowDuration}s window)`, `${roundToDigits(getCostMatrixMemorySizeMiB(referenceMfccs.length, sourceMfccs.length, windowDuration * framesPerSecond), 1)}MiB`);
22
+ const rawAudioDuration = getRawAudioDuration(sourceRawAudio);
23
+ if (rawAudioDuration > windowDuration) {
24
+ logger.logTitledMessage('Warning', `Maximum DTW window duration (${windowDuration.toFixed(1)}s) is smaller than source audio duration (${rawAudioDuration.toFixed(1)}s). This may lead to inaccurate results. Consider increasing window length if needed.`, chalk.yellowBright);
25
+ }
20
26
  logger.start("Align MFCC features with DTW");
21
27
  const dtwWindowLength = Math.floor(windowDuration * framesPerSecond);
22
28
  const rawPath = await alignMFCC_DTW(referenceMfccs, sourceMfccs, dtwWindowLength);
@@ -215,6 +221,11 @@ export async function alignPhoneTimelines(sourceRawAudio, sourceWordTimeline, re
215
221
  }
216
222
  return alignedWordTimeline;
217
223
  }
224
+ export async function createAlignmentReferenceUsingEspeakPreprocessed(text, language, voice, lexicons, rate, pitch, pitchRange) {
225
+ const { referenceSynthesizedAudio, referenceTimeline } = await preprocessAndSynthesize(text, voice, language, lexicons, rate, pitch, pitchRange);
226
+ const wordTimeline = referenceTimeline.flatMap(clause => clause.timeline);
227
+ return { rawAudio: referenceSynthesizedAudio, timeline: wordTimeline };
228
+ }
218
229
  export async function createAlignmentReferenceUsingEspeak(text, language, voice, insertSeparators = true, rate, pitch, pitchRange) {
219
230
  const progressLogger = new Logger();
220
231
  progressLogger.start("Segment text to words");
@@ -1 +1 @@
1
- {"version":3,"file":"SpeechAlignment.js","sourceRoot":"","sources":["../../src/alignment/SpeechAlignment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpeechAlignment.js","sourceRoot":"","sources":["../../src/alignment/SpeechAlignment.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface AlignmentOptions {
17
17
  engine?: AlignmentEngine;
18
18
  language?: string;
19
19
  languageDetection?: API.TextLanguageDetectionOptions;
20
+ customLexiconPaths?: string[];
20
21
  dtw?: {
21
22
  windowDuration?: number;
22
23
  recognition?: API.RecognitionOptions;
@@ -6,8 +6,10 @@ import { Logger } from "../utilities/Logger.js";
6
6
  import { resampleAudioSpeex } from "../dsp/SpeexResampler.js";
7
7
  import * as API from "./API.js";
8
8
  import { addTimeOffsetToTimeline } from "../utilities/Timeline.js";
9
- import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode } from "../utilities/Locale.js";
9
+ import { formatLanguageCodeWithName, getDefaultDialectForLanguageCodeIfPossible, getShortLanguageCode, normalizeLanguageCode } from "../utilities/Locale.js";
10
10
  import chalk from "chalk";
11
+ import { createAlignmentReferenceUsingEspeakPreprocessed } from "../alignment/SpeechAlignment.js";
12
+ import { loadLexiconsForLanguage } from "../nlp/Lexicon.js";
11
13
  const log = logToStderr;
12
14
  export async function alignFile(audioFilename, text, options) {
13
15
  const rawAudio = await FFMpegTranscoder.decodeToChannels(audioFilename);
@@ -37,14 +39,12 @@ export async function align(inputRawAudio, transcript, options) {
37
39
  const startTimestamp = logger.getTimestamp();
38
40
  logger.start("Prepare for alignment");
39
41
  options = extendDeep(defaultAlignmentOptions, options);
42
+ const dtwWindowDuration = options.dtw.windowDuration;
40
43
  let sourceRawAudio = downmixToMonoAndNormalize(inputRawAudio);
41
44
  sourceRawAudio = await resampleAudioSpeex(sourceRawAudio, 16000);
42
45
  let language;
43
46
  if (options.language) {
44
47
  language = normalizeLanguageCode(options.language);
45
- if (language == 'en') {
46
- language = 'en-us';
47
- }
48
48
  }
49
49
  else {
50
50
  logger.start("No language specified. Detecting language");
@@ -53,18 +53,22 @@ export async function align(inputRawAudio, transcript, options) {
53
53
  logger.end();
54
54
  logger.logTitledMessage('Language detected', formatLanguageCodeWithName(detectedLanguage));
55
55
  }
56
+ language = getDefaultDialectForLanguageCodeIfPossible(language);
56
57
  logger.start("Get espeak voice list and select best matching voice");
57
58
  const { bestMatchingVoice } = await API.requestVoiceList({ engine: "espeak", language });
58
59
  if (!bestMatchingVoice) {
59
60
  throw new Error("No matching voice found");
60
61
  }
61
62
  const espeakVoice = bestMatchingVoice.name;
62
- const dtwWindowDuration = options.dtw.windowDuration;
63
+ logger.end();
64
+ logger.logTitledMessage('Selected voice', `'${espeakVoice}' (${formatLanguageCodeWithName(bestMatchingVoice.languages[0], 2)})`);
63
65
  logger.start("Load alignment module");
64
- const { alignUsingDtwWithRecognition: alignUsingDtwWithRecognitionAssist, createAlignmentReferenceUsingEspeak, alignUsingDtw } = await import("../alignment/SpeechAlignment.js");
66
+ const { alignUsingDtwWithRecognition, alignUsingDtw } = await import("../alignment/SpeechAlignment.js");
65
67
  async function getAlignmentReference() {
66
68
  logger.start("Create alignment reference with eSpeak");
67
- let { rawAudio: referenceRawAudio, timeline: referenceTimeline } = await createAlignmentReferenceUsingEspeak(transcript, language, espeakVoice, true);
69
+ const espeakLanguage = bestMatchingVoice.languages[0];
70
+ const lexicons = await loadLexiconsForLanguage(espeakLanguage, options.customLexiconPaths);
71
+ let { rawAudio: referenceRawAudio, timeline: referenceTimeline } = await createAlignmentReferenceUsingEspeakPreprocessed(transcript, espeakLanguage, espeakVoice, lexicons);
68
72
  referenceRawAudio = await resampleAudioSpeex(referenceRawAudio, 16000);
69
73
  referenceRawAudio = downmixToMonoAndNormalize(referenceRawAudio);
70
74
  return { referenceRawAudio, referenceTimeline };
@@ -89,7 +93,7 @@ export async function align(inputRawAudio, transcript, options) {
89
93
  const { referenceRawAudio, referenceTimeline } = await getAlignmentReference();
90
94
  logger.end();
91
95
  const phoneAlignmentMethod = options.dtw.phoneAlignmentMethod;
92
- mappedTimeline = await alignUsingDtwWithRecognitionAssist(sourceRawAudio, referenceRawAudio, referenceTimeline, recognitionTimeline, espeakVoice, phoneAlignmentMethod, dtwWindowDuration);
96
+ mappedTimeline = await alignUsingDtwWithRecognition(sourceRawAudio, referenceRawAudio, referenceTimeline, recognitionTimeline, espeakVoice, phoneAlignmentMethod, dtwWindowDuration);
93
97
  break;
94
98
  }
95
99
  case "whisper": {
@@ -124,6 +128,7 @@ export const defaultAlignmentOptions = {
124
128
  engine: "dtw",
125
129
  language: undefined,
126
130
  languageDetection: undefined,
131
+ customLexiconPaths: undefined,
127
132
  dtw: {
128
133
  windowDuration: 120,
129
134
  recognition: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"Alignment.js","sourceRoot":"","sources":["../../src/api/Alignment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Alignment.js","sourceRoot":"","sources":["../../src/api/Alignment.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export interface SynthesisOptions {
25
25
  ssml?: boolean;
26
26
  segmentEndPause?: number;
27
27
  sentenceEndPause?: number;
28
+ customLexiconPaths?: string[];
28
29
  plainText?: {
29
30
  paragraphBreaks?: ParagraphBreakType;
30
31
  whitespace?: WhitespaceProcessing;
@@ -42,7 +43,6 @@ export interface SynthesisOptions {
42
43
  languageDetection?: API.TextLanguageDetectionOptions;
43
44
  vits?: {
44
45
  speakerId?: number;
45
- customLexiconPaths?: string[];
46
46
  };
47
47
  pico?: {};
48
48
  flite?: {};
@@ -5,11 +5,11 @@ import { clip, convertHtmlToText, sha256AsHex, simplifyPunctuationCharacters, st
5
5
  import { concatAudioSegments, downmixToMono, getAudioPeakDecibels, getEmptyRawAudio, normalizeAudioLevel, trimAudioEnd, trimAudioStart } from "../audio/AudioUtilities.js";
6
6
  import { Logger } from "../utilities/Logger.js";
7
7
  import { isWord, splitToSentences } from "../nlp/Segmentation.js";
8
- import { loadLexiconFile } from "../nlp/Lexicon.js";
8
+ import { loadLexiconsForLanguage } from "../nlp/Lexicon.js";
9
9
  import * as API from "./API.js";
10
10
  import { addTimeOffsetToTimeline, multiplyTimelineByFactor } from "../utilities/Timeline.js";
11
- import { getAppDataDir, ensureDir, existsSync, isFileIsUpToDate, readAndParseJsonFile, resolveToModuleRootDir, writeFileSafe } from "../utilities/FileSystem.js";
12
- import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode, shortLanguageCodeToLong } from "../utilities/Locale.js";
11
+ import { getAppDataDir, ensureDir, existsSync, isFileIsUpToDate, readAndParseJsonFile, writeFileSafe } from "../utilities/FileSystem.js";
12
+ import { formatLanguageCodeWithName, getShortLanguageCode, normalizeLanguageCode, defaultDialectForLanguageCode } from "../utilities/Locale.js";
13
13
  import { loadPackage } from "../utilities/PackageManager.js";
14
14
  import { appName } from "./Globals.js";
15
15
  import { shouldCancelCurrentTask } from "../server/Worker.js";
@@ -40,7 +40,7 @@ export async function synthesizeSegments(segments, options, onSegment, onSentenc
40
40
  throw new Error(`Voice '${options.voice}' was specified but no engine was specified.`);
41
41
  }
42
42
  options.engine = await selectBestOfflineEngineForLanguage(options.language);
43
- logger.log(`No engine specified, setting engine to '${options.engine}'`);
43
+ logger.logTitledMessage('No engine specified. Auto-selected engine', options.engine);
44
44
  }
45
45
  logger.start(`Get voice list for ${options.engine}`);
46
46
  const { bestMatchingVoice } = await requestVoiceList(options);
@@ -222,17 +222,7 @@ async function synthesizeSegment(text, options) {
222
222
  throw new Error(`Selected VITS model has ${selectedVoice.speakerCount} voices. Speaker ID should be in the range ${0} to ${selectedVoice.speakerCount - 1}`);
223
223
  }
224
224
  }
225
- const lexicons = [];
226
- if (getShortLanguageCode(language) == "en") {
227
- const heteronymsLexicon = await loadLexiconFile(resolveToModuleRootDir("data/lexicons/heteronyms.en.json"));
228
- lexicons.push(heteronymsLexicon);
229
- }
230
- if (engineOptions.customLexiconPaths && engineOptions.customLexiconPaths.length > 0) {
231
- for (const customLexicon of engineOptions.customLexiconPaths) {
232
- const customLexiconObject = await loadLexiconFile(customLexicon);
233
- lexicons.push(customLexiconObject);
234
- }
235
- }
225
+ const lexicons = await loadLexiconsForLanguage(language, options.customLexiconPaths);
236
226
  const modelPath = voicePackagePath;
237
227
  logger.end();
238
228
  const { rawAudio, timeline: outTimeline } = await vitsTTS.synthesizeSentence(text, voice, modelPath, lengthScale, speakerId, lexicons);
@@ -273,13 +263,16 @@ async function synthesizeSegment(text, options) {
273
263
  case "espeak": {
274
264
  const EspeakTTS = await import("../synthesis/EspeakTTS.js");
275
265
  const engineOptions = options.espeak;
276
- await EspeakTTS.setVoice(voice);
277
- await EspeakTTS.setRate(engineOptions.rate || speed * 150);
278
- await EspeakTTS.setPitch(engineOptions.pitch || pitch * 50);
279
- await EspeakTTS.setPitchRange(engineOptions.pitchRange || options.pitchVariation * 50);
266
+ const espeakVoice = voice;
267
+ const espeakLanguage = selectedVoice.languages[0];
268
+ const espeakRate = engineOptions.rate || speed * 150;
269
+ const espeakPitch = engineOptions.pitch;
270
+ const espeakPitchRange = engineOptions.pitchRange || options.pitchVariation * 50;
271
+ const lexicons = await loadLexiconsForLanguage(language, options.customLexiconPaths);
280
272
  logger.end();
281
- const { rawAudio, events } = await EspeakTTS.synthesize(simplifiedText, isSSML);
282
- synthesizedAudio = rawAudio;
273
+ const { referenceSynthesizedAudio, referenceTimeline } = await EspeakTTS.preprocessAndSynthesize(simplifiedText, espeakVoice, espeakLanguage, lexicons, espeakRate, espeakPitch, espeakPitchRange);
274
+ synthesizedAudio = referenceSynthesizedAudio;
275
+ timeline = referenceTimeline.flatMap(clause => clause.timeline);
283
276
  break;
284
277
  }
285
278
  case "sam": {
@@ -533,6 +526,9 @@ async function synthesizeSegment(text, options) {
533
526
  }
534
527
  const alignmentOptions = options.alignment;
535
528
  alignmentOptions.language = language;
529
+ if (!alignmentOptions.customLexiconPaths) {
530
+ alignmentOptions.customLexiconPaths = options.customLexiconPaths;
531
+ }
536
532
  const { wordTimeline } = await API.align(synthesizedAudio, plainText, alignmentOptions);
537
533
  timeline = wordTimeline;
538
534
  logger.end();
@@ -620,6 +616,7 @@ export const defaultSynthesisOptions = {
620
616
  splitToSentences: true,
621
617
  segmentEndPause: 1.0,
622
618
  sentenceEndPause: 0.75,
619
+ customLexiconPaths: undefined,
623
620
  plainText: {
624
621
  paragraphBreaks: 'double',
625
622
  whitespace: 'collapse'
@@ -639,7 +636,6 @@ export const defaultSynthesisOptions = {
639
636
  languageDetection: undefined,
640
637
  vits: {
641
638
  speakerId: undefined,
642
- customLexiconPaths: undefined,
643
639
  },
644
640
  pico: {},
645
641
  flite: {},
@@ -928,8 +924,8 @@ export async function requestVoiceList(options) {
928
924
  }
929
925
  }
930
926
  let bestMatchingVoice = voiceList[0];
931
- if (bestMatchingVoice && voiceList.length > 1 && shortLanguageCodeToLong[languageCode]) {
932
- const expandedLanguageCode = shortLanguageCodeToLong[languageCode];
927
+ if (bestMatchingVoice && voiceList.length > 1 && defaultDialectForLanguageCode[languageCode]) {
928
+ const expandedLanguageCode = defaultDialectForLanguageCode[languageCode];
933
929
  for (const voice of voiceList) {
934
930
  if (voice.languages.includes(expandedLanguageCode)) {
935
931
  bestMatchingVoice = voice;
@@ -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,6 +1,7 @@
1
- export declare function tryGetFirstLexiconSubstitution(sentenceWords: string[], wordIndex: number, lexicons: Lexicon[], espeakVoice: string): string[] | undefined;
2
- export declare function tryGetLexiconSubstitution(sentenceWords: string[], wordIndex: number, lexicon: Lexicon, espeakVoice: string): string[] | undefined;
1
+ export declare function tryGetFirstLexiconSubstitution(sentenceWords: string[], wordIndex: number, lexicons: Lexicon[], languageCode: string): string[] | undefined;
2
+ export declare function tryGetLexiconSubstitution(sentenceWords: string[], wordIndex: number, lexicon: Lexicon, languageCode: string): string[] | undefined;
3
3
  export declare function loadLexiconFile(jsonFilePath: string): Promise<Lexicon>;
4
+ export declare function loadLexiconsForLanguage(language: string, customLexiconPaths?: string[]): Promise<Lexicon[]>;
4
5
  export type Lexicon = {
5
6
  [shortLanguageCode: string]: LexiconForLanguage;
6
7
  };