echogarden 0.2.9 → 0.3.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.
@@ -1,3 +1,5 @@
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
3
  export declare function loadLexiconFile(jsonFilePath: string): Promise<Lexicon>;
2
4
  export type Lexicon = {
3
5
  [word: string]: LexiconEntry[];
@@ -9,6 +11,10 @@ export type LexiconEntry = {
9
11
  espeak?: LexiconPronunciationForLanguages;
10
12
  sapi?: LexiconPronunciationForLanguages;
11
13
  };
14
+ precededBy?: string[];
15
+ notPrecededBy?: string[];
16
+ succeededBy?: string[];
17
+ notSucceededBy?: string[];
12
18
  example?: string;
13
19
  };
14
20
  export type LexiconWordCase = "any" | "capitalized" | "uppercase" | "lowercase" | "titlecase" | "camelcase" | "pascalcase";
@@ -1,4 +1,41 @@
1
1
  import { readAndParseJsonFile } from "../utilities/FileSystem.js";
2
+ export function tryGetFirstLexiconSubstitution(sentenceWords, wordIndex, lexicons, espeakVoice) {
3
+ for (const lexicon of lexicons) {
4
+ const match = tryGetLexiconSubstitution(sentenceWords, wordIndex, lexicon, espeakVoice);
5
+ if (match) {
6
+ return match;
7
+ }
8
+ }
9
+ }
10
+ export function tryGetLexiconSubstitution(sentenceWords, wordIndex, lexicon, espeakVoice) {
11
+ let word = sentenceWords[wordIndex];
12
+ if (!word) {
13
+ return;
14
+ }
15
+ if (!(word in lexicon)) {
16
+ return;
17
+ }
18
+ const lexiconEntry = lexicon[word];
19
+ for (let i = 0; i < lexiconEntry.length; i++) {
20
+ const substitutionEntry = lexiconEntry[i];
21
+ const substitutionPhonemesText = substitutionEntry?.pronunciation?.espeak?.[espeakVoice];
22
+ if (!substitutionPhonemesText) {
23
+ continue;
24
+ }
25
+ const precedingWord = sentenceWords[wordIndex - 1] || "";
26
+ const succeedingWord = sentenceWords[wordIndex + 1] || "";
27
+ const precededBy = substitutionEntry?.precededBy || [];
28
+ const notPrecededBy = substitutionEntry?.notPrecededBy || [];
29
+ const succeededBy = substitutionEntry?.succeededBy || [];
30
+ const notSucceededBy = substitutionEntry?.notSucceededBy || [];
31
+ const hasNegativePattern = notPrecededBy.includes(precedingWord) || notSucceededBy.includes(succeedingWord);
32
+ const hasPositivePattern = precededBy.includes(precedingWord) || succeededBy.includes(succeedingWord);
33
+ if (i == lexiconEntry.length - 1 || (hasPositivePattern && !hasNegativePattern)) {
34
+ const substitutionPhonemes = substitutionPhonemesText.split(/ +/g);
35
+ return substitutionPhonemes;
36
+ }
37
+ }
38
+ }
2
39
  export async function loadLexiconFile(jsonFilePath) {
3
40
  const parsedLexicon = await readAndParseJsonFile(jsonFilePath);
4
41
  return parsedLexicon;
@@ -1 +1 @@
1
- {"version":3,"file":"Lexicon.js","sourceRoot":"","sources":["../../src/nlp/Lexicon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAY,MAAM,4BAA4B,CAAA;AAE3E,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,EAAY,MAAM,4BAA4B,CAAA;AAE3E,MAAM,UAAU,8BAA8B,CAAC,aAAuB,EAAE,SAAiB,EAAE,QAAmB,EAAE,WAAmB;IAClI,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC/B,MAAM,KAAK,GAAG,yBAAyB,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAEvF,IAAI,KAAK,EAAE;YACV,OAAO,KAAK,CAAA;SACZ;KACD;AACF,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,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE;QACvB,OAAM;KACN;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAElC,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,4 +1,3 @@
1
- import { CompromiseParsedSentence } from "./CompromiseNLP.js";
2
- export declare function getNormalizationMapForSpeech(terms: CompromiseParsedSentence, language: string): Map<number, string>;
1
+ export declare function getNormalizationMapForSpeech(words: string[], language: string): Map<number, string>;
3
2
  export declare function normalizeFourDigitYearString(yearString: string): string;
4
3
  export declare function normalizeFourDigitDecadeString(decadeString: string): string;
@@ -1,5 +1,5 @@
1
1
  import { getShortLanguageCode } from "../utilities/Locale.js";
2
- export function getNormalizationMapForSpeech(terms, language) {
2
+ export function getNormalizationMapForSpeech(words, language) {
3
3
  language = getShortLanguageCode(language);
4
4
  const normalizationMap = new Map();
5
5
  if (language != "en") {
@@ -9,32 +9,33 @@ export function getNormalizationMapForSpeech(terms, language) {
9
9
  const fourDigitYearPattern = /^[0-9][0-9][0-9][0-9]$/;
10
10
  const fourDigitDecadePattern = /^[0-9][0-9][0-9]0s$/;
11
11
  const fourDigitYearRangePattern = /^[0-9][0-9][0-9][0-9][\-\–][0-9][0-9][0-9][0-9]$/;
12
- for (let termIndex = 0; termIndex < terms.length; termIndex++) {
13
- const term = terms[termIndex];
14
- const termText = term.text;
15
- const lowerCaseTermText = termText.toLocaleLowerCase();
16
- const nextTerms = terms.slice(termIndex + 1);
17
- const nextTerm = nextTerms[0];
18
- const nextTermText = nextTerm?.text;
19
- if (lowerCaseTermText == "in" &&
20
- term.postText.length > 0 && term.postText.trim() == "" &&
21
- fourDigitYearPattern.test(nextTermText)) {
22
- const normalizedString = normalizeFourDigitYearString(nextTermText);
23
- normalizationMap.set(termIndex + 1, normalizedString);
24
- termIndex += 1;
12
+ const yearPrecedingWords = [
13
+ "in", "since", "©",
14
+ "january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december",
15
+ "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"
16
+ ];
17
+ for (let wordIndex = 0; wordIndex < words.length; wordIndex++) {
18
+ const word = words[wordIndex];
19
+ const lowerCaseTermText = word.toLocaleLowerCase();
20
+ const nextWords = words.slice(wordIndex + 1);
21
+ const nextWord = nextWords[0];
22
+ if (yearPrecedingWords.includes(lowerCaseTermText) &&
23
+ fourDigitYearPattern.test(nextWord)) {
24
+ const normalizedString = normalizeFourDigitYearString(nextWord);
25
+ normalizationMap.set(wordIndex + 1, normalizedString);
26
+ wordIndex += 1;
25
27
  }
26
28
  else if (lowerCaseTermText == "the" &&
27
- term.postText.length > 0 && term.postText.trim() == "" &&
28
- fourDigitDecadePattern.test(nextTermText)) {
29
- const normalizedString = normalizeFourDigitDecadeString(nextTermText);
30
- normalizationMap.set(termIndex + 1, normalizedString);
31
- termIndex += 1;
29
+ fourDigitDecadePattern.test(nextWord)) {
30
+ const normalizedString = normalizeFourDigitDecadeString(nextWord);
31
+ normalizationMap.set(wordIndex + 1, normalizedString);
32
+ wordIndex += 1;
32
33
  }
33
- else if (fourDigitYearRangePattern.test(termText)) {
34
- const startYearString = normalizeFourDigitYearString(termText.substring(0, 4));
35
- const endYearString = normalizeFourDigitYearString(termText.substring(5, 9));
34
+ else if (fourDigitYearRangePattern.test(word)) {
35
+ const startYearString = normalizeFourDigitYearString(word.substring(0, 4));
36
+ const endYearString = normalizeFourDigitYearString(word.substring(5, 9));
36
37
  const normalizedString = `${startYearString} to ${endYearString}`;
37
- normalizationMap.set(termIndex, normalizedString);
38
+ normalizationMap.set(wordIndex, normalizedString);
38
39
  }
39
40
  }
40
41
  return normalizationMap;
@@ -1 +1 @@
1
- {"version":3,"file":"TextNormalizer.js","sourceRoot":"","sources":["../../src/nlp/TextNormalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextNormalizer.js","sourceRoot":"","sources":["../../src/nlp/TextNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,UAAU,4BAA4B,CAAC,KAAe,EAAE,QAAgB;IAC7E,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAEzC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAElD,IAAI,QAAQ,IAAI,IAAI,EAAE;QACrB,OAAO,gBAAgB,CAAA;KACvB;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAA;IAEzC,MAAM,oBAAoB,GAAG,wBAAwB,CAAA;IACrD,MAAM,sBAAsB,GAAG,qBAAqB,CAAA;IAEpD,MAAM,yBAAyB,GAAG,kDAAkD,CAAA;IAEpF,MAAM,kBAAkB,GAAG;QAC1B,IAAI,EAAE,OAAO,EAAE,GAAG;QAClB,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;QACxH,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;KAClF,CAAA;IAED,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAElD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAE7B,IACC,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC9C,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAA;YAE/D,gBAAgB,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAA;YAErD,SAAS,IAAI,CAAC,CAAA;SACd;aAAM,IACN,iBAAiB,IAAI,KAAK;YAC1B,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAEvC,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAA;YAEjE,gBAAgB,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAA;YAErD,SAAS,IAAI,CAAC,CAAA;SACd;aAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1E,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAExE,MAAM,gBAAgB,GAAG,GAAG,eAAe,OAAO,aAAa,EAAE,CAAA;YAEjE,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;SACjD;KACD;IAED,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAkB;IAC9D,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClE,MAAM,oBAAoB,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnE,IAAI,gBAAwB,CAAA;IAE5B,IAAI,mBAAmB,IAAI,EAAE,IAAI,oBAAoB,IAAI,EAAE,EAAE;QAC5D,gBAAgB,GAAG,GAAG,mBAAmB,IAAI,oBAAoB,EAAE,CAAA;KACnE;SAAM,IAAI,mBAAmB,IAAI,EAAE,IAAI,mBAAmB,GAAG,EAAE,IAAI,CAAC,IAAI,oBAAoB,GAAG,EAAE,EAAE;QACnG,gBAAgB,GAAG,GAAG,mBAAmB,OAAO,oBAAoB,EAAE,CAAA;KACtE;SAAM;QACN,gBAAgB,GAAG,UAAU,CAAA;KAC7B;IAED,OAAO,gBAAgB,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,YAAoB;IAClE,MAAM,mBAAmB,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACpE,MAAM,oBAAoB,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAErE,IAAI,gBAAwB,CAAA;IAE5B,IAAI,mBAAmB,IAAI,EAAE,IAAI,mBAAmB,GAAG,EAAE,IAAI,CAAC,EAAE;QAC/D,gBAAgB,GAAG,GAAG,mBAAmB,IAAI,oBAAoB,GAAG,CAAA;KACpE;SAAM;QACN,gBAAgB,GAAG,YAAY,CAAA;KAC/B;IAED,OAAO,gBAAgB,CAAA;AACxB,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[], normalize?: boolean, rate?: number, pitch?: number, pitchRange?: number): Promise<{
8
+ export declare function preprocessAndSynthesizeSentence(sentence: string, espeakVoice: string, lexicons?: Lexicon[], normalizeText?: boolean, rate?: number, pitch?: number, pitchRange?: number): Promise<{
9
9
  referenceSynthesizedAudio: RawAudio;
10
10
  referenceTimeline: Timeline;
11
11
  fragments: string[];
@@ -1,13 +1,13 @@
1
- import { concatFloat32Arrays, logToStderr, objToString } from "../utilities/Utilities.js";
1
+ import { concatFloat32Arrays, logToStderr, objToString, simplifyPunctuationCharacters } from "../utilities/Utilities.js";
2
2
  import { int16PcmToFloat32 } from "../audio/AudioBufferConversion.js";
3
3
  import { Logger } from '../utilities/Logger.js';
4
4
  import { WasmMemoryManager } from "../utilities/WasmMemoryManager.js";
5
5
  import { getEmptyRawAudio } from "../audio/AudioUtilities.js";
6
6
  import { playAudioWithTimelinePhones } from "../audio/AudioPlayer.js";
7
- import * as CompromiseNLP from "../nlp/CompromiseNLP.js";
8
7
  import { getNormalizationMapForSpeech } from "../nlp/TextNormalizer.js";
9
8
  import { ipaPhoneToKirshenbaum } from "../nlp/PhoneConversion.js";
10
9
  import { splitToWords } from "../nlp/Segmentation.js";
10
+ import { tryGetFirstLexiconSubstitution } from "../nlp/Lexicon.js";
11
11
  import { phonemizeSentence } from "../nlp/EspeakPhonemizer.js";
12
12
  const log = logToStderr;
13
13
  let espeakInstance;
@@ -40,7 +40,7 @@ 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 = [], normalize = true, rate = 150, pitch = 50, pitchRange = 50) {
43
+ export async function preprocessAndSynthesizeSentence(sentence, espeakVoice, lexicons = [], normalizeText = true, rate, pitch, pitchRange) {
44
44
  const logger = new Logger();
45
45
  await logger.startAsync("Tokenize and analyze text");
46
46
  let fragments;
@@ -49,47 +49,34 @@ export async function preprocessAndSynthesizeSentence(sentence, espeakVoice, lex
49
49
  if (espeakVoice.startsWith("en")) {
50
50
  fragments = [];
51
51
  preprocessedFragments = [];
52
- const parsedSentence = await CompromiseNLP.parse(sentence);
53
- const terms = parsedSentence.flatMap(s => s);
54
- const normalizationMap = getNormalizationMapForSpeech(terms, espeakVoice);
55
- for (let termIndex = 0; termIndex < terms.length; termIndex++) {
56
- const term = terms[termIndex];
57
- const trimmedPreText = term.preText.trim();
58
- if (trimmedPreText != "") {
59
- fragments.push(trimmedPreText);
60
- preprocessedFragments.push(trimmedPreText);
52
+ const words = (await splitToWords(sentence, espeakVoice)).filter(word => word.trim() != "");
53
+ const simplifiedWords = words.map(word => simplifyPunctuationCharacters(word).toLocaleLowerCase());
54
+ const normalizationMap = getNormalizationMapForSpeech(simplifiedWords, espeakVoice);
55
+ for (let wordIndex = 0; wordIndex < words.length; wordIndex++) {
56
+ const word = words[wordIndex];
57
+ const substitutionPhonemes = tryGetFirstLexiconSubstitution(simplifiedWords, wordIndex, lexicons, espeakVoice);
58
+ if (substitutionPhonemes) {
59
+ phonemizedFragmentsSubstitutions.set(fragments.length, substitutionPhonemes);
60
+ const referenceIPA = (await textToPhonemes(word, espeakVoice, true)).replaceAll("_", " ");
61
+ const referenceKirshenbaum = (await textToPhonemes(word, espeakVoice, false)).replaceAll("_", "");
62
+ const kirshenbaumPhonemes = substitutionPhonemes.map(phone => ipaPhoneToKirshenbaum(phone)).join("");
63
+ logger.log(`\nLexicon substitution for '${word}': IPA: ${substitutionPhonemes.join(" ")} (original: ${referenceIPA}), Kirshenbaum: ${kirshenbaumPhonemes} (reference: ${referenceKirshenbaum})`);
64
+ const substitutionPhonemesFragment = ` [[${kirshenbaumPhonemes}]] `;
65
+ preprocessedFragments.push(substitutionPhonemesFragment);
61
66
  }
62
- const termText = term.text;
63
- if (termText != "") {
64
- const substitutionPhonemes = CompromiseNLP.tryMatchInLexicons(term, lexicons, espeakVoice);
65
- if (substitutionPhonemes) {
66
- phonemizedFragmentsSubstitutions.set(fragments.length, substitutionPhonemes);
67
- const referenceIPA = (await textToPhonemes(termText, espeakVoice, true)).replaceAll("_", " ");
68
- const referenceKirshenbaum = (await textToPhonemes(termText, espeakVoice, false)).replaceAll("_", "");
69
- const kirshenbaumPhonemes = substitutionPhonemes.map(phone => ipaPhoneToKirshenbaum(phone)).join("");
70
- logger.log(`\nLexicon substitution for '${termText}': IPA: ${substitutionPhonemes.join(" ")} (original: ${referenceIPA}), Kirshenbaum: ${kirshenbaumPhonemes} (reference: ${referenceKirshenbaum})`);
71
- const substitutionPhonemesFragment = ` [[${kirshenbaumPhonemes}]] `;
72
- preprocessedFragments.push(substitutionPhonemesFragment);
67
+ else {
68
+ let normalizedFragment = undefined;
69
+ if (normalizeText) {
70
+ normalizedFragment = normalizationMap.get(wordIndex);
71
+ }
72
+ if (normalizedFragment) {
73
+ preprocessedFragments.push(normalizedFragment);
73
74
  }
74
75
  else {
75
- let normalizedFragment = undefined;
76
- if (normalize) {
77
- normalizedFragment = normalizationMap.get(termIndex);
78
- }
79
- if (normalizedFragment) {
80
- preprocessedFragments.push(normalizedFragment);
81
- }
82
- else {
83
- preprocessedFragments.push(termText);
84
- }
76
+ preprocessedFragments.push(word);
85
77
  }
86
- fragments.push(termText);
87
- }
88
- const trimmedPostText = term.postText.trim();
89
- if (trimmedPostText != "") {
90
- fragments.push(trimmedPostText);
91
- preprocessedFragments.push(trimmedPostText);
92
78
  }
79
+ fragments.push(word);
93
80
  }
94
81
  }
95
82
  else {
@@ -97,7 +84,7 @@ export async function preprocessAndSynthesizeSentence(sentence, espeakVoice, lex
97
84
  preprocessedFragments = fragments;
98
85
  }
99
86
  logger.start("Synthesize preprocessed fragments with eSpeak");
100
- const { rawAudio: referenceSynthesizedAudio, timeline: referenceTimeline } = await synthesizeFragments(preprocessedFragments, espeakVoice, false);
87
+ const { rawAudio: referenceSynthesizedAudio, timeline: referenceTimeline } = await synthesizeFragments(preprocessedFragments, espeakVoice, false, rate, pitch, pitchRange);
101
88
  await logger.startAsync("Build phonemized tokens");
102
89
  const phonemizedSentence = [];
103
90
  let wordIndex = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"EspeakTTS.js","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EspeakTTS.js","sourceRoot":"","sources":["../../src/synthesis/EspeakTTS.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "0.2.9",
3
+ "version": "0.3.0",
4
4
  "description": "An integrated speech toolbox designed with end-users in mind.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0-only",