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.
@@ -1,21 +1,21 @@
1
- import { readAndParseJsonFile } from "../utilities/FileSystem.js";
1
+ import { readAndParseJsonFile, resolveToModuleRootDir } from "../utilities/FileSystem.js";
2
2
  import { getShortLanguageCode } from "../utilities/Locale.js";
3
- export function tryGetFirstLexiconSubstitution(sentenceWords, wordIndex, lexicons, espeakVoice) {
3
+ export function tryGetFirstLexiconSubstitution(sentenceWords, wordIndex, lexicons, languageCode) {
4
4
  const reversedLexicons = [...lexicons].reverse(); // Give precedence to later lexicons
5
5
  for (const lexicon of reversedLexicons) {
6
- const match = tryGetLexiconSubstitution(sentenceWords, wordIndex, lexicon, espeakVoice);
6
+ const match = tryGetLexiconSubstitution(sentenceWords, wordIndex, lexicon, languageCode);
7
7
  if (match) {
8
8
  return match;
9
9
  }
10
10
  }
11
11
  return undefined;
12
12
  }
13
- export function tryGetLexiconSubstitution(sentenceWords, wordIndex, lexicon, espeakVoice) {
13
+ export function tryGetLexiconSubstitution(sentenceWords, wordIndex, lexicon, languageCode) {
14
14
  let word = sentenceWords[wordIndex];
15
15
  if (!word) {
16
16
  return;
17
17
  }
18
- const shortLanguageCode = getShortLanguageCode(espeakVoice);
18
+ const shortLanguageCode = getShortLanguageCode(languageCode);
19
19
  const lexiconForLanguage = lexicon[shortLanguageCode];
20
20
  if (!lexiconForLanguage) {
21
21
  return;
@@ -26,7 +26,7 @@ export function tryGetLexiconSubstitution(sentenceWords, wordIndex, lexicon, esp
26
26
  }
27
27
  for (let i = 0; i < lexiconEntry.length; i++) {
28
28
  const substitutionEntry = lexiconEntry[i];
29
- const substitutionPhonemesText = substitutionEntry?.pronunciation?.espeak?.[espeakVoice];
29
+ const substitutionPhonemesText = substitutionEntry?.pronunciation?.espeak?.[languageCode];
30
30
  if (!substitutionPhonemesText) {
31
31
  continue;
32
32
  }
@@ -48,4 +48,18 @@ export async function loadLexiconFile(jsonFilePath) {
48
48
  const parsedLexicon = await readAndParseJsonFile(jsonFilePath);
49
49
  return parsedLexicon;
50
50
  }
51
+ export async function loadLexiconsForLanguage(language, customLexiconPaths) {
52
+ const lexicons = [];
53
+ if (getShortLanguageCode(language) == "en") {
54
+ const heteronymsLexicon = await loadLexiconFile(resolveToModuleRootDir("data/lexicons/heteronyms.en.json"));
55
+ lexicons.push(heteronymsLexicon);
56
+ }
57
+ if (customLexiconPaths && customLexiconPaths.length > 0) {
58
+ for (const customLexicon of customLexiconPaths) {
59
+ const customLexiconObject = await loadLexiconFile(customLexicon);
60
+ lexicons.push(customLexiconObject);
61
+ }
62
+ }
63
+ return lexicons;
64
+ }
51
65
  //# sourceMappingURL=Lexicon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lexicon.js","sourceRoot":"","sources":["../../src/nlp/Lexicon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAY,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,UAAU,8BAA8B,CAAC,aAAuB,EAAE,SAAiB,EAAE,QAAmB,EAAE,WAAmB;IAClI,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,oCAAoC;IAErF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;QACvC,MAAM,KAAK,GAAG,yBAAyB,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAEvF,IAAI,KAAK,EAAE;YACV,OAAO,KAAK,CAAA;SACZ;KACD;IAED,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,aAAuB,EAAE,SAAiB,EAAE,OAAgB,EAAE,WAAmB;IAC1H,IAAI,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAEnC,IAAI,CAAC,IAAI,EAAE;QACV,OAAM;KACN;IAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;IAC3D,MAAM,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAErD,IAAI,CAAC,kBAAkB,EAAE;QACxB,OAAM;KACN;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAE7C,IAAI,CAAC,YAAY,EAAE;QAClB,OAAM;KACN;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAEzC,MAAM,wBAAwB,GAAG,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAA;QAExF,IAAI,CAAC,wBAAwB,EAAE;YAC9B,SAAQ;SACR;QAED,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACxD,MAAM,cAAc,GAAG,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QAEzD,MAAM,UAAU,GAAG,iBAAiB,EAAE,UAAU,IAAI,EAAE,CAAA;QACtD,MAAM,aAAa,GAAG,iBAAiB,EAAE,aAAa,IAAI,EAAE,CAAA;QAE5D,MAAM,WAAW,GAAG,iBAAiB,EAAE,WAAW,IAAI,EAAE,CAAA;QACxD,MAAM,cAAc,GAAG,iBAAiB,EAAE,cAAc,IAAI,EAAE,CAAA;QAE9D,MAAM,kBAAkB,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QAC3G,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QAErG,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,EAAE;YAChF,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAElE,OAAO,oBAAoB,CAAA;SAC3B;KACD;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,YAAoB;IACzD,MAAM,aAAa,GAAY,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAEvE,OAAO,aAAa,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"Lexicon.js","sourceRoot":"","sources":["../../src/nlp/Lexicon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,UAAU,8BAA8B,CAAC,aAAuB,EAAE,SAAiB,EAAE,QAAmB,EAAE,YAAoB;IACnI,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,oCAAoC;IAErF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;QACvC,MAAM,KAAK,GAAG,yBAAyB,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAExF,IAAI,KAAK,EAAE;YACV,OAAO,KAAK,CAAA;SACZ;KACD;IAED,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,aAAuB,EAAE,SAAiB,EAAE,OAAgB,EAAE,YAAoB;IAC3H,IAAI,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAEnC,IAAI,CAAC,IAAI,EAAE;QACV,OAAM;KACN;IAED,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAC5D,MAAM,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAErD,IAAI,CAAC,kBAAkB,EAAE;QACxB,OAAM;KACN;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAE7C,IAAI,CAAC,YAAY,EAAE;QAClB,OAAM;KACN;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAEzC,MAAM,wBAAwB,GAAG,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,CAAA;QAEzF,IAAI,CAAC,wBAAwB,EAAE;YAC9B,SAAQ;SACR;QAED,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACxD,MAAM,cAAc,GAAG,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QAEzD,MAAM,UAAU,GAAG,iBAAiB,EAAE,UAAU,IAAI,EAAE,CAAA;QACtD,MAAM,aAAa,GAAG,iBAAiB,EAAE,aAAa,IAAI,EAAE,CAAA;QAE5D,MAAM,WAAW,GAAG,iBAAiB,EAAE,WAAW,IAAI,EAAE,CAAA;QACxD,MAAM,cAAc,GAAG,iBAAiB,EAAE,cAAc,IAAI,EAAE,CAAA;QAE9D,MAAM,kBAAkB,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QAC3G,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QAErG,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,EAAE;YAChF,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAElE,OAAO,oBAAoB,CAAA;SAC3B;KACD;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,YAAoB;IACzD,MAAM,aAAa,GAAY,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAEvE,OAAO,aAAa,CAAA;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,QAAgB,EAAE,kBAA6B;IAC5F,MAAM,QAAQ,GAAc,EAAE,CAAA;IAE9B,IAAI,oBAAoB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;QAC3C,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,CAAC,CAAA;QAC3G,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;KAChC;IAED,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;QACxD,KAAK,MAAM,aAAa,IAAI,kBAAkB,EAAE;YAC/C,MAAM,mBAAmB,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAA;YAEhE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;SAClC;KACD;IAED,OAAO,QAAQ,CAAA;AAChB,CAAC"}
@@ -5,7 +5,7 @@ export declare function synthesize(text: string, ssmlEnabled: boolean): Promise<
5
5
  rawAudio: RawAudio;
6
6
  events: EspeakEvent[];
7
7
  }>;
8
- export declare function preprocessAndSynthesizeSentence(sentence: string, espeakVoice: string, lexicons?: Lexicon[], normalizeText?: boolean, rate?: number, pitch?: number, pitchRange?: number): Promise<{
8
+ export declare function preprocessAndSynthesize(segment: string, espeakVoice: string, language: string, lexicons?: Lexicon[], rate?: number, pitch?: number, pitchRange?: number): Promise<{
9
9
  referenceSynthesizedAudio: RawAudio;
10
10
  referenceTimeline: Timeline;
11
11
  fragments: string[];
@@ -40,39 +40,37 @@ export async function synthesize(text, ssmlEnabled) {
40
40
  logger.end();
41
41
  return { rawAudio, events: allEvents };
42
42
  }
43
- export async function preprocessAndSynthesizeSentence(sentence, espeakVoice, lexicons = [], normalizeText = true, rate, pitch, pitchRange) {
43
+ export async function preprocessAndSynthesize(segment, espeakVoice, language, lexicons = [], rate, pitch, pitchRange) {
44
44
  const logger = new Logger();
45
45
  await logger.startAsync("Tokenize and analyze text");
46
+ let lowerCaseLanguageCode = language.toLowerCase();
47
+ if (lowerCaseLanguageCode == "en-gb") {
48
+ lowerCaseLanguageCode = "en-gb-x-rp";
49
+ }
46
50
  let fragments;
47
51
  let preprocessedFragments;
48
52
  const phonemizedFragmentsSubstitutions = new Map();
49
- if (espeakVoice.startsWith("en")) {
50
- fragments = [];
51
- preprocessedFragments = [];
52
- const words = (await splitToWords(sentence, espeakVoice)).filter(word => word.trim() != "");
53
- const { normalizedFragments, referenceFragments } = getNormalizedFragmentsForSpeech(words, espeakVoice);
54
- const simplifiedFragments = normalizedFragments.map(word => simplifyPunctuationCharacters(word).toLocaleLowerCase());
55
- for (let fragmentIndex = 0; fragmentIndex < normalizedFragments.length; fragmentIndex++) {
56
- const fragment = normalizedFragments[fragmentIndex];
57
- const substitutionPhonemes = tryGetFirstLexiconSubstitution(simplifiedFragments, fragmentIndex, lexicons, espeakVoice);
58
- if (!substitutionPhonemes) {
59
- continue;
60
- }
61
- phonemizedFragmentsSubstitutions.set(fragmentIndex, substitutionPhonemes);
62
- const referenceIPA = (await textToPhonemes(fragment, espeakVoice, true)).replaceAll("_", " ");
63
- const referenceKirshenbaum = (await textToPhonemes(fragment, espeakVoice, false)).replaceAll("_", "");
64
- const kirshenbaumPhonemes = substitutionPhonemes.map(phone => ipaPhoneToKirshenbaum(phone)).join("");
65
- logger.log(`\nLexicon substitution for '${fragment}': IPA: ${substitutionPhonemes.join(" ")} (original: ${referenceIPA}), Kirshenbaum: ${kirshenbaumPhonemes} (reference: ${referenceKirshenbaum})`);
66
- const substitutionPhonemesFragment = ` [[${kirshenbaumPhonemes}]] `;
67
- normalizedFragments[fragmentIndex] = substitutionPhonemesFragment;
53
+ fragments = [];
54
+ preprocessedFragments = [];
55
+ const words = (await splitToWords(segment, language)).filter(word => word.trim() != "");
56
+ const { normalizedFragments, referenceFragments } = getNormalizedFragmentsForSpeech(words, language);
57
+ const simplifiedFragments = normalizedFragments.map(word => simplifyPunctuationCharacters(word).toLocaleLowerCase());
58
+ for (let fragmentIndex = 0; fragmentIndex < normalizedFragments.length; fragmentIndex++) {
59
+ const fragment = normalizedFragments[fragmentIndex];
60
+ const substitutionPhonemes = tryGetFirstLexiconSubstitution(simplifiedFragments, fragmentIndex, lexicons, lowerCaseLanguageCode);
61
+ if (!substitutionPhonemes) {
62
+ continue;
68
63
  }
69
- fragments = referenceFragments;
70
- preprocessedFragments = normalizedFragments;
71
- }
72
- else {
73
- fragments = (await splitToWords(sentence, espeakVoice)).filter(word => word.trim() != "");
74
- preprocessedFragments = fragments;
64
+ phonemizedFragmentsSubstitutions.set(fragmentIndex, substitutionPhonemes);
65
+ const referenceIPA = (await textToPhonemes(fragment, espeakVoice, true)).replaceAll("_", " ");
66
+ const referenceKirshenbaum = (await textToPhonemes(fragment, espeakVoice, false)).replaceAll("_", "");
67
+ const kirshenbaumPhonemes = substitutionPhonemes.map(phone => ipaPhoneToKirshenbaum(phone)).join("");
68
+ logger.logTitledMessage(`\nLexicon substitution for '${fragment}'`, `IPA: ${substitutionPhonemes.join(" ")} (original: ${referenceIPA}), Kirshenbaum: ${kirshenbaumPhonemes} (reference: ${referenceKirshenbaum})`);
69
+ const substitutionPhonemesFragment = ` [[${kirshenbaumPhonemes}]] `;
70
+ normalizedFragments[fragmentIndex] = substitutionPhonemesFragment;
75
71
  }
72
+ fragments = referenceFragments;
73
+ preprocessedFragments = normalizedFragments;
76
74
  logger.start("Synthesize preprocessed fragments with eSpeak");
77
75
  const { rawAudio: referenceSynthesizedAudio, timeline: referenceTimeline } = await synthesizeFragments(preprocessedFragments, espeakVoice, false, rate, pitch, pitchRange);
78
76
  await logger.startAsync("Build phonemized tokens");
@@ -1 +1 @@
1
- {"version":3,"file":"EspeakTTS.js","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AACxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAY,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAW,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAG9D,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,IAAI,cAAmB,CAAA;AACvB,IAAI,YAAiB,CAAA;AAErB,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,WAAoB;IAClE,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAExC,IAAI,CAAC,WAAW,EAAE;QACjB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;QAE/C,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;KACnB;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAE9C,MAAM,YAAY,GAAmB,EAAE,CAAA;IACvC,MAAM,SAAS,GAAkB,EAAE,CAAA;IAEnC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAEtC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,OAAmB,EAAE,MAAqB,EAAE,EAAE;QACxE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAA;SAC7C;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC3B,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE;gBACzB,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;gBAC5C,KAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;aACvF;SACD;QAED,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAE7D,MAAM,QAAQ,GAAa,EAAE,aAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;IAEtF,MAAM,CAAC,GAAG,EAAE,CAAA;IAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,QAAgB,EAAE,WAAmB,EAAE,WAAsB,EAAE,EAAE,aAAa,GAAG,IAAI,EAAE,IAAa,EAAE,KAAc,EAAE,UAAmB;IAC9L,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAE3B,MAAM,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAA;IAEpD,IAAI,SAAmB,CAAA;IACvB,IAAI,qBAA+B,CAAA;IACnC,MAAM,gCAAgC,GAAG,IAAI,GAAG,EAAoB,CAAA;IAEpE,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjC,SAAS,GAAG,EAAE,CAAA;QACd,qBAAqB,GAAG,EAAE,CAAA;QAE1B,MAAM,KAAK,GAAG,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAE3F,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,GAAG,+BAA+B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAEvG,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAEpH,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;YACxF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;YAEnD,MAAM,oBAAoB,GAAG,8BAA8B,CAAC,mBAAmB,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YAEtH,IAAI,CAAC,oBAAoB,EAAE;gBAC1B,SAAQ;aACR;YAED,gCAAgC,CAAC,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAA;YACzE,MAAM,YAAY,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC7F,MAAM,oBAAoB,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAErG,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEpG,MAAM,CAAC,GAAG,CAAC,+BAA+B,QAAQ,WAAW,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,YAAY,mBAAmB,mBAAmB,gBAAgB,oBAAoB,GAAG,CAAC,CAAA;YAEpM,MAAM,4BAA4B,GAAG,MAAM,mBAAmB,KAAK,CAAA;YAEnE,mBAAmB,CAAC,aAAa,CAAC,GAAG,4BAA4B,CAAA;SACjE;QAED,SAAS,GAAG,kBAAkB,CAAA;QAC9B,qBAAqB,GAAG,mBAAmB,CAAA;KAC3C;SAAM;QACN,SAAS,GAAG,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACzF,qBAAqB,GAAG,SAAS,CAAA;KACjC;IAED,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAE7D,MAAM,EAAE,QAAQ,EAAE,yBAAyB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,mBAAmB,CAAC,qBAAqB,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAE1K,MAAM,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAA;IAElD,MAAM,kBAAkB,GAAiB,EAAE,CAAA;IAE3C,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE;QAC5C,MAAM,MAAM,GAAe,EAAE,CAAA;QAE7B,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,QAAS,EAAE;YAC9C,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;YAErC,IAAI,gCAAgC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACpD,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAA;aAC7D;iBAAM;gBACN,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,QAAS,EAAE;oBAC7C,MAAM,aAAa,GAAa,EAAE,CAAA;oBAElC,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAS,EAAE;wBAC3C,IAAI,OAAO,CAAC,IAAI,EAAE;4BACjB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;yBAChC;qBACD;oBAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC7B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;qBAC1B;iBACD;aACD;YAED,SAAS,IAAI,CAAC,CAAA;SACd;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC/B;KACD;IAED,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAEzG,MAAM,CAAC,GAAG,EAAE,CAAA;IAEZ,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,SAAS,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,CAAA;AAChJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAmB,EAAE,KAAa,EAAE,gBAAgB,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE;IAC9I,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAE3B,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnB,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;IAE/B,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAA;IAExC,iEAAiE;IAEjE,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;QAC1B,OAAO;YACN,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC;YACzC,QAAQ,EAAE,EAAc;YACxB,MAAM,EAAE,EAAmB;SAC3B,CAAA;KACD;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAE/C,IAAI,eAAe,GAAG,EAAE,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,qCAAqC;QACrC,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,gBAAgB,EAAE;YACrB,eAAe,IAAI,yBAAyB,CAAC,SAAS,QAAQ,0BAA0B,CAAC,KAAK,CAAA;SAC9F;aAAM;YACN,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC3B,QAAQ,IAAI,KAAK,CAAA;aACjB;YAED,eAAe,IAAI,yBAAyB,CAAC,MAAM,QAAQ,uBAAuB,CAAC,MAAM,CAAA;SACzF;KACD;IAED,sBAAsB;IAEtB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;IAEpE,MAAM,QAAQ,GAAa,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC,CAAC;QACb,OAAO,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC;gBACb,OAAO,EAAE,CAAC,CAAC;gBACX,QAAQ,EAAE,EAAE;aACZ,CAAC;KACF,CAAC,CAAC,CAAA;IAEH,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,MAAM,gBAAgB,GAAa,EAAE,CAAA;IAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,GAAG,IAAI,CAAA;QAE7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QAE5C,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,QAAS,CAAA;QACzD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAErF,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,QAAS,CAAA;QAC1D,MAAM,cAAc,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAE5E,IAAI,cAAc,IAAI,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE;YACnD,cAAc,CAAC,OAAO,GAAG,SAAS,CAAA;SAClC;QAED,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,oBAAoB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAClD,SAAQ;aACR;YAED,IAAI,mBAAmB,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE;gBACtC,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAA;aACvC;YAED,sBAAsB,CAAC,IAAI,CAAC;gBAC3B,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,CAAC,CAAC;gBACX,QAAQ,EAAE,EAAE;aACZ,CAAC,CAAA;SACF;aAAM,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE;YACnC,MAAM,SAAS,GAAG,KAAK,CAAC,EAAY,CAAA;YAEpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAC5C,SAAQ;aACR;YAED,oBAAoB,CAAC,IAAI,CAAC;gBACzB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,CAAC,CAAC;aACX,CAAC,CAAA;YAEF,mBAAmB,CAAC,IAAI,IAAI,SAAS,CAAA;YACrC,mBAAmB,CAAC,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;SACjE;aAAM,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAE;YAChC,MAAM,UAAU,GAAG,KAAK,CAAC,EAAa,CAAA;YAEtC,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;gBAEtD,IAAI,WAAW,IAAI,SAAS,EAAE;oBAC7B,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,uDAAuD,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;iBACxI;gBAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpC,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,yEAAyE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;iBACzI;gBAED,gBAAgB,CAAC,SAAS,GAAG,SAAS,CAAA;gBACtC,mBAAmB,CAAC,SAAS,GAAG,SAAS,CAAA;aACzC;iBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;gBAErD,IAAI,WAAW,IAAI,SAAS,EAAE;oBAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,uDAAuD,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;iBACtI;gBAED,gBAAgB,CAAC,SAAS,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAEhE,gBAAgB,CAAC,OAAO,GAAG,SAAS,CAAA;gBACpC,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAA;gBAEvC,SAAS,IAAI,CAAC,CAAA;gBAEd,IAAI,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE;oBACjC,MAAK;iBACL;aACD;iBAAM;gBACN,SAAQ;aACR;SACD;aAAM,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE;YAC/B,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAChC;KACD;IAED,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEtC,MAAM,mBAAmB,GAAa,EAAE,CAAA;IAExC,IAAI,gBAAgB,GAAG,CAAC,CAAA;IAExB,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE;QAC9C,MAAM,SAAS,GAAkB;YAChC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,CAAC,CAAC;YACb,OAAO,EAAE,CAAC,CAAC;YACX,QAAQ,EAAE,EAAE;SACZ,CAAA;QAED,KAAK,IAAI,UAAU,GAAG,gBAAgB,EAAE,UAAU,IAAI,cAAc,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;YACnH,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;YACtC,IAAI,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE;gBAC9B,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;aACzC;YAED,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;YAErC,SAAS,CAAC,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,GAAG,CAAA;YAEtC,SAAS,CAAC,QAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SACnC;QAED,IAAI,SAAS,CAAC,QAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnC,gBAAgB,GAAG,cAAc,GAAG,CAAC,CAAA;SACrC;KACD;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,KAAa;IAC1D,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAC9C,MAAM,GAAG,GAAY,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAc,CAAC,IAAI,EAAE,CAAA;IAExE,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,KAAa,EAAE,MAAM,GAAG,IAAI;IAC9E,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAE1D,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAEhD,MAAM,SAAS,GAAG,UAAU,CAAC,4BAA4B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;IAEnC,UAAU,CAAC,OAAO,EAAE,CAAA;IAEpB,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAE9C,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAE9C,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAE9C,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAa;IAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAE9C,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAE9C,OAAO,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IAClC,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAE9C,MAAM,SAAS,GAA4F,QAAQ,CAAC,WAAW,EAAE,CAAA;IAEjI,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC/B,IAAI,CAAC,cAAc,EAAE;QACpB,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAA;QAEvF,MAAM,CAAC,GAAG,MAAM,iBAAiB,EAAE,CAAA;QACnC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAA;QAC/C,YAAY,GAAG,CAAC,CAAA;KAChB;IAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;AAC1D,CAAC;AAoBD,MAAM,CAAC,KAAK,UAAU,0CAA0C,CAAC,IAAY;IAC5E,MAAM,qBAAqB,GAAG,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAChG,MAAM,6BAA6B,GAAG,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAC1H,GAAG,CAAC,6BAA6B,CAAC,CAAA;IAElC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAClD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAClB,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,CAAA;IAExE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAE5E,MAAM,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,IAAY;IAC9D,MAAM,qBAAqB,GAAG,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAChG,MAAM,6BAA6B,GAAG,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IAE1H,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAErE,MAAM,oBAAoB,GAAG,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAErF,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAClD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAClB,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,GAAG,CAAC,QAAQ,YAAY,CAAC,CAAC,CAAC,iBAAiB,SAAS,CAAC,CAAC,CAAC,oBAAoB,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;KACtG;AACF,CAAC"}
1
+ {"version":3,"file":"EspeakTTS.js","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  export declare function synthesize(text: string, apiKey: string, languageCode?: string, voice?: string, speakingRate?: number, pitchDeltaSemitones?: number, volumeGainDb?: number, ssml?: boolean, audioEncoding?: AudioEncoding, sampleRate?: number): Promise<{
3
2
  audioData: Buffer;
4
3
  timepoints: timePoint[];
@@ -3,7 +3,7 @@ import { SynthesisVoice } from '../api/API.js';
3
3
  import { RawAudio } from "../audio/AudioUtilities.js";
4
4
  import { Lexicon } from "../nlp/Lexicon.js";
5
5
  import { Timeline } from "../utilities/Timeline.js";
6
- export declare function synthesizeSentence(text: string, voiceName: string, modelPath: string, lengthScale: number, speakerId?: number, substitutionLexicons?: Lexicon[]): Promise<{
6
+ export declare function synthesizeSentence(text: string, voiceName: string, modelPath: string, lengthScale: number, speakerId?: number, lexicons?: Lexicon[]): Promise<{
7
7
  rawAudio: RawAudio;
8
8
  timeline: import("../utilities/Timeline.js").TimelineEntry[];
9
9
  referenceSynthesizedAudio: RawAudio;
@@ -17,7 +17,7 @@ export declare class VitsTTS {
17
17
  phonemeMap?: Map<string, number[]>;
18
18
  constructor(voiceName: string, modelPath: string);
19
19
  initialize(): Promise<void>;
20
- synthesizeSentence(sentence: string, lengthScale: number, speakerId?: number, substitutionLexicons?: Lexicon[]): Promise<{
20
+ synthesizeSentence(sentence: string, lengthScale: number, speakerId?: number, lexicons?: Lexicon[]): Promise<{
21
21
  rawAudio: RawAudio;
22
22
  timeline: import("../utilities/Timeline.js").TimelineEntry[];
23
23
  referenceSynthesizedAudio: RawAudio;
@@ -3,7 +3,7 @@ import { getEmptyRawAudio } from "../audio/AudioUtilities.js";
3
3
  import { readAndParseJsonFile, readdir } from "../utilities/FileSystem.js";
4
4
  import path from 'node:path';
5
5
  const cachedInstanceLookup = new Map();
6
- export async function synthesizeSentence(text, voiceName, modelPath, lengthScale, speakerId = 0, substitutionLexicons) {
6
+ export async function synthesizeSentence(text, voiceName, modelPath, lengthScale, speakerId = 0, lexicons) {
7
7
  const cacheLookupKey = modelPath;
8
8
  let vitsTTS = cachedInstanceLookup.get(cacheLookupKey);
9
9
  if (!vitsTTS) {
@@ -12,7 +12,7 @@ export async function synthesizeSentence(text, voiceName, modelPath, lengthScale
12
12
  cachedInstanceLookup.clear();
13
13
  cachedInstanceLookup.set(cacheLookupKey, vitsTTS);
14
14
  }
15
- const result = await vitsTTS.synthesizeSentence(text, lengthScale, speakerId, substitutionLexicons);
15
+ const result = await vitsTTS.synthesizeSentence(text, lengthScale, speakerId, lexicons);
16
16
  return result;
17
17
  }
18
18
  export class VitsTTS {
@@ -46,7 +46,7 @@ export class VitsTTS {
46
46
  }
47
47
  logger.end();
48
48
  }
49
- async synthesizeSentence(sentence, lengthScale, speakerId = 0, substitutionLexicons) {
49
+ async synthesizeSentence(sentence, lengthScale, speakerId = 0, lexicons) {
50
50
  const logger = new Logger();
51
51
  if (!this.modelSession) {
52
52
  throw new Error("Model has not been initialized");
@@ -55,6 +55,7 @@ export class VitsTTS {
55
55
  const metadata = this.metadata;
56
56
  const phonemeMap = this.phonemeMap;
57
57
  const espeakVoice = metadata.espeak.voice;
58
+ const languageCode = espeakVoice;
58
59
  const outputSampleRate = metadata.audio.sample_rate;
59
60
  const baseLengthScale = metadata.inference.length_scale || 1.0;
60
61
  lengthScale *= baseLengthScale;
@@ -65,7 +66,7 @@ export class VitsTTS {
65
66
  .replaceAll("—", ", ");
66
67
  const Espeak = await import("../synthesis/EspeakTTS.js");
67
68
  logger.end();
68
- const { referenceSynthesizedAudio, referenceTimeline, fragments, phonemizedFragmentsSubstitutions, phonemizedSentence } = await Espeak.preprocessAndSynthesizeSentence(sentence, espeakVoice, substitutionLexicons, true);
69
+ const { referenceSynthesizedAudio, referenceTimeline, fragments, phonemizedFragmentsSubstitutions, phonemizedSentence } = await Espeak.preprocessAndSynthesize(sentence, espeakVoice, languageCode, lexicons);
69
70
  if (phonemizedSentence.length == 0) {
70
71
  logger.end();
71
72
  return {
@@ -130,10 +131,7 @@ export class VitsTTS {
130
131
  await logger.startAsync("Align with reference synthesized audio");
131
132
  const { alignUsingDtw } = await import("../alignment/SpeechAlignment.js");
132
133
  const referenceWordTimeline = referenceTimeline.flatMap(clause => clause.timeline);
133
- for (const wordEntry of referenceWordTimeline) {
134
- wordEntry.timeline = wordEntry.timeline.flatMap(tokenEntry => tokenEntry.timeline);
135
- }
136
- const mappedTimeline = await alignUsingDtw(rawAudio, referenceSynthesizedAudio, referenceWordTimeline);
134
+ const mappedTimeline = await alignUsingDtw(rawAudio, referenceSynthesizedAudio, referenceWordTimeline, 120);
137
135
  logger.end();
138
136
  return { rawAudio, timeline: mappedTimeline, referenceSynthesizedAudio, referenceTimeline };
139
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VitsTTS.js","sourceRoot":"","sources":["../../src/synthesis/VitsTTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VitsTTS.js","sourceRoot":"","sources":["../../src/synthesis/VitsTTS.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@ export declare function getShortLanguageCode(langCode: string): string;
4
4
  export declare function normalizeLanguageCode(langCode: string): string;
5
5
  export declare function isoToLcidLanguageCode(iso: string): Promise<number | undefined>;
6
6
  export declare function lcidToIsoLanguageCode(lcid: number): Promise<string[] | undefined>;
7
- export declare const shortLanguageCodeToLong: {
7
+ export declare function getDefaultDialectForLanguageCodeIfPossible(langCode: string): string;
8
+ export declare const defaultDialectForLanguageCode: {
8
9
  [lang: string]: string;
9
10
  };
10
11
  export interface LCIDEntry {
@@ -63,7 +63,11 @@ async function loadLcidLookupIfNeeded() {
63
63
  }
64
64
  return lcidEntries;
65
65
  }
66
- export const shortLanguageCodeToLong = {
66
+ export function getDefaultDialectForLanguageCodeIfPossible(langCode) {
67
+ const defaultDialect = defaultDialectForLanguageCode[langCode];
68
+ return defaultDialect || langCode;
69
+ }
70
+ export const defaultDialectForLanguageCode = {
67
71
  "en": "en-US",
68
72
  "zh": "zh-CN",
69
73
  "ar": "ar-EG",
@@ -1 +1 @@
1
- {"version":3,"file":"Locale.js","sourceRoot":"","sources":["../../src/utilities/Locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAE9E,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACtD,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;IAEzE,IAAI,sBAA0C,CAAA;IAE9C,IAAI;QACH,sBAAsB,GAAG,aAAa,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;KACvD;IAAC,OAAO,CAAC,EAAE;KACX;IAED,OAAO,sBAAsB,IAAI,SAAS,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,YAAoB,EAAE,UAAiB,CAAC;IAClF,IAAI,OAAO,IAAI,CAAC,EAAE;QACjB,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,KAAK,YAAY,GAAG,CAAA;KAC9D;SAAM;QACN,OAAO,GAAG,YAAY,KAAK,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAA;KAC7D;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAEvC,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE;QACpB,OAAO,QAAQ,CAAA;KACf;IAED,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACrD,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAE1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEjC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;KACnC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;AACjD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAA;AACnD,MAAM,WAAW,GAAgB,EAAE,CAAA;AAEnC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW;IACtD,MAAM,sBAAsB,EAAE,CAAA;IAE9B,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACvD,MAAM,sBAAsB,EAAE,CAAA;IAE9B,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC;AAED,KAAK,UAAU,sBAAsB;IACpC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,WAAW,CAAA;KAClB;IAED,MAAM,UAAU,GAAe,MAAM,oBAAoB,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAEhH,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE;QACjC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACrC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE3B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAA;QAEhC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAEvC,IAAI,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE1C,IAAI,CAAC,KAAK,EAAE;YACX,KAAK,GAAG,EAAE,CAAA;YACV,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;SACrC;QAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KACnB;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAA+B;IAClE,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;CACb,CAAA"}
1
+ {"version":3,"file":"Locale.js","sourceRoot":"","sources":["../../src/utilities/Locale.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,8 @@ export function simplifyPunctuationCharacters(text) {
38
38
  .replaceAll("„", "\"")
39
39
  .replaceAll(`ߵ`, `"`)
40
40
  .replaceAll(`ߴ`, `"`)
41
+ .replaceAll('«', `"`)
42
+ .replaceAll('»', `"`)
41
43
  .replaceAll(`’`, `'`)
42
44
  .replaceAll(`ʼ`, `'`)
43
45
  .replaceAll(`ʼ`, `'`)
@@ -1 +1 @@
1
- {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../../src/utilities/Utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../../src/utilities/Utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACzD,OAAO,iBAAiB,CAAe,YAAY,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,iBAAiB,CAAI,gBAAqB,EAAE,MAAa;IACjE,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACzB,WAAW,IAAI,GAAG,CAAC,MAAM,CAAA;KACzB;IAED,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAEhD,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;KACpB;IAED,OAAU,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,KAAU,EAAE,SAA0B;IACrE,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,KAAU,EAAE,SAA0B;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAA;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAA;QAE/D,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;QAC7B,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAA;KAC1B;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACzD,OAAO,IAAI;SACT,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC;SACrB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC;SACrB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC;SACrB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SAEpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;SACpB,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAY;IACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAY;IACzC,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE;QAC/B,aAAa,CAAC,OAAO,CAAC,CAAA;KACtB;SAAM;QACN,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;KACnC;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAY;IACvC,aAAa,CAAC,OAAO,CAAC,CAAA;IACtB,aAAa,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAQ;IACnC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,CAAC;KACV,CAAC,CAAA;IAEF,OAAO,eAAe,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK;IACnE,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACrD;IAED,IAAI,GAAG,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEpD,IAAI,SAAS,EAAE;QACd,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;KACvB;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAM,GAAG,IAAI;IAC1C,IAAI,IAAI,GAAG,UAAU,EAAY,CAAA;IAEjC,IAAI,MAAM,IAAI,KAAK,EAAE;QACpB,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;KAC/B;IAED,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,GAAa,EAAE,WAAgC;IAC1E,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;KAC1B;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,UAAoB;IAC9D,OAAO,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,UAAoB;IAC7D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEpC,IAAI,KAAK,IAAI,CAAC,EAAE;YACf,OAAO,KAAK,CAAA;SACZ;KACD;IAED,OAAO,CAAC,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,QAAkB;IAC9D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAA;SACX;KACD;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,MAAM,GAAG,CAAC;IACpD,MAAM,UAAU,GAAG,EAAE,IAAI,MAAM,CAAA;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,UAAU,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,MAAc;IACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,YAAY,CAAC,OAAO,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAsB;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;IAE9B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,EAAE;QACvD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KAChC;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAQ;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAAoB;IAChD,IAAI,gBAAgB,GAAG,YAAY,CAAA;IAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACpD,gBAAgB,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,CAAA;IAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAA;IACjD,gBAAgB,IAAI,OAAO,GAAG,EAAE,CAAA;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAC5C,gBAAgB,IAAI,OAAO,CAAA;IAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAExD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC/C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAE5E,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAkF,EAAE,gBAAgB,GAAG,GAAG;IACnI,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,gBAAgB,GAAG,6BAA6B,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAA;AAClP,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAkE,EAAE,gBAAgB,GAAG,GAAG;IAClH,OAAO,GAAG,6BAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,6BAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,gBAAgB,GAAG,6BAA6B,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAA;AAC5L,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW,EAAE,aAAqB;IAC/E,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAErB,IAAI,WAAW,GAAG,GAAG,GAAG,EAAE,CAAA;IAE1B,OAAO,WAAW,CAAC,MAAM,GAAG,aAAa,EAAE;QAC1C,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;KAC/B;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,GAAW;IACrD,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KACd;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACxE,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/B,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;KAC5C;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,GAAW;IACxD,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG;IACtE,MAAM,YAAY,GAAa,EAAE,CAAA;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/B,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;KAC/C;IAED,OAAO,YAAY,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,GAAW;IAC1D,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAI,GAAmB;IAC1D,MAAM,GAAG,GAAyB,EAAE,CAAA;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;KAChB;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAI,GAAyB;IAClE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAA;IAEhC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;KACtB;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAO,GAAG,CAAC;IACtC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE;QACrD,OAAO,EAAE,CAAA;IACV,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AACb,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE;QACvD,OAAO,EAAE,CAAA;IACV,CAAC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC/C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAM,EAAE,EAAE;QAC3C,GAAG,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAA;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC;QAC1C,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAA;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,WAAwB;IACxE,SAAS,WAAW,CAAC,QAAQ,GAAG,CAAC;QAChC,IAAI,WAAW,EAAE;YAChB,WAAW,EAAE,CAAA;SACb;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE;QACxB,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE1C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAE9B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACzC,IAAI,GAAG,CAAC,IAAI,IAAI,QAAQ,EAAE;gBACzB,WAAW,CAAC,CAAC,CAAC,CAAA;aACd;YAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE;gBACxC,WAAW,CAAC,CAAC,CAAC,CAAA;aACd;QACF,CAAC,CAAC,CAAA;KACF;AACF,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,eAAgC;IACzE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAa,EAAE,CAAA;QAE3B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACjC,MAAM,CAAC,CAAC,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAkB,EAAE,QAAgB;IACrE,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,EAAE;QAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAA;KACrD;IAED,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa;IAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEpE,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IAClD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAEjE,IAAI;QACH,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;KACX;IAAC,MAAM;QACP,OAAO,KAAK,CAAA;KACZ;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAEhD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE;QAC1B,QAAQ,EAAE,IAAI;QAEd,SAAS,EAAE;YACV,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;YAChD,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;YACnC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACjD,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACjD,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACjD,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACjD,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE;SAC/D;KACD,CAAC,CAAA;IAEF,OAAO,IAAI,IAAI,EAAE,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAiB,EAAE,WAAW,GAAG,GAAG;IAChF,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,GAAG,GAAG,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACvD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAA;IAE7C,OAAO,aAAa,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,KAAoB,EAAE,YAAe;IACtE,IAAI,KAAK,KAAK,SAAS,EAAE;QACxB,OAAO,YAAY,CAAA;KACnB;SAAM;QACN,OAAO,KAAK,CAAA;KACZ;AACF,CAAC"}
package/docs/CLI.md CHANGED
@@ -145,13 +145,13 @@ The configuration file format is simple and has a dedicated section for each com
145
145
  [speak]
146
146
 
147
147
  # Engine for synthesis:
148
- engine = sapi
148
+ engine = vits
149
149
 
150
150
  # Voice for synthesis (case-insensitive, can be a search pattern):
151
- voice = zira
151
+ voice = amy
152
152
 
153
- # VITS custom lexicon paths:
154
- vits.customLexiconPaths = ["lexicon1.json", "lexicon2.json"]
153
+ # Custom lexicon paths:
154
+ customLexiconPaths = ["lexicon1.json", "lexicon2.json"]
155
155
 
156
156
  [transcribe]
157
157
 
@@ -170,11 +170,9 @@ Name your file `echogarden.config.json`:
170
170
  ```json
171
171
  {
172
172
  "speak": {
173
- "engine": "sapi",
174
- "voice": "zira",
175
- "vits": {
176
- "customLexiconPaths": ["lexicon1.json", "lexicon2.json"]
177
- }
173
+ "engine": "vits",
174
+ "voice": "amy",
175
+ "customLexiconPaths": ["lexicon1.json", "lexicon2.json"]
178
176
  },
179
177
 
180
178
  "transcribe": {
package/docs/Options.md CHANGED
@@ -22,6 +22,7 @@ Applicable to CLI commands: `speak`, `speak-file`, `speak-url`, `speak-wikipedia
22
22
  * `ssml`: the input is SSML. Defaults to `false`
23
23
  * `sentenceEndPause`: pause duration (seconds) at end of sentence. Defaults to `0.75`
24
24
  * `segmentEndPause`: pause duration (seconds) at end of segment. Defaults to `1.0`
25
+ * `customLexiconPaths`: an array of custom lexicon file paths. Optional
25
26
  * `alignment`: prefix to provide custom options for alignment. Options detailed in section for alignment
26
27
  * `languageDetection`: prefix to provide custom options for language detection. Options detailed in section for text language detection
27
28
 
@@ -40,7 +41,6 @@ Applicable to CLI commands: `speak`, `speak-file`, `speak-url`, `speak-wikipedia
40
41
 
41
42
  **VITS**:
42
43
  * `vits.speakerId`: speaker ID, for VITS models that support multiple speakers. Optional
43
- * `vits.customLexiconPaths`: an array of custom lexicon file paths. Optional
44
44
 
45
45
  **eSpeak-ng**:
46
46
  * `espeak.rate`: speech rate, in eSpeak units. Overrides `speed` when set
@@ -136,6 +136,7 @@ Applicable to CLI command: `align`.
136
136
  **General**:
137
137
  * `method`: what alignment algorithm to use, can be `dtw`, `dtw-ra` or `whisper`. Defaults to `dtw`
138
138
  * `language`: language code for the audio and transcript ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `en-US`, `pt-BR`. Auto-detected from transcript if not set
139
+ * `customLexiconPaths`: an array of custom lexicon file paths. Optional
139
140
 
140
141
  **DTW**:
141
142
  * `dtw.windowDuration`: time duration (in seconds) of the Sakoe-Chiba window when performing DTW alignment. Defaults to `120`. If your audio is longer than two minutes, consider increasing this value for better results. Note that a higher value would consume quadratically larger amounts of memory. A value of `600` (10 minutes) would already require several Gigabytes of memory when the audio duration is 10 minutes or greater. The estimated memory requirement (in GB), is shown in the log messages before alignment starts.
package/docs/Tasklist.md CHANGED
@@ -104,10 +104,10 @@
104
104
  * Time/pitch shifting for recognition and alignment results
105
105
  * Accept voice list caching options in `SynthesisOptions`
106
106
 
107
- ### Speech Language detection
107
+ ### Speech language detection
108
108
  * When using Whisper for language detection of speech, apply it to the entire audio, not just the first 30 seconds
109
109
 
110
- ### Text Language detection
110
+ ### Text language detection
111
111
  * Deploy and add the new n-gram based text language detection model
112
112
 
113
113
  ### Segmentation
@@ -144,7 +144,6 @@
144
144
  ### Synthesis / preprocessing
145
145
  * Extend the heteronyms JSON document with additional words like "conducts", "survey", "protest", "transport", "abuse", "combat", "combats", "affect", "contest", "detail", "marked", "contrast", "construct", "constructs", "console", "recall", "permit", "permits", "prospect", "prospects", "proceed", "proceeds", "invite", "reject", "deserts", "transcript", "transcripts", "compact", "impact", "impacts"
146
146
  * Full date normalization (e.g. `21 August 2023`, `21 Aug 2023`)
147
- * Use preprocessed eSpeak in places other than VITS
148
147
  * Add support for capitalized-only rules, and possibly also all uppercase / all lowercase rules.
149
148
  * Support normalizing to graphemes, not only phonemes
150
149
  * Cache lexicons to avoid parsing the JSON each time it is loaded (this may not be needed for if the file is relatively small)
@@ -183,7 +182,6 @@
183
182
  * Way to specify general model size, such that the English-only/multilingual variant would be automatically selected for sizes other than `tiny`?
184
183
 
185
184
  ### Alignment
186
- * Warn when input is larger than DTW window, and suggest to increase the window in this case (this can also happen when synthesizing SSML, which can't be split to segments)
187
185
 
188
186
  ### Postprocessing
189
187
  * When `normalize` is set to false, should obvious clipping still be prevented?
@@ -221,7 +219,6 @@
221
219
  ## Future features and enhancements
222
220
 
223
221
  ### CLI
224
- * Synthesize given subtitle file and try to preserve the existing timing of cues, or even align to existing speech
225
222
  * Auto-generate options file, with comments, based on default options of the API
226
223
  * Have the CLI launch a background worker (in a thread) to enable better parallelism
227
224
  * Play back result audio while synthesis or recognition is still processing on the background (may require `worker_threads`)
@@ -230,12 +227,20 @@
230
227
  * `stdout` output support
231
228
  * Markdown file as text input?
232
229
 
230
+ ### Web
231
+ * Web based frontend UI to the server
232
+ * Adapt some WASM modules to also run on the web
233
+ * Investigate running in WebContainer
234
+
233
235
  ### API
234
236
  * Auto-install npm modules when needed using something like `npm-programmatic`
235
237
 
236
238
  ### Text enhancement
237
239
  * Add capitalization and punctuation to recognized outputs if needed (Silero has a model for it for `en`, `de`, `ru`, `es`, but in `.pt` format only)
238
240
 
241
+ ### Synthesis
242
+ * Synthesize given subtitle file and try to preserve the existing timing of cues, or even align to existing speech
243
+
239
244
  ### Recognition
240
245
  * Low latency recognition mode. Make the partial transcription available as fast as possible
241
246
  * Live input / microphone recognition
@@ -244,14 +249,10 @@
244
249
  * Implement beam search for Silero decoder
245
250
  * Investigate exporting Whisper models to 16-bit quantized ONNX or a mix of 16-bit and 32-bit
246
251
 
247
- ### Web
248
- * Web based frontend UI to the server
249
- * Adapt some WASM modules to also run on the web
250
- * Investigate running in WebContainer
251
-
252
252
  ### Alignment
253
- * Align audio file to audio file
254
- * Alignment with speech translation assistance, which would enable multilingual subtitle replacement for translated captions
253
+ * Implement hierarchical DTW to reduce memory for very long inputs.
254
+ * Implement alignment with speech translation assistance, which would enable multilingual subtitle replacement for translated subtitles
255
+ * Method to align audio file to audio file
255
256
  * Make `dtw` mode work with more speech synthesizers to produce its reference
256
257
  * Predict timing for individual letters (graphemes) based on phoneme timestamps
257
258