echogarden 2.5.0 → 2.5.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.
- package/data/lexicons/heteronyms.en.json +4 -4
- package/data/lexicons/words.en.json +240 -0
- package/dist/nlp/PhoneConversion.js +4 -3
- package/dist/nlp/PhoneConversion.js.map +1 -1
- package/dist/nlp/TextNormalizer.d.ts +1 -1
- package/dist/nlp/TextNormalizer.js +30 -25
- package/dist/nlp/TextNormalizer.js.map +1 -1
- package/dist/synthesis/EspeakTTS.js +28 -15
- package/dist/synthesis/EspeakTTS.js.map +1 -1
- package/package.json +10 -10
- package/src/nlp/PhoneConversion.ts +4 -3
- package/src/nlp/TextNormalizer.ts +36 -25
- package/src/synthesis/EspeakTTS.ts +31 -16
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
],
|
|
15
15
|
|
|
16
16
|
"precededBy": [
|
|
17
|
-
"i", "he", "she", "it", "it's", "who", "have", "be", "been", "is", "are", "isn't", "was", "were", "has", "had", "hadn't", "i've", "we've", "you've", "would've", "might've", "as", "widely", "recently", "haven't", "having", "well", "being", "gotten", "letter", "story", "statement", "message", "line", "caption", "book", "ruling", "tweet", "email", "recipe", "instructions", "list", "menu", "poster", "passage", "chapter", "paragraph", "sentence", "which", "that", "once", "already", "previously", "formerly", "ever"
|
|
17
|
+
"i", "he", "she", "it", "it's", "who", "have", "be", "been", "is", "are", "isn't", "was", "were", "has", "had", "hadn't", "i've", "we've", "you've", "they've", "would've", "might've", "as", "widely", "recently", "haven't", "having", "well", "being", "gotten", "letter", "story", "statement", "message", "line", "caption", "book", "ruling", "tweet", "email", "recipe", "instructions", "list", "menu", "poster", "passage", "chapter", "paragraph", "sentence", "which", "that", "once", "already", "previously", "formerly", "ever"
|
|
18
18
|
],
|
|
19
19
|
|
|
20
20
|
"notPrecededBy": [
|
|
@@ -379,7 +379,7 @@
|
|
|
379
379
|
{
|
|
380
380
|
"pronunciation": {
|
|
381
381
|
"espeak": {
|
|
382
|
-
"en-us": "p ɹ
|
|
382
|
+
"en-us": "p ɹ ˈɑː s ɛ s",
|
|
383
383
|
"en-gb-x-rp": "p ɹ əʊ s ˈɛ s"
|
|
384
384
|
}
|
|
385
385
|
},
|
|
@@ -1784,7 +1784,7 @@
|
|
|
1784
1784
|
{
|
|
1785
1785
|
"pronunciation": {
|
|
1786
1786
|
"espeak": {
|
|
1787
|
-
"en-us": "ɹ
|
|
1787
|
+
"en-us": "ɹ i s ˈɜː r tʃ",
|
|
1788
1788
|
"en-gb-x-rp": "ɹ ɪ s ˈɜː tʃ"
|
|
1789
1789
|
}
|
|
1790
1790
|
},
|
|
@@ -1814,7 +1814,7 @@
|
|
|
1814
1814
|
{
|
|
1815
1815
|
"pronunciation": {
|
|
1816
1816
|
"espeak": {
|
|
1817
|
-
"en-us": "ɹ ˈi s ɜː tʃ",
|
|
1817
|
+
"en-us": "ɹ ˈi s ɜː r tʃ",
|
|
1818
1818
|
"en-gb-x-rp": "ɹ ɪ s ˈɜː tʃ"
|
|
1819
1819
|
}
|
|
1820
1820
|
},
|
|
@@ -1220,6 +1220,246 @@
|
|
|
1220
1220
|
}
|
|
1221
1221
|
}
|
|
1222
1222
|
],
|
|
1223
|
+
"multimodal": [
|
|
1224
|
+
{
|
|
1225
|
+
"pronunciation": {
|
|
1226
|
+
"espeak": {
|
|
1227
|
+
"en-us": "m ˌʌ l t i m ˈoʊ d əl",
|
|
1228
|
+
"en-gb-x-rp": "m ˌʌ l t i m ˈəʊ d əl"
|
|
1229
|
+
}
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
],
|
|
1233
|
+
"multisensory": [
|
|
1234
|
+
{
|
|
1235
|
+
"pronunciation": {
|
|
1236
|
+
"espeak": {
|
|
1237
|
+
"en-us": "m ˌʌ l t i s ˈɛ n s ɚ ɹ i",
|
|
1238
|
+
"en-gb-x-rp": "m ˌʌ l t i s ˈɛ n s ə ɹ ɪ"
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
],
|
|
1243
|
+
"multimedia": [
|
|
1244
|
+
{
|
|
1245
|
+
"pronunciation": {
|
|
1246
|
+
"espeak": {
|
|
1247
|
+
"en-us": "m ˌʌ l t i m ˈiː d iː ə",
|
|
1248
|
+
"en-gb-x-rp": "m ˌʌ l t i m ˈiː d iː ɐ"
|
|
1249
|
+
}
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1252
|
+
],
|
|
1253
|
+
"era": [
|
|
1254
|
+
{
|
|
1255
|
+
"pronunciation": {
|
|
1256
|
+
"espeak": {
|
|
1257
|
+
"en-us": "ˈe ɹ ə",
|
|
1258
|
+
"en-gb-x-rp": "ˈiə ɹ ɐ"
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
],
|
|
1263
|
+
"behemoth": [
|
|
1264
|
+
{
|
|
1265
|
+
"pronunciation": {
|
|
1266
|
+
"espeak": {
|
|
1267
|
+
"en-us": "b ɪ h ˈiː m ɑː θ",
|
|
1268
|
+
"en-gb-x-rp": "b ɪ h ˈiː m ɒ θ"
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
],
|
|
1273
|
+
"pretrained": [
|
|
1274
|
+
{
|
|
1275
|
+
"pronunciation": {
|
|
1276
|
+
"espeak": {
|
|
1277
|
+
"en-us": "p ɹ ˈi t ɹ ˌeɪ n d",
|
|
1278
|
+
"en-gb-x-rp": "p ɹ ˈi t ɹ ˌeɪ n d"
|
|
1279
|
+
}
|
|
1280
|
+
}
|
|
1281
|
+
}
|
|
1282
|
+
],
|
|
1283
|
+
"embodiment": [
|
|
1284
|
+
{
|
|
1285
|
+
"pronunciation": {
|
|
1286
|
+
"espeak": {
|
|
1287
|
+
"en-us": "ɛ m b ˈɑː d i m ə n t",
|
|
1288
|
+
"en-gb-x-rp": "ɪ m b ˈɒ d i m ə n t"
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
],
|
|
1293
|
+
"uber": [
|
|
1294
|
+
{
|
|
1295
|
+
"pronunciation": {
|
|
1296
|
+
"espeak": {
|
|
1297
|
+
"en-us": "ˈuː b ɚ",
|
|
1298
|
+
"en-gb-x-rp": "ˈuː b ɐ"
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
],
|
|
1303
|
+
"rebook": [
|
|
1304
|
+
{
|
|
1305
|
+
"pronunciation": {
|
|
1306
|
+
"espeak": {
|
|
1307
|
+
"en-us": "ɹ i b ˈʊ k",
|
|
1308
|
+
"en-gb-x-rp": "ɹ i b ˈʊ k"
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
],
|
|
1313
|
+
"asynchronous": [
|
|
1314
|
+
{
|
|
1315
|
+
"pronunciation": {
|
|
1316
|
+
"espeak": {
|
|
1317
|
+
"en-us": "ˈeɪ s ˌɪ ŋ k ɹ ə n ə s",
|
|
1318
|
+
"en-gb-x-rp": "ˈeɪ s ˌɪ ŋ k ɹ ə n ə s"
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
],
|
|
1323
|
+
"async": [
|
|
1324
|
+
{
|
|
1325
|
+
"pronunciation": {
|
|
1326
|
+
"espeak": {
|
|
1327
|
+
"en-us": "ˈeɪ s ˌɪ ŋ k",
|
|
1328
|
+
"en-gb-x-rp": "ˈeɪ s ˌɪ ŋ k"
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1332
|
+
],
|
|
1333
|
+
"rewritten": [
|
|
1334
|
+
{
|
|
1335
|
+
"pronunciation": {
|
|
1336
|
+
"espeak": {
|
|
1337
|
+
"en-us": "ɹ i ɹ ˈɪ ʔ n",
|
|
1338
|
+
"en-gb-x-rp": "ɹ i ɹ ˈɪ ʔ n"
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
],
|
|
1343
|
+
"copies": [
|
|
1344
|
+
{
|
|
1345
|
+
"pronunciation": {
|
|
1346
|
+
"espeak": {
|
|
1347
|
+
"en-us": "k ˈɑː p i z",
|
|
1348
|
+
"en-gb-x-rp": "k ˈɒ p i z"
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
}
|
|
1352
|
+
],
|
|
1353
|
+
"transaction": [
|
|
1354
|
+
{
|
|
1355
|
+
"pronunciation": {
|
|
1356
|
+
"espeak": {
|
|
1357
|
+
"en-us": "t ɹ æ n z ˈæ k ʃ ə n",
|
|
1358
|
+
"en-gb-x-rp": "t ɹ æ n z ˈæ k ʃ ə n"
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
],
|
|
1363
|
+
"transactions": [
|
|
1364
|
+
{
|
|
1365
|
+
"pronunciation": {
|
|
1366
|
+
"espeak": {
|
|
1367
|
+
"en-us": "t ɹ æ n z ˈæ k ʃ ə n z",
|
|
1368
|
+
"en-gb-x-rp": "t ɹ æ n z ˈæ k ʃ ə n z"
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
],
|
|
1373
|
+
"transactional": [
|
|
1374
|
+
{
|
|
1375
|
+
"pronunciation": {
|
|
1376
|
+
"espeak": {
|
|
1377
|
+
"en-us": "t ɹ æ n z ˈæ k ʃ ə n əl",
|
|
1378
|
+
"en-gb-x-rp": "t ɹ æ n z ˈæ k ʃ ə n əl"
|
|
1379
|
+
}
|
|
1380
|
+
}
|
|
1381
|
+
}
|
|
1382
|
+
],
|
|
1383
|
+
"environment": [
|
|
1384
|
+
{
|
|
1385
|
+
"pronunciation": {
|
|
1386
|
+
"espeak": {
|
|
1387
|
+
"en-us": "ɪ n v ˈaɪ ɹ ə m ə n t",
|
|
1388
|
+
"en-gb-x-rp": "ɪ n v ˈaɪ ɹ ə m ə n t"
|
|
1389
|
+
}
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1392
|
+
],
|
|
1393
|
+
"environmental": [
|
|
1394
|
+
{
|
|
1395
|
+
"pronunciation": {
|
|
1396
|
+
"espeak": {
|
|
1397
|
+
"en-us": "ɪ n v ˈaɪ ɹ ə m ə n t əl",
|
|
1398
|
+
"en-gb-x-rp": "ɪ n v ˈaɪ ɹ ə m ə n t əl"
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
}
|
|
1402
|
+
],
|
|
1403
|
+
"auxiliary": [
|
|
1404
|
+
{
|
|
1405
|
+
"pronunciation": {
|
|
1406
|
+
"espeak": {
|
|
1407
|
+
"en-us": "ɑː ɡ z ˈɪ l i eɹ i",
|
|
1408
|
+
"en-gb-x-rp": "ɔː ɡ z ˈɪ l i əɹ i"
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
],
|
|
1413
|
+
"stylesheet": [
|
|
1414
|
+
{
|
|
1415
|
+
"pronunciation": {
|
|
1416
|
+
"espeak": {
|
|
1417
|
+
"en-us": "s t ˈaɪ l ʃ ˌiː t",
|
|
1418
|
+
"en-gb-x-rp": " s t ˈaɪ l ʃ ˌiː t"
|
|
1419
|
+
}
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
],
|
|
1423
|
+
"stylesheets": [
|
|
1424
|
+
{
|
|
1425
|
+
"pronunciation": {
|
|
1426
|
+
"espeak": {
|
|
1427
|
+
"en-us": "s t ˈaɪ l ʃ ˌiː t s",
|
|
1428
|
+
"en-gb-x-rp": " s t ˈaɪ l ʃ ˌiː t s"
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1432
|
+
],
|
|
1433
|
+
"favicon": [
|
|
1434
|
+
{
|
|
1435
|
+
"pronunciation": {
|
|
1436
|
+
"espeak": {
|
|
1437
|
+
"en-us": "f ˌæ v ˈaɪ k ɑː n",
|
|
1438
|
+
"en-gb-x-rp": " f ˌæ v ˈaɪ k ɑː n"
|
|
1439
|
+
}
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1442
|
+
],
|
|
1443
|
+
"favicons": [
|
|
1444
|
+
{
|
|
1445
|
+
"pronunciation": {
|
|
1446
|
+
"espeak": {
|
|
1447
|
+
"en-us": "f ˌæ v ˈaɪ k ɑː n z",
|
|
1448
|
+
"en-gb-x-rp": "f ˌæ v ˈaɪ k ɑː n z"
|
|
1449
|
+
}
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
],
|
|
1453
|
+
"researcher": [
|
|
1454
|
+
{
|
|
1455
|
+
"pronunciation": {
|
|
1456
|
+
"espeak": {
|
|
1457
|
+
"en-us": "ɹ i s ˈɜː r tʃ ɚ",
|
|
1458
|
+
"en-gb-x-rp": "ɹ ɪ s ˈɜː tʃ ɐ ɹ"
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
],
|
|
1223
1463
|
"aka [disabled]": [
|
|
1224
1464
|
{
|
|
1225
1465
|
"pronunciation": {
|
|
@@ -3,7 +3,7 @@ export function ipaPhoneToKirshenbaum(ipaPhone) {
|
|
|
3
3
|
for (const char of ipaPhone) {
|
|
4
4
|
const convertedChar = ipaToKirshenbaum[char];
|
|
5
5
|
if (convertedChar == undefined) {
|
|
6
|
-
throw new Error(`Couldn't convert IPA character '${char}' (part of phone '${ipaPhone}' the Kirshenbaum notation`);
|
|
6
|
+
throw new Error(`Couldn't convert IPA character '${char}' (part of phone '${ipaPhone}') to the Kirshenbaum notation`);
|
|
7
7
|
}
|
|
8
8
|
result += convertedChar || '_';
|
|
9
9
|
}
|
|
@@ -243,8 +243,9 @@ export const ipaToKirshenbaum = {
|
|
|
243
243
|
// Open-mid:
|
|
244
244
|
'ɛ': 'E',
|
|
245
245
|
'œ': 'W',
|
|
246
|
-
|
|
247
|
-
'
|
|
246
|
+
'ɜ': '3', // eSpeak
|
|
247
|
+
'ɜː': '3:',
|
|
248
|
+
//'ɜ': 'V"',
|
|
248
249
|
'ɞ': 'O"',
|
|
249
250
|
'ʌ': 'V',
|
|
250
251
|
'ɔ': 'O',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneConversion.js","sourceRoot":"","sources":["../../src/nlp/PhoneConversion.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACrD,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAE5C,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,qBAAqB,QAAQ,
|
|
1
|
+
{"version":3,"file":"PhoneConversion.js","sourceRoot":"","sources":["../../src/nlp/PhoneConversion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function getNormalizedFragmentsForSpeech(words: string[], language: string): {
|
|
1
|
+
export declare function getNormalizedFragmentsForSpeech(words: string[], nonWhitespaceWords: string[], nonWhitespaceWordOriginalIndex: number[], language: string): {
|
|
2
2
|
normalizedFragments: string[];
|
|
3
3
|
referenceFragments: string[];
|
|
4
4
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getShortLanguageCode } from '../utilities/Locale.js';
|
|
2
2
|
import { substituteCharactersUsingLookup } from '../utilities/StringUtilities.js';
|
|
3
|
-
export function getNormalizedFragmentsForSpeech(words, language) {
|
|
3
|
+
export function getNormalizedFragmentsForSpeech(words, nonWhitespaceWords, nonWhitespaceWordOriginalIndex, language) {
|
|
4
4
|
language = getShortLanguageCode(language);
|
|
5
5
|
if (language != 'en') {
|
|
6
|
-
return { normalizedFragments: [...
|
|
6
|
+
return { normalizedFragments: [...nonWhitespaceWords], referenceFragments: [...nonWhitespaceWords] };
|
|
7
7
|
}
|
|
8
8
|
const numberPattern = /^[0-9][0-9\,\.]*$/;
|
|
9
9
|
const fourDigitYearPattern = /^[0-9][0-9][0-9][0-9]$/;
|
|
@@ -29,56 +29,61 @@ export function getNormalizedFragmentsForSpeech(words, language) {
|
|
|
29
29
|
];
|
|
30
30
|
const normalizedFragments = [];
|
|
31
31
|
const referenceFragments = [];
|
|
32
|
-
for (let wordIndex = 0; wordIndex <
|
|
33
|
-
const word =
|
|
32
|
+
for (let wordIndex = 0; wordIndex < nonWhitespaceWords.length; wordIndex++) {
|
|
33
|
+
const word = nonWhitespaceWords[wordIndex];
|
|
34
34
|
const lowerCaseWord = word.toLowerCase();
|
|
35
|
-
const
|
|
36
|
-
const
|
|
35
|
+
const nextNonWhitespaceWords = nonWhitespaceWords.slice(wordIndex + 1);
|
|
36
|
+
const nextNonWhitespaceWord = nextNonWhitespaceWords[0];
|
|
37
|
+
const originalWordIndex = nonWhitespaceWordOriginalIndex[wordIndex];
|
|
38
|
+
const isFollowedByWhitespace = words[originalWordIndex + 1]?.trim().length === 0;
|
|
37
39
|
if ( // Normalize a four digit year pattern, e.g. 'in 1995'.
|
|
38
40
|
wordsPrecedingAYear.includes(lowerCaseWord) &&
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
isFollowedByWhitespace &&
|
|
42
|
+
fourDigitYearPattern.test(nextNonWhitespaceWord)) {
|
|
43
|
+
const normalizedString = normalizeFourDigitYearString(nextNonWhitespaceWord);
|
|
41
44
|
normalizedFragments.push(word);
|
|
42
45
|
referenceFragments.push(word);
|
|
43
46
|
normalizedFragments.push(normalizedString);
|
|
44
|
-
referenceFragments.push(
|
|
47
|
+
referenceFragments.push(nextNonWhitespaceWord);
|
|
45
48
|
wordIndex += 1;
|
|
46
49
|
}
|
|
47
50
|
else if ( // Normalize a four digit decade pattern, e.g. 'the 1980s'.
|
|
48
51
|
wordsPrecedingADecade.includes(lowerCaseWord) &&
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
isFollowedByWhitespace &&
|
|
53
|
+
fourDigitDecadePattern.test(nextNonWhitespaceWord)) {
|
|
54
|
+
const normalizedString = normalizeFourDigitDecadeString(nextNonWhitespaceWord);
|
|
51
55
|
normalizedFragments.push(word);
|
|
52
56
|
referenceFragments.push(word);
|
|
53
57
|
normalizedFragments.push(normalizedString);
|
|
54
|
-
referenceFragments.push(
|
|
58
|
+
referenceFragments.push(nextNonWhitespaceWord);
|
|
55
59
|
wordIndex += 1;
|
|
56
60
|
}
|
|
57
|
-
else if ( // Normalize a year range pattern, e.g. '1835-1896'
|
|
58
|
-
fourDigitYearRangePattern.test(words.slice(
|
|
59
|
-
normalizedFragments.push(normalizeFourDigitYearString(
|
|
60
|
-
referenceFragments.push(
|
|
61
|
+
else if ( // Normalize a year range pattern, e.g. '1835-1896', ensure there are no spaces between words
|
|
62
|
+
fourDigitYearRangePattern.test(words.slice(originalWordIndex, originalWordIndex + 3).join(''))) {
|
|
63
|
+
normalizedFragments.push(normalizeFourDigitYearString(nonWhitespaceWords[wordIndex]));
|
|
64
|
+
referenceFragments.push(nonWhitespaceWords[wordIndex]);
|
|
61
65
|
normalizedFragments.push('to');
|
|
62
|
-
referenceFragments.push(
|
|
63
|
-
normalizedFragments.push(normalizeFourDigitYearString(
|
|
64
|
-
referenceFragments.push(
|
|
66
|
+
referenceFragments.push(nonWhitespaceWords[wordIndex + 1]);
|
|
67
|
+
normalizedFragments.push(normalizeFourDigitYearString(nonWhitespaceWords[wordIndex + 2]));
|
|
68
|
+
referenceFragments.push(nonWhitespaceWords[wordIndex + 2]);
|
|
65
69
|
wordIndex += 2;
|
|
66
70
|
}
|
|
67
71
|
else if ( // Normalize a currency pattern, e.g. '$53.1 million', '€3.53'
|
|
68
72
|
symbolsPrecedingACurrency.includes(lowerCaseWord) &&
|
|
69
|
-
|
|
73
|
+
!isFollowedByWhitespace &&
|
|
74
|
+
numberPattern.test(nextNonWhitespaceWord)) {
|
|
70
75
|
let currencyWord = symbolsPrecedingACurrencyAsWords[symbolsPrecedingACurrency.indexOf(lowerCaseWord)];
|
|
71
|
-
if (wordsSucceedingACurrency.includes(
|
|
72
|
-
const normalizedString = `${
|
|
76
|
+
if (wordsSucceedingACurrency.includes(nextNonWhitespaceWords[1]?.toLowerCase())) {
|
|
77
|
+
const normalizedString = `${nextNonWhitespaceWord} ${nextNonWhitespaceWords[1]} ${currencyWord}`;
|
|
73
78
|
normalizedFragments.push(normalizedString);
|
|
74
|
-
const referenceString = `${word}${
|
|
79
|
+
const referenceString = `${word}${nextNonWhitespaceWord} ${nextNonWhitespaceWords[1]}`;
|
|
75
80
|
referenceFragments.push(referenceString);
|
|
76
81
|
wordIndex += 2;
|
|
77
82
|
}
|
|
78
83
|
else {
|
|
79
|
-
const normalizedString = `${
|
|
84
|
+
const normalizedString = `${nextNonWhitespaceWord} ${currencyWord}`;
|
|
80
85
|
normalizedFragments.push(normalizedString);
|
|
81
|
-
const referenceString = `${word}${
|
|
86
|
+
const referenceString = `${word}${nextNonWhitespaceWord}`;
|
|
82
87
|
referenceFragments.push(referenceString);
|
|
83
88
|
wordIndex += 1;
|
|
84
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextNormalizer.js","sourceRoot":"","sources":["../../src/nlp/TextNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAA;AAEjF,MAAM,UAAU,+BAA+B,
|
|
1
|
+
{"version":3,"file":"TextNormalizer.js","sourceRoot":"","sources":["../../src/nlp/TextNormalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,24 +28,37 @@ export async function preprocessAndSynthesize(text, language, espeakOptions, lex
|
|
|
28
28
|
preprocessedFragments = [];
|
|
29
29
|
let words = await splitToWords(text, language);
|
|
30
30
|
// Merge repeating non-words to a single word to work around eSpeak bug
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
{
|
|
32
|
+
const wordsWithMerges = [];
|
|
33
|
+
for (let i = 0; i < words.length; i++) {
|
|
34
|
+
const currentWord = words[i];
|
|
35
|
+
const previousWord = words[i - 1];
|
|
36
|
+
if (i > 0 &&
|
|
37
|
+
currentWord === previousWord &&
|
|
38
|
+
!['[', ']'].includes(currentWord) && // Work around eSpeak-NG marker bug with repeating squared brackets
|
|
39
|
+
!wordCharacterPattern.test(currentWord)) {
|
|
40
|
+
wordsWithMerges[wordsWithMerges.length - 1] += currentWord;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
wordsWithMerges.push(currentWord);
|
|
44
|
+
}
|
|
40
45
|
}
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
words = wordsWithMerges;
|
|
47
|
+
}
|
|
48
|
+
// Remove words containing only whitespace
|
|
49
|
+
const nonWhitespaceWords = [];
|
|
50
|
+
const nonWhitespaceWordsOriginalIndex = [];
|
|
51
|
+
{
|
|
52
|
+
for (let i = 0; i < words.length; i++) {
|
|
53
|
+
const word = words[i];
|
|
54
|
+
const wordIsWhitespace = word.trim().length === 0;
|
|
55
|
+
if (!wordIsWhitespace) {
|
|
56
|
+
nonWhitespaceWords.push(word);
|
|
57
|
+
nonWhitespaceWordsOriginalIndex.push(i);
|
|
58
|
+
}
|
|
43
59
|
}
|
|
44
60
|
}
|
|
45
|
-
|
|
46
|
-
// Trim words and remove words containing only whitespace
|
|
47
|
-
words = words.map(word => word.trim()).filter(word => word !== '');
|
|
48
|
-
const { normalizedFragments, referenceFragments } = getNormalizedFragmentsForSpeech(words, language);
|
|
61
|
+
const { normalizedFragments, referenceFragments } = getNormalizedFragmentsForSpeech(words, nonWhitespaceWords, nonWhitespaceWordsOriginalIndex, language);
|
|
49
62
|
const simplifiedFragments = normalizedFragments.map(word => simplifyPunctuationCharacters(word).toLocaleLowerCase());
|
|
50
63
|
if ([`'`].includes(simplifiedFragments[0])) {
|
|
51
64
|
normalizedFragments[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": "2.5.
|
|
3
|
+
"version": "2.5.1",
|
|
4
4
|
"description": "An easy-to-use speech toolset. Includes tools for synthesis, recognition, alignment, speech translation, language detection, source separation and more.",
|
|
5
5
|
"author": "Rotem Dan",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"echogarden": "./dist/cli/CLILauncher.js"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@aws-sdk/client-polly": "^3.
|
|
56
|
-
"@aws-sdk/client-transcribe-streaming": "^3.
|
|
55
|
+
"@aws-sdk/client-polly": "^3.787.0",
|
|
56
|
+
"@aws-sdk/client-transcribe-streaming": "^3.787.0",
|
|
57
57
|
"@echogarden/audio-io": "^0.3.0",
|
|
58
58
|
"@echogarden/espeak-ng-emscripten": "^0.3.3",
|
|
59
59
|
"@echogarden/fasttext-wasm": "^0.1.0",
|
|
@@ -79,13 +79,13 @@
|
|
|
79
79
|
"html-to-text": "^9.0.5",
|
|
80
80
|
"import-meta-resolve": "^4.1.0",
|
|
81
81
|
"jieba-wasm": "^2.2.0",
|
|
82
|
-
"jsdom": "^26.
|
|
82
|
+
"jsdom": "^26.1.0",
|
|
83
83
|
"json5": "^2.2.3",
|
|
84
84
|
"kuromoji": "^0.1.2",
|
|
85
|
-
"microsoft-cognitiveservices-speech-sdk": "^1.43.
|
|
85
|
+
"microsoft-cognitiveservices-speech-sdk": "^1.43.1",
|
|
86
86
|
"msgpack-lite": "^0.1.26",
|
|
87
87
|
"onnxruntime-node": "^1.21.0",
|
|
88
|
-
"openai": "^4.
|
|
88
|
+
"openai": "^4.95.1",
|
|
89
89
|
"sam-js": "^0.3.1",
|
|
90
90
|
"strip-ansi": "^7.1.0",
|
|
91
91
|
"tar": "^7.4.3",
|
|
@@ -112,11 +112,11 @@
|
|
|
112
112
|
"@types/graceful-fs": "^4.1.9",
|
|
113
113
|
"@types/jsdom": "^21.1.7",
|
|
114
114
|
"@types/msgpack-lite": "^0.1.11",
|
|
115
|
-
"@types/node": "^22.
|
|
115
|
+
"@types/node": "^22.14.1",
|
|
116
116
|
"@types/tar": "^6.1.13",
|
|
117
|
-
"@types/ws": "^8.18.
|
|
118
|
-
"ts-json-schema-generator": "^2.
|
|
119
|
-
"typescript": "^5.8.
|
|
117
|
+
"@types/ws": "^8.18.1",
|
|
118
|
+
"ts-json-schema-generator": "^2.4.0",
|
|
119
|
+
"typescript": "^5.8.3"
|
|
120
120
|
},
|
|
121
121
|
"overrides": {
|
|
122
122
|
"whatwg-url": "^14.0.0"
|
|
@@ -5,7 +5,7 @@ export function ipaPhoneToKirshenbaum(ipaPhone: string) {
|
|
|
5
5
|
const convertedChar = ipaToKirshenbaum[char]
|
|
6
6
|
|
|
7
7
|
if (convertedChar == undefined) {
|
|
8
|
-
throw new Error(`Couldn't convert IPA character '${char}' (part of phone '${ipaPhone}' the Kirshenbaum notation`)
|
|
8
|
+
throw new Error(`Couldn't convert IPA character '${char}' (part of phone '${ipaPhone}') to the Kirshenbaum notation`)
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
result += convertedChar || '_'
|
|
@@ -288,8 +288,9 @@ export const ipaToKirshenbaum: Record<string, string> = {
|
|
|
288
288
|
// Open-mid:
|
|
289
289
|
'ɛ': 'E',
|
|
290
290
|
'œ': 'W',
|
|
291
|
-
|
|
292
|
-
'
|
|
291
|
+
'ɜ': '3', // eSpeak
|
|
292
|
+
'ɜː': '3:',
|
|
293
|
+
//'ɜ': 'V"',
|
|
293
294
|
'ɞ': 'O"',
|
|
294
295
|
'ʌ': 'V',
|
|
295
296
|
'ɔ': 'O',
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { getShortLanguageCode } from '../utilities/Locale.js'
|
|
2
2
|
import { substituteCharactersUsingLookup } from '../utilities/StringUtilities.js'
|
|
3
3
|
|
|
4
|
-
export function getNormalizedFragmentsForSpeech(
|
|
4
|
+
export function getNormalizedFragmentsForSpeech(
|
|
5
|
+
words: string[],
|
|
6
|
+
nonWhitespaceWords: string[],
|
|
7
|
+
nonWhitespaceWordOriginalIndex: number[],
|
|
8
|
+
language: string) {
|
|
9
|
+
|
|
5
10
|
language = getShortLanguageCode(language)
|
|
6
11
|
|
|
7
12
|
if (language != 'en') {
|
|
8
|
-
return { normalizedFragments: [...
|
|
13
|
+
return { normalizedFragments: [...nonWhitespaceWords], referenceFragments: [...nonWhitespaceWords] }
|
|
9
14
|
}
|
|
10
15
|
|
|
11
16
|
const numberPattern = /^[0-9][0-9\,\.]*$/
|
|
@@ -41,73 +46,79 @@ export function getNormalizedFragmentsForSpeech(words: string[], language: strin
|
|
|
41
46
|
const normalizedFragments: string[] = []
|
|
42
47
|
const referenceFragments: string[] = []
|
|
43
48
|
|
|
44
|
-
for (let wordIndex = 0; wordIndex <
|
|
45
|
-
const word =
|
|
49
|
+
for (let wordIndex = 0; wordIndex < nonWhitespaceWords.length; wordIndex++) {
|
|
50
|
+
const word = nonWhitespaceWords[wordIndex]
|
|
46
51
|
const lowerCaseWord = word.toLowerCase()
|
|
47
52
|
|
|
48
|
-
const
|
|
49
|
-
const
|
|
53
|
+
const nextNonWhitespaceWords = nonWhitespaceWords.slice(wordIndex + 1)
|
|
54
|
+
const nextNonWhitespaceWord = nextNonWhitespaceWords[0]
|
|
55
|
+
|
|
56
|
+
const originalWordIndex = nonWhitespaceWordOriginalIndex[wordIndex]
|
|
57
|
+
const isFollowedByWhitespace = words[originalWordIndex + 1]?.trim().length === 0
|
|
50
58
|
|
|
51
59
|
if ( // Normalize a four digit year pattern, e.g. 'in 1995'.
|
|
52
60
|
wordsPrecedingAYear.includes(lowerCaseWord) &&
|
|
53
|
-
|
|
61
|
+
isFollowedByWhitespace &&
|
|
62
|
+
fourDigitYearPattern.test(nextNonWhitespaceWord)) {
|
|
54
63
|
|
|
55
|
-
const normalizedString = normalizeFourDigitYearString(
|
|
64
|
+
const normalizedString = normalizeFourDigitYearString(nextNonWhitespaceWord)
|
|
56
65
|
|
|
57
66
|
normalizedFragments.push(word)
|
|
58
67
|
referenceFragments.push(word)
|
|
59
68
|
|
|
60
69
|
normalizedFragments.push(normalizedString)
|
|
61
|
-
referenceFragments.push(
|
|
70
|
+
referenceFragments.push(nextNonWhitespaceWord)
|
|
62
71
|
|
|
63
72
|
wordIndex += 1
|
|
64
73
|
} else if ( // Normalize a four digit decade pattern, e.g. 'the 1980s'.
|
|
65
74
|
wordsPrecedingADecade.includes(lowerCaseWord) &&
|
|
66
|
-
|
|
75
|
+
isFollowedByWhitespace &&
|
|
76
|
+
fourDigitDecadePattern.test(nextNonWhitespaceWord)) {
|
|
67
77
|
|
|
68
|
-
const normalizedString = normalizeFourDigitDecadeString(
|
|
78
|
+
const normalizedString = normalizeFourDigitDecadeString(nextNonWhitespaceWord)
|
|
69
79
|
|
|
70
80
|
normalizedFragments.push(word)
|
|
71
81
|
referenceFragments.push(word)
|
|
72
82
|
|
|
73
83
|
normalizedFragments.push(normalizedString)
|
|
74
|
-
referenceFragments.push(
|
|
84
|
+
referenceFragments.push(nextNonWhitespaceWord)
|
|
75
85
|
|
|
76
86
|
wordIndex += 1
|
|
77
|
-
} else if ( // Normalize a year range pattern, e.g. '1835-1896'
|
|
78
|
-
fourDigitYearRangePattern.test(words.slice(
|
|
87
|
+
} else if ( // Normalize a year range pattern, e.g. '1835-1896', ensure there are no spaces between words
|
|
88
|
+
fourDigitYearRangePattern.test(words.slice(originalWordIndex, originalWordIndex + 3).join(''))) {
|
|
79
89
|
|
|
80
|
-
normalizedFragments.push(normalizeFourDigitYearString(
|
|
81
|
-
referenceFragments.push(
|
|
90
|
+
normalizedFragments.push(normalizeFourDigitYearString(nonWhitespaceWords[wordIndex]))
|
|
91
|
+
referenceFragments.push(nonWhitespaceWords[wordIndex])
|
|
82
92
|
|
|
83
93
|
normalizedFragments.push('to')
|
|
84
|
-
referenceFragments.push(
|
|
94
|
+
referenceFragments.push(nonWhitespaceWords[wordIndex + 1])
|
|
85
95
|
|
|
86
|
-
normalizedFragments.push(normalizeFourDigitYearString(
|
|
87
|
-
referenceFragments.push(
|
|
96
|
+
normalizedFragments.push(normalizeFourDigitYearString(nonWhitespaceWords[wordIndex + 2]))
|
|
97
|
+
referenceFragments.push(nonWhitespaceWords[wordIndex + 2])
|
|
88
98
|
|
|
89
99
|
wordIndex += 2
|
|
90
100
|
} else if ( // Normalize a currency pattern, e.g. '$53.1 million', '€3.53'
|
|
91
101
|
symbolsPrecedingACurrency.includes(lowerCaseWord) &&
|
|
92
|
-
|
|
102
|
+
!isFollowedByWhitespace &&
|
|
103
|
+
numberPattern.test(nextNonWhitespaceWord)) {
|
|
93
104
|
|
|
94
105
|
let currencyWord = symbolsPrecedingACurrencyAsWords[symbolsPrecedingACurrency.indexOf(lowerCaseWord)]
|
|
95
106
|
|
|
96
|
-
if (wordsSucceedingACurrency.includes(
|
|
97
|
-
const normalizedString = `${
|
|
107
|
+
if (wordsSucceedingACurrency.includes(nextNonWhitespaceWords[1]?.toLowerCase())) {
|
|
108
|
+
const normalizedString = `${nextNonWhitespaceWord} ${nextNonWhitespaceWords[1]} ${currencyWord}`
|
|
98
109
|
|
|
99
110
|
normalizedFragments.push(normalizedString)
|
|
100
111
|
|
|
101
|
-
const referenceString = `${word}${
|
|
112
|
+
const referenceString = `${word}${nextNonWhitespaceWord} ${nextNonWhitespaceWords[1]}`
|
|
102
113
|
referenceFragments.push(referenceString)
|
|
103
114
|
|
|
104
115
|
wordIndex += 2
|
|
105
116
|
} else {
|
|
106
|
-
const normalizedString = `${
|
|
117
|
+
const normalizedString = `${nextNonWhitespaceWord} ${currencyWord}`
|
|
107
118
|
|
|
108
119
|
normalizedFragments.push(normalizedString)
|
|
109
120
|
|
|
110
|
-
const referenceString = `${word}${
|
|
121
|
+
const referenceString = `${word}${nextNonWhitespaceWord}`
|
|
111
122
|
referenceFragments.push(referenceString)
|
|
112
123
|
|
|
113
124
|
wordIndex += 1
|
|
@@ -40,30 +40,45 @@ export async function preprocessAndSynthesize(text: string, language: string, es
|
|
|
40
40
|
let words = await splitToWords(text, language)
|
|
41
41
|
|
|
42
42
|
// Merge repeating non-words to a single word to work around eSpeak bug
|
|
43
|
-
|
|
43
|
+
{
|
|
44
|
+
const wordsWithMerges: string[] = []
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
for (let i = 0; i < words.length; i++) {
|
|
47
|
+
const currentWord = words[i]
|
|
48
|
+
const previousWord = words[i - 1]
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
if (
|
|
51
|
+
i > 0 &&
|
|
52
|
+
currentWord === previousWord &&
|
|
53
|
+
!['[', ']'].includes(currentWord) && // Work around eSpeak-NG marker bug with repeating squared brackets
|
|
54
|
+
!wordCharacterPattern.test(currentWord)) {
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
wordsWithMerges[wordsWithMerges.length - 1] += currentWord
|
|
57
|
+
} else {
|
|
58
|
+
wordsWithMerges.push(currentWord)
|
|
59
|
+
}
|
|
58
60
|
}
|
|
61
|
+
|
|
62
|
+
words = wordsWithMerges
|
|
59
63
|
}
|
|
60
64
|
|
|
61
|
-
words
|
|
65
|
+
// Remove words containing only whitespace
|
|
66
|
+
const nonWhitespaceWords: string[] = []
|
|
67
|
+
const nonWhitespaceWordsOriginalIndex: number[] = []
|
|
62
68
|
|
|
63
|
-
|
|
64
|
-
|
|
69
|
+
{
|
|
70
|
+
for (let i = 0; i < words.length; i++) {
|
|
71
|
+
const word = words[i]
|
|
72
|
+
const wordIsWhitespace = word.trim().length === 0
|
|
73
|
+
|
|
74
|
+
if (!wordIsWhitespace) {
|
|
75
|
+
nonWhitespaceWords.push(word)
|
|
76
|
+
nonWhitespaceWordsOriginalIndex.push(i)
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
65
80
|
|
|
66
|
-
const { normalizedFragments, referenceFragments } = getNormalizedFragmentsForSpeech(words, language)
|
|
81
|
+
const { normalizedFragments, referenceFragments } = getNormalizedFragmentsForSpeech(words, nonWhitespaceWords, nonWhitespaceWordsOriginalIndex, language)
|
|
67
82
|
|
|
68
83
|
const simplifiedFragments = normalizedFragments.map(word => simplifyPunctuationCharacters(word).toLocaleLowerCase())
|
|
69
84
|
|