echogarden 0.9.3 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -7
- package/data/schemas/options.json +57 -26
- package/dist/api/Alignment.d.ts +4 -4
- package/dist/api/Alignment.js +31 -31
- package/dist/api/Alignment.js.map +1 -1
- package/dist/api/Denoising.d.ts +9 -3
- package/dist/api/Denoising.js +9 -9
- package/dist/api/Denoising.js.map +1 -1
- package/dist/api/LanguageDetection.d.ts +13 -17
- package/dist/api/LanguageDetection.js +13 -17
- package/dist/api/LanguageDetection.js.map +1 -1
- package/dist/api/Recognition.d.ts +4 -4
- package/dist/api/Recognition.js +10 -12
- package/dist/api/Recognition.js.map +1 -1
- package/dist/api/Synthesis.d.ts +10 -6
- package/dist/api/Synthesis.js +61 -25
- package/dist/api/Synthesis.js.map +1 -1
- package/dist/api/Translation.d.ts +4 -4
- package/dist/api/Translation.js +11 -12
- package/dist/api/Translation.js.map +1 -1
- package/dist/api/Vad.d.ts +5 -8
- package/dist/api/Vad.js +12 -14
- package/dist/api/Vad.js.map +1 -1
- package/dist/audio/AudioPlayer.d.ts +1 -1
- package/dist/audio/AudioPlayer.js +12 -14
- package/dist/audio/AudioPlayer.js.map +1 -1
- package/dist/audio/AudioUtilities.d.ts +2 -0
- package/dist/audio/AudioUtilities.js +28 -0
- package/dist/audio/AudioUtilities.js.map +1 -1
- package/dist/audio/SoxPath.js +4 -0
- package/dist/audio/SoxPath.js.map +1 -1
- package/dist/cli/CLI.js +84 -120
- package/dist/cli/CLI.js.map +1 -1
- package/dist/codecs/FFMpegTranscoder.d.ts +1 -0
- package/dist/codecs/FFMpegTranscoder.js +48 -2
- package/dist/codecs/FFMpegTranscoder.js.map +1 -1
- package/dist/denoising/RNNoise.js.map +1 -1
- package/dist/dsp/MFCC.js.map +1 -1
- package/dist/recognition/WhisperSTT.js +2 -2
- package/dist/recognition/WhisperSTT.js.map +1 -1
- package/dist/server/Client.d.ts +10 -8
- package/dist/server/Client.js +56 -59
- package/dist/server/Client.js.map +1 -1
- package/dist/server/Server.js +23 -12
- package/dist/server/Server.js.map +1 -1
- package/dist/server/Worker.d.ts +28 -11
- package/dist/server/Worker.js +44 -11
- package/dist/server/Worker.js.map +1 -1
- package/dist/speech-language-detection/SileroLanguageDetection.js +2 -2
- package/dist/speech-language-detection/SileroLanguageDetection.js.map +1 -1
- package/dist/synthesis/GoogleTranslateTTS.js.map +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js +1 -1
- package/dist/synthesis/MicrosoftEdgeTTS.js.map +1 -1
- package/dist/synthesis/VitsTTS.js.map +1 -1
- package/dist/utilities/Logger.d.ts +2 -2
- package/dist/utilities/Logger.js +7 -9
- package/dist/utilities/Logger.js.map +1 -1
- package/dist/utilities/ObjectUtilities.js +4 -1
- package/dist/utilities/ObjectUtilities.js.map +1 -1
- package/dist/utilities/PackageManager.js +3 -1
- package/dist/utilities/PackageManager.js.map +1 -1
- package/dist/utilities/Timeline.js.map +1 -1
- package/docs/API.md +188 -0
- package/docs/Options.md +30 -23
- package/docs/Server.md +110 -0
- package/docs/Tasklist.md +4 -8
- package/package.json +7 -7
package/dist/utilities/Logger.js
CHANGED
|
@@ -29,14 +29,16 @@ export class Logger {
|
|
|
29
29
|
}
|
|
30
30
|
this.active = false;
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
32
|
+
logDuration(message, startTime, titleColor = chalk.cyanBright) {
|
|
33
|
+
const duration = Timer.currentTime - startTime;
|
|
34
|
+
this.log(`${titleColor(message)}: ${duration.toFixed(1)}ms`);
|
|
36
35
|
}
|
|
37
36
|
logTitledMessage(title, content, titleColor = chalk.cyanBright) {
|
|
37
|
+
this.log(`${titleColor(title)}: ${content}`);
|
|
38
|
+
}
|
|
39
|
+
log(message) {
|
|
38
40
|
if (currentActiveLogger == this || currentActiveLogger == null) {
|
|
39
|
-
logToStderr(
|
|
41
|
+
logToStderr(message);
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
44
|
write(message) {
|
|
@@ -44,10 +46,6 @@ export class Logger {
|
|
|
44
46
|
writeToStderr(message);
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
|
-
logDuration(message, startTime, titleColor = chalk.cyanBright) {
|
|
48
|
-
const duration = Timer.currentTime - startTime;
|
|
49
|
-
this.log(`${titleColor(message)}: ${duration.toFixed(1)}ms`);
|
|
50
|
-
}
|
|
51
49
|
getTimestamp() {
|
|
52
50
|
return Timer.currentTime;
|
|
53
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utilities/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE7E,IAAI,mBAAmB,GAAkB,IAAI,CAAA;AAE7C,MAAM,OAAO,MAAM;IACV,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;IAC3B,MAAM,GAAG,KAAK,CAAA;IAEd,KAAK,CAAC,KAAa,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACjD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,gBAAgB,GAAG,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACrF,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAC/D,OAAM;SACN;QAED,IAAI,CAAC,GAAG,EAAE,CAAA;QAEV,IAAI,gBAAgB,EAAE;YACrB,MAAM,gBAAgB,EAAE,CAAA;SACxB;QAED,aAAa,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,mBAAmB,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC;IAED,GAAG;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;YAE1C,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC9C,mBAAmB,GAAG,IAAI,CAAA;SAC1B;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utilities/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE7E,IAAI,mBAAmB,GAAkB,IAAI,CAAA;AAE7C,MAAM,OAAO,MAAM;IACV,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;IAC3B,MAAM,GAAG,KAAK,CAAA;IAEd,KAAK,CAAC,KAAa,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACjD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,gBAAgB,GAAG,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACrF,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAC/D,OAAM;SACN;QAED,IAAI,CAAC,GAAG,EAAE,CAAA;QAEV,IAAI,gBAAgB,EAAE;YACrB,MAAM,gBAAgB,EAAE,CAAA;SACxB;QAED,aAAa,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,mBAAmB,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC;IAED,GAAG;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;YAE1C,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC9C,mBAAmB,GAAG,IAAI,CAAA;SAC1B;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,WAAW,CAAC,OAAY,EAAE,SAAiB,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,GAAG,SAAS,CAAA;QAE9C,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,OAAe,EAAE,UAAU,GAAG,KAAK,CAAC,UAAU;QAC7E,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,GAAG,CAAC,OAAY;QACf,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAC/D,WAAW,CAAC,OAAO,CAAC,CAAA;SACpB;IACF,CAAC;IAED,KAAK,CAAC,OAAY;QACjB,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAC/D,aAAa,CAAC,OAAO,CAAC,CAAA;SACtB;IACF,CAAC;IAED,YAAY;QACX,OAAO,KAAK,CAAC,WAAW,CAAA;IACzB,CAAC;CACD;AAED,MAAM,UAAU,iBAAiB;IAChC,mBAAmB,GAAG,IAAI,CAAA;AAC3B,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export function extendDeep(base, extension) {
|
|
2
|
+
const baseClone = deepClone(base);
|
|
3
|
+
if (isPlainObject(base) && extension === undefined) {
|
|
4
|
+
return baseClone;
|
|
5
|
+
}
|
|
2
6
|
const extensionClone = deepClone(extension);
|
|
3
7
|
if (!isPlainObject(base) || !isPlainObject(extension)) {
|
|
4
8
|
return extensionClone;
|
|
5
9
|
}
|
|
6
|
-
const baseClone = deepClone(base);
|
|
7
10
|
for (const propName in extensionClone) {
|
|
8
11
|
if (!extensionClone.hasOwnProperty(propName)) {
|
|
9
12
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectUtilities.js","sourceRoot":"","sources":["../../src/utilities/ObjectUtilities.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAS,EAAE,SAAc;IACnD,MAAM,
|
|
1
|
+
{"version":3,"file":"ObjectUtilities.js","sourceRoot":"","sources":["../../src/utilities/ObjectUtilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,5 +46,7 @@ export function resolveVersionTagForUnversionedPackageName(unversionedPackageNam
|
|
|
46
46
|
}
|
|
47
47
|
const basePackageUrl = "https://huggingface.co/echogarden/echogarden-packages/resolve/main/";
|
|
48
48
|
const defaultVersionTag = "20230718";
|
|
49
|
-
const packageVersionTagResolutionLookup = {
|
|
49
|
+
const packageVersionTagResolutionLookup = {
|
|
50
|
+
"sox-14.4.2-linux-minimal": "20230802"
|
|
51
|
+
};
|
|
50
52
|
//# sourceMappingURL=PackageManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/utilities/PackageManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAG1C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB;IACpD,WAAW,GAAG,qCAAqC,CAAC,WAAW,CAAC,CAAA;IAEhE,MAAM,YAAY,GAAG,MAAM,uBAAuB,EAAE,CAAA;IAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAExD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE;QAC5B,OAAO,WAAW,CAAA;KAClB;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEvC,MAAM,OAAO,GAAG,EACf,CAAA;IAED,MAAM,OAAO,GAAkB;QAC9B,GAAG,EAAE,GAAG,cAAc,GAAG,WAAW,SAAS;QAC7C,OAAO;KACP,CAAA;IAED,MAAM,yBAAyB,CAC9B,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,WAAW,CACX,CAAA;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAmB;IACtD,WAAW,GAAG,qCAAqC,CAAC,WAAW,CAAC,CAAA;IAEhE,MAAM,YAAY,GAAG,MAAM,uBAAuB,EAAE,CAAA;IAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAExD,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAEpD,MAAM,SAAS,CAAC,YAAY,CAAC,CAAA;IAE7B,OAAO,YAAY,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,WAAmB;IACxE,MAAM,UAAU,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAA;IAE5D,IAAI,UAAU,EAAE;QACf,OAAO,WAAW,CAAA;KAClB;IAED,MAAM,kBAAkB,GAAG,0CAA0C,CAAC,WAAW,CAAC,CAAA;IAElF,OAAO,WAAW,GAAG,GAAG,WAAW,IAAI,kBAAkB,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,WAAmB;IAC/D,OAAO,WAAW,CAAC,KAAK,CAAC,2DAA2D,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC3F,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,sBAA8B;IACxF,OAAO,iCAAiC,CAAC,sBAAsB,CAAC,IAAI,iBAAiB,CAAA;AACtF,CAAC;AAED,MAAM,cAAc,GAAG,qEAAqE,CAAA;AAE5F,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAEpC,MAAM,iCAAiC,GAAsC,
|
|
1
|
+
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../src/utilities/PackageManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAG1C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB;IACpD,WAAW,GAAG,qCAAqC,CAAC,WAAW,CAAC,CAAA;IAEhE,MAAM,YAAY,GAAG,MAAM,uBAAuB,EAAE,CAAA;IAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAExD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE;QAC5B,OAAO,WAAW,CAAA;KAClB;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEvC,MAAM,OAAO,GAAG,EACf,CAAA;IAED,MAAM,OAAO,GAAkB;QAC9B,GAAG,EAAE,GAAG,cAAc,GAAG,WAAW,SAAS;QAC7C,OAAO;KACP,CAAA;IAED,MAAM,yBAAyB,CAC9B,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,WAAW,CACX,CAAA;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAmB;IACtD,WAAW,GAAG,qCAAqC,CAAC,WAAW,CAAC,CAAA;IAEhE,MAAM,YAAY,GAAG,MAAM,uBAAuB,EAAE,CAAA;IAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAExD,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAEpD,MAAM,SAAS,CAAC,YAAY,CAAC,CAAA;IAE7B,OAAO,YAAY,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,WAAmB;IACxE,MAAM,UAAU,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAA;IAE5D,IAAI,UAAU,EAAE;QACf,OAAO,WAAW,CAAA;KAClB;IAED,MAAM,kBAAkB,GAAG,0CAA0C,CAAC,WAAW,CAAC,CAAA;IAElF,OAAO,WAAW,GAAG,GAAG,WAAW,IAAI,kBAAkB,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,WAAmB;IAC/D,OAAO,WAAW,CAAC,KAAK,CAAC,2DAA2D,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC3F,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,sBAA8B;IACxF,OAAO,iCAAiC,CAAC,sBAAsB,CAAC,IAAI,iBAAiB,CAAA;AACtF,CAAC;AAED,MAAM,cAAc,GAAG,qEAAqE,CAAA;AAE5F,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAEpC,MAAM,iCAAiC,GAAsC;IAC5E,0BAA0B,EAAE,UAAU;CACtC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/utilities/Timeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE7D,MAAM,UAAU,uBAAuB,CAAC,cAAwB,EAAE,UAAkB;IACnF,IAAI,CAAC,cAAc,EAAE;QACpB,OAAO,cAAc,CAAA;KACrB;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;IAE7C,KAAK,MAAM,oBAAoB,IAAI,WAAW,EAAE;QAC/C,oBAAoB,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,CAAA;QACzF,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAA;QAErF,IAAI,oBAAoB,CAAC,QAAQ,EAAE;YAClC,oBAAoB,CAAC,QAAQ,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;SAClG;KACD;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/utilities/Timeline.ts"],"names":[],"mappings":"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"}
|
package/docs/API.md
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# API reference
|
|
2
|
+
|
|
3
|
+
This is a reference for the main methods available in both the JavaScript/TypeScript API and WebSocket messaging-based API.
|
|
4
|
+
|
|
5
|
+
**Note**: the API is not stable yet. It may change at every new version. There are many methods, types and internal data structures that are not yet exposed.
|
|
6
|
+
|
|
7
|
+
### Importing as a Node.js module
|
|
8
|
+
To import the `echograden` package as a Node.js module:
|
|
9
|
+
|
|
10
|
+
Install as a dependency in your project:
|
|
11
|
+
```bash
|
|
12
|
+
npm install echogarden
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Import with:
|
|
16
|
+
```ts
|
|
17
|
+
import * as Echogarden from 'echogarden'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
All methods, properties and arguments have TypeScript type information. You can use it to get more detailed and up-to-date type information that may not be covered in the documentation.
|
|
21
|
+
|
|
22
|
+
### Related resources
|
|
23
|
+
* [Options reference](Options.md)
|
|
24
|
+
* [A comprehensive list of all supported engines](Engines.md)
|
|
25
|
+
* [A quick guide for using the command line interface](CLI.md)
|
|
26
|
+
* [Guide for running and interfacing with a WebSocket server](Server.md)
|
|
27
|
+
|
|
28
|
+
## Synthesis
|
|
29
|
+
|
|
30
|
+
### `synthesize(input, options, onSegment, onSentence)`
|
|
31
|
+
|
|
32
|
+
Synthesizes the given input.
|
|
33
|
+
|
|
34
|
+
* `input`: Text to synthesize, can be a `string`, or a `string[]`. When given an array of strings, the elements of the array would be seen as predefined segments (this is useful if you would like to have more control over how segments are split, or your input has a special format requiring a custom splitting method).
|
|
35
|
+
* `options`: Synthesis options object
|
|
36
|
+
* `onSegment`: A callback that is called whenever a segment has been synthesized (optional)
|
|
37
|
+
* `onSentence`: A callback that is called whenever a sentence has been synthesized (optional)
|
|
38
|
+
|
|
39
|
+
#### Returns (via promise):
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
{
|
|
43
|
+
audio: RawAudio | Buffer
|
|
44
|
+
timeline: Timeline
|
|
45
|
+
language: string
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`audio` may either be a
|
|
50
|
+
* `RawAudio` object, which is a structure containing the sample rate and raw 32-bit float channels:
|
|
51
|
+
```ts
|
|
52
|
+
{
|
|
53
|
+
sampleRate: number
|
|
54
|
+
channels: Float32Array[]
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
* A `Buffer` containing the audio in encoded form, in the case a particular codec was specified in the `outputAudioFormat.codec` option.
|
|
58
|
+
|
|
59
|
+
### `requestVoiceList(options)`
|
|
60
|
+
|
|
61
|
+
Request a list of voices for a particular engine.
|
|
62
|
+
|
|
63
|
+
* `options`: Voice list request options object
|
|
64
|
+
|
|
65
|
+
#### Returns (via promise):
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
{
|
|
69
|
+
voiceList: SynthesisVoice[]
|
|
70
|
+
bestMatchingVoice: SynthesisVoice
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Recognition
|
|
75
|
+
|
|
76
|
+
### `recognize(input, options)`
|
|
77
|
+
|
|
78
|
+
* `input`: Can be an audio file path (`string`), encoded audio (`Buffer` or `Uint8array`) or a raw audio object (`RawAudio`)
|
|
79
|
+
* `options`: Recognition options object
|
|
80
|
+
|
|
81
|
+
#### Returns (via promise):
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
{
|
|
85
|
+
transcript: string
|
|
86
|
+
timeline: Timeline
|
|
87
|
+
wordTimeline: Timeline
|
|
88
|
+
language: string
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Alignment
|
|
93
|
+
|
|
94
|
+
### `align(input, transcript, options)`
|
|
95
|
+
|
|
96
|
+
* `input`: Can be an audio file path (`string`), encoded audio (`Buffer` or `Uint8array`) or a raw audio object (`RawAudio`)
|
|
97
|
+
* `options`: Alignment options object
|
|
98
|
+
|
|
99
|
+
#### Returns (via promise):
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
{
|
|
103
|
+
timeline: Timeline
|
|
104
|
+
wordTimeline: Timeline
|
|
105
|
+
transcript: string
|
|
106
|
+
language: string
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Speech translation
|
|
111
|
+
|
|
112
|
+
### `translateSpeech(input, options)`
|
|
113
|
+
|
|
114
|
+
* `input`: Can be an audio file path (`string`), encoded audio (`Buffer` or `Uint8array`) or a raw audio object (`RawAudio`)
|
|
115
|
+
* `options`: Speech translation options object
|
|
116
|
+
|
|
117
|
+
#### Returns (via promise):
|
|
118
|
+
```ts
|
|
119
|
+
{
|
|
120
|
+
transcript: string
|
|
121
|
+
timeline: Timeline
|
|
122
|
+
wordTimeline: Timeline
|
|
123
|
+
sourceLanguage: string
|
|
124
|
+
targetLanguage: string
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Language detection
|
|
129
|
+
|
|
130
|
+
### `detectSpeechLanguage(input, options)`
|
|
131
|
+
|
|
132
|
+
* `input`: Can be an audio file path (`string`), encoded audio (`Buffer` or `Uint8array`) or a raw audio object (`RawAudio`)
|
|
133
|
+
* `options`: Speech language detection options object
|
|
134
|
+
|
|
135
|
+
#### Returns (via promise):
|
|
136
|
+
```ts
|
|
137
|
+
{
|
|
138
|
+
detectedLanguage: string
|
|
139
|
+
detectedLanguageName: string
|
|
140
|
+
detectedLanguageProbabilities: LanguageDetectionResults
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### `detectTextLanguage(input, options)`
|
|
145
|
+
|
|
146
|
+
* `input`: Input text as `string`
|
|
147
|
+
* `options`: Text language detection options object
|
|
148
|
+
|
|
149
|
+
#### Returns (via promise):
|
|
150
|
+
```ts
|
|
151
|
+
{
|
|
152
|
+
detectedLanguage: string
|
|
153
|
+
detectedLanguageName: string
|
|
154
|
+
detectedLanguageProbabilities: LanguageDetectionResults
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Voice activity detection
|
|
159
|
+
|
|
160
|
+
### `detectVoiceActivity(input, options)`
|
|
161
|
+
|
|
162
|
+
* `input`: Can be an audio file path (`string`), encoded audio (`Buffer` or `Uint8array`) or a raw audio object (`RawAudio`)
|
|
163
|
+
* `options`: Voice activity detection options object
|
|
164
|
+
|
|
165
|
+
#### Returns (via promise):
|
|
166
|
+
```ts
|
|
167
|
+
{
|
|
168
|
+
timeline: Timeline
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Denoising
|
|
173
|
+
|
|
174
|
+
### `denoise(input, options)`
|
|
175
|
+
|
|
176
|
+
* `input`: Can be an audio file path (`string`), encoded audio (`Buffer` or `Uint8array`) or a raw audio object (`RawAudio`)
|
|
177
|
+
* `options`: Denoising options object
|
|
178
|
+
|
|
179
|
+
#### Returns (via promise):
|
|
180
|
+
```ts
|
|
181
|
+
{
|
|
182
|
+
denoisedAudio: RawAudio
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## TODO
|
|
187
|
+
|
|
188
|
+
Expose more methods that may be useful for developers, like subtitle manipulation, phonemization, etc.
|
package/docs/Options.md
CHANGED
|
@@ -5,10 +5,11 @@ Here is a detailed reference for the options accepted by the Echogarden API and
|
|
|
5
5
|
**Related resources**:
|
|
6
6
|
* [A comprehensive list of all supported engines](Engines.md)
|
|
7
7
|
* [A quick guide for using the command line interface](CLI.md)
|
|
8
|
+
* [Developer's API reference](API.md)
|
|
8
9
|
|
|
9
10
|
## Synthesis
|
|
10
11
|
|
|
11
|
-
Applicable to CLI commands: `speak`, `speak-file`, `speak-url`, `speak-wikipedia
|
|
12
|
+
Applicable to CLI commands: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`, API method: `synthesize`
|
|
12
13
|
|
|
13
14
|
**General**:
|
|
14
15
|
* `engine`: identifier of the synthesis engine to use, such as `espeak` or `vits`.
|
|
@@ -39,6 +40,10 @@ Applicable to CLI commands: `speak`, `speak-file`, `speak-url`, `speak-wikipedia
|
|
|
39
40
|
* `postProcessing.timePitchShiftingMethod`: method for time and pitch shifting. Can be `sonic` or `rubberband`. Defaults to `sonic`
|
|
40
41
|
* `postProcessing.rubberband`: prefix for RubberBand options (TODO)
|
|
41
42
|
|
|
43
|
+
**Output audio format**:
|
|
44
|
+
* `outputAudioFormat.codec`: Codec identifier (**Note**: API only! CLI uses file extension instead), can be `wav`, `mp3`, `opus`, `m4a`, `ogg`, `flac`. Leaving as `undefined` would return a raw audio structure (see more information at the API documentation). Optional
|
|
45
|
+
* `outputAudioFormat.bitrate`: Custom bitrate for encoding, applies only to `mp3`, `opus`, `m4a`, `ogg`. By default, bitrates are selected between 48Kbps and 64Kbps, to provide a good speech quality while minimizing file size. Optional
|
|
46
|
+
|
|
42
47
|
**Subtitles**
|
|
43
48
|
* `subtitles.maxLineCount`: maximum number of lines per cue. Defaults to `2`
|
|
44
49
|
* `subtitles.maxLineWidth`: maximum characters in a line. Defaults to `42`
|
|
@@ -99,9 +104,24 @@ Applicable to CLI commands: `speak`, `speak-file`, `speak-url`, `speak-wikipedia
|
|
|
99
104
|
* `microsoftEdge.trustedClientToken`: trusted client token (required). A special token required to use the service
|
|
100
105
|
* `microsoftEdge.pitchDeltaHz`: pitch delta in Hz. Overrides `pitch` when set
|
|
101
106
|
|
|
107
|
+
## Voice list request
|
|
108
|
+
|
|
109
|
+
Applicable to CLI command: `list-voices`, API method: `requestVoiceList`
|
|
110
|
+
|
|
111
|
+
**General**
|
|
112
|
+
* `language`: language code to filter by (optional)
|
|
113
|
+
* `voice`: name or name pattern to filter by (optional)
|
|
114
|
+
* `voiceGender`: gender to filter by (optional)
|
|
115
|
+
|
|
116
|
+
Also accepted are engine-specific options that may be required in order to retrieve the voice list, especially for cloud engines. Examples:
|
|
117
|
+
* `googleCloud.apiKey`
|
|
118
|
+
* `microsoftAzure.subscriptionKey`, `microsoftAzure.serviceRegion`
|
|
119
|
+
* `amazonPolly.region`, `amazonPolly.accessKeyId`, `amazonPolly.secretAccessKey`
|
|
120
|
+
* `elevenLabs.apiKey`
|
|
121
|
+
|
|
102
122
|
## Recognition
|
|
103
123
|
|
|
104
|
-
Applicable to CLI command: `transcribe
|
|
124
|
+
Applicable to CLI command: `transcribe`, API method: `recognize`
|
|
105
125
|
|
|
106
126
|
**General**:
|
|
107
127
|
* `engine`: identifier of the recognition engine to use, such as `whisper` or `vosk`
|
|
@@ -146,7 +166,7 @@ Applicable to CLI command: `transcribe`.
|
|
|
146
166
|
|
|
147
167
|
## Alignment
|
|
148
168
|
|
|
149
|
-
Applicable to CLI command: `align
|
|
169
|
+
Applicable to CLI command: `align`, API method: `align`
|
|
150
170
|
|
|
151
171
|
**General**:
|
|
152
172
|
* `engine`: what alignment algorithm to use, can be `dtw`, `dtw-ra` or `whisper`. Defaults to `dtw`
|
|
@@ -175,7 +195,7 @@ Applicable to CLI command: `align`.
|
|
|
175
195
|
|
|
176
196
|
## Speech translation
|
|
177
197
|
|
|
178
|
-
Applicable to CLI command: `translate-speech
|
|
198
|
+
Applicable to CLI command: `translate-speech`, API method: `translateSpeech`
|
|
179
199
|
|
|
180
200
|
**General**:
|
|
181
201
|
* `engine`: only `whisper` supported
|
|
@@ -191,22 +211,24 @@ Applicable to CLI command: `translate-speech`.
|
|
|
191
211
|
|
|
192
212
|
### Speech language detection
|
|
193
213
|
|
|
194
|
-
Applicable to CLI command: `detect-speech-langauge
|
|
214
|
+
Applicable to CLI command: `detect-speech-langauge`, API method: `detectSpeechLangauge`
|
|
195
215
|
|
|
216
|
+
**General**:
|
|
196
217
|
* `engine`: `silero` or `whisper`. Defaults to `silero`
|
|
197
218
|
* `whisper`: whisper options prefix, can be used like `whisper.model = base` to set options for the Whisper engine. See Whisper options on the recognition section
|
|
198
219
|
|
|
199
220
|
### Text language detection
|
|
200
221
|
|
|
201
|
-
Applicable to CLI command: `detect-text-langauge
|
|
222
|
+
Applicable to CLI command: `detect-text-langauge`, API method: `detectTextLangauge`
|
|
202
223
|
|
|
224
|
+
**General**:
|
|
203
225
|
* `engine`: `tinyld` or `fasttext`. Defaults to `tinyld`
|
|
204
226
|
* `defaultLanguage`: language to fall back to when confidence of is low. Defaults to `en`
|
|
205
227
|
* `fallbackThresholdProbability`: confidence threshold to cause fallback. Defaults to `0.05`
|
|
206
228
|
|
|
207
229
|
## Voice activity detection
|
|
208
230
|
|
|
209
|
-
Applicable to CLI command: `detect-voice-activity
|
|
231
|
+
Applicable to CLI command: `detect-voice-activity`, API method: `detectVoiceActivity`
|
|
210
232
|
|
|
211
233
|
**General**:
|
|
212
234
|
* `engine`: VAD engine to use. Can be `webrtc`, `silero` or `rnnoise`. Defaults to `webrtc`
|
|
@@ -221,7 +243,7 @@ Applicable to CLI command: `detect-voice-activity`.
|
|
|
221
243
|
|
|
222
244
|
## Speech denoising
|
|
223
245
|
|
|
224
|
-
Applicable to CLI command: `denoise
|
|
246
|
+
Applicable to CLI command: `denoise`, API method: `denoise`
|
|
225
247
|
|
|
226
248
|
**General**:
|
|
227
249
|
* `engine`: can only be `rnnoise`
|
|
@@ -231,18 +253,3 @@ Applicable to CLI command: `denoise`.
|
|
|
231
253
|
* `postProcessing.targetPeakDb`: target peak (decibels) for normalization. Defaults to `-3`
|
|
232
254
|
* `postProcessing.maxIncreaseDb`: max gain increase (decibels) when performing normalization. Defaults to `30`
|
|
233
255
|
* `postProcessing.dryMixGainDb`: gain (decibels) of dry (original) signal to mix back to the denoised output. Defaults to `-20`
|
|
234
|
-
|
|
235
|
-
## Voice list request
|
|
236
|
-
|
|
237
|
-
Applicable to CLI command: `list-voices`.
|
|
238
|
-
|
|
239
|
-
**General**
|
|
240
|
-
* `language`: language code to filter by (optional)
|
|
241
|
-
* `voice`: name or name pattern to filter by (optional)
|
|
242
|
-
* `voiceGender`: gender to filter by (optional)
|
|
243
|
-
|
|
244
|
-
Also accepted are engine-specific options that may be required in order to retrieve the voice list, especially for cloud engines. Examples:
|
|
245
|
-
* `googleCloud.apiKey`
|
|
246
|
-
* `microsoftAzure.subscriptionKey`, `microsoftAzure.serviceRegion`
|
|
247
|
-
* `amazonPolly.region`, `amazonPolly.accessKeyId`, `amazonPolly.secretAccessKey`
|
|
248
|
-
* `elevenLabs.apiKey`, `elevenLabs.modelId`
|
package/docs/Server.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Starting and interfacing with the WebSocket server
|
|
2
|
+
|
|
3
|
+
## Starting the server
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
echogarden serve [options]
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
**Options** (all optional):
|
|
10
|
+
* `port`: Port number. Defaults to `45054`
|
|
11
|
+
* `secure`: Start a secure server? Defaults to `false`
|
|
12
|
+
* `certPath`: Path to a certificate file, required when `secure = true`
|
|
13
|
+
* `keyPath`: Path to a private key file, required when `secure = true`
|
|
14
|
+
* `deflate`: Use per-message deflate. Defaults to `true`
|
|
15
|
+
* `maxPayload`: Maximum raw message payload size (in bytes). Defaults to `1000 * 1000000` (1GB)
|
|
16
|
+
* `useWorkerThread`: Run worker in a separate thread. Defaults to `true` (recommended to leave as is)
|
|
17
|
+
|
|
18
|
+
## The protocol
|
|
19
|
+
|
|
20
|
+
The protocol is based on binary WebSocket messages, for both request and response objects. Messages are encoded using the [MessagePack](https://msgpack.org/index.html) encoding scheme.
|
|
21
|
+
|
|
22
|
+
All messages are objects and have the basic structure:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
{
|
|
26
|
+
messageType: string
|
|
27
|
+
requestId: string
|
|
28
|
+
|
|
29
|
+
// ... other data specific for the target message type
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The `messageType` property is a string representing the operation to perform. These operations are parallel to the methods provided by the Node.js API. They can be one of:
|
|
34
|
+
|
|
35
|
+
* `SynthesisRequest`
|
|
36
|
+
* `VoiceListRequest`
|
|
37
|
+
* `RecognitionRequest`
|
|
38
|
+
* `AlignmentRequest`
|
|
39
|
+
* `SpeechTranslationRequest`
|
|
40
|
+
* `SpeechLanguageDetectionRequest`
|
|
41
|
+
* `TextLanguageDetectionRequest`
|
|
42
|
+
|
|
43
|
+
When sending a message, `requestId` should contain a long random string that uniquely identifies your request, like `cb7e0f3ec835a213b005c4424c8d5775`.
|
|
44
|
+
|
|
45
|
+
For example, this message requests synthesis:
|
|
46
|
+
```ts
|
|
47
|
+
{
|
|
48
|
+
messageType: 'SynthesisRequest',
|
|
49
|
+
requestId: 'cb7e0f3ec835a213b005c4424c8d5775',
|
|
50
|
+
|
|
51
|
+
input: 'Hello World!',
|
|
52
|
+
|
|
53
|
+
options: {
|
|
54
|
+
engine: 'espeak',
|
|
55
|
+
voice: 'en-GB'
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
After a message is sent, the server may send one or more response messages. Each response message includes the `requestId` identifier that was given on the request it replies to. The response message `messageType` can be:
|
|
61
|
+
|
|
62
|
+
* `SynthesisResponse`, `SynthesisSegmentEvent`, `SynthesisSentenceEvent`
|
|
63
|
+
* `VoiceListResponse`
|
|
64
|
+
* `RecognitionResponse`
|
|
65
|
+
* `AlignmentResponse`
|
|
66
|
+
* `SpeechTranslationResponse`
|
|
67
|
+
* `SpeechLanguageDetectionResponse`
|
|
68
|
+
* `TextLanguageDetectionResponse`
|
|
69
|
+
|
|
70
|
+
The properties included in the response objects, are similar to the ones returned by the API.
|
|
71
|
+
|
|
72
|
+
Example response, for the above synthesis request:
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
{
|
|
76
|
+
messageType: 'SynthesisResponse',
|
|
77
|
+
requestId: 'cb7e0f3ec835a213b005c4424c8d5775',
|
|
78
|
+
|
|
79
|
+
rawAudio: {
|
|
80
|
+
sampleRate: 22050,
|
|
81
|
+
channels: [ ... ] // An array of `float32` sample data
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// ... other result object properties
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Client package (future)
|
|
89
|
+
|
|
90
|
+
For Node.js clients, there is a simpler client class, that allows to wrap communications with with the server in a more convenient interface.
|
|
91
|
+
|
|
92
|
+
Currently, the client is is embedded in the original codebase. This means you have to import the entire package to use it.
|
|
93
|
+
|
|
94
|
+
In the future, this module would be separated to an independent lightweight package.
|
|
95
|
+
|
|
96
|
+
## Web-based user interface (future)
|
|
97
|
+
|
|
98
|
+
When an HTTP web-based user interface is developed, it would be integrated with the WebSocket server and share the same port.
|
|
99
|
+
|
|
100
|
+
Currently, if you start a non-secure server and try to open `http://localhost:45054` (or another port you specified), you should see a placeholder message saying:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
This is the Echogarden HTTP server!
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
If you can't see this message, there may be a configuration issue, or some other problem.
|
|
107
|
+
|
|
108
|
+
## TODO
|
|
109
|
+
|
|
110
|
+
Expose more operations to the server.
|
package/docs/Tasklist.md
CHANGED
|
@@ -42,9 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
### Worker
|
|
44
44
|
* Add cancelation checks in more operations
|
|
45
|
-
* Optionally omit unnecessary data from the response (decoded input, segment data, etc.)
|
|
46
45
|
* Support more operations
|
|
47
|
-
* Support compressed audio in response
|
|
48
46
|
|
|
49
47
|
### CLI
|
|
50
48
|
* Show names of files written do disk. This is useful for cases where a file is auto-renamed to allow overwrite.
|
|
@@ -53,7 +51,6 @@
|
|
|
53
51
|
* Consider what to do with non-supported templates like `[hello]`
|
|
54
52
|
* Show a message when a new version is available
|
|
55
53
|
* Figure out which terminal outputs should go to stdout, or if that's a good idea at all
|
|
56
|
-
* Option to set audio output codec options
|
|
57
54
|
* Option to set audio output device for playback
|
|
58
55
|
* Print available synthesis voices when no voice matches (or suggest near matches)
|
|
59
56
|
* `transcribe` may also accept `http://` and `https://` URLs and pull the remote media file
|
|
@@ -83,9 +80,9 @@
|
|
|
83
80
|
|
|
84
81
|
### CLI / New commands
|
|
85
82
|
* `speak-youtube`: To speak the subtitles of a YouTube video
|
|
86
|
-
* `play-with-
|
|
83
|
+
* `play-with-subtitles`: Preview subtitles in terminal
|
|
87
84
|
* `play-with-timeline`: Preview timeline in terminal
|
|
88
|
-
* `
|
|
85
|
+
* `subtitles-to-text`, `subtitles-to-timeline`, `srt-to-vtt`, `vtt-to-srt`
|
|
89
86
|
* `crop-to-timeline`, `split-by-timeline`
|
|
90
87
|
* `text-to-ipa`, `arpabet-to-ipa`, `ipa-to-arpabet`
|
|
91
88
|
* `phonemize-text`
|
|
@@ -110,7 +107,6 @@
|
|
|
110
107
|
### Segmentation
|
|
111
108
|
* Split long words
|
|
112
109
|
* See if it's possible to reliably use eSpeak as a segmentation engine
|
|
113
|
-
* Path to `kuromoji` dictionaries can be found more reliably than current
|
|
114
110
|
|
|
115
111
|
### Subtitles
|
|
116
112
|
* If a subtitle is too short and at the end of the audio, try to extend it back if possible (for example, if the previous subtitle is already extended, take back from it)
|
|
@@ -139,10 +135,10 @@
|
|
|
139
135
|
|
|
140
136
|
### Synthesis / preprocessing
|
|
141
137
|
* 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"
|
|
142
|
-
* Full date normalization (e.g. `21 August 2023`, `21 Aug 2023`)
|
|
138
|
+
* Full date normalization (e.g. `21 August 2023`, `21 Aug 2023`, `August 21, 2023`)
|
|
143
139
|
* Add support for capitalized-only rules, and possibly also all uppercase / all lowercase rules.
|
|
144
|
-
* Support normalizing to graphemes, not only phonemes
|
|
145
140
|
* Add support for multiple words in `precededBy` and `succeededBy`
|
|
141
|
+
* Support substituting to graphemes in lexicons, not only phonemes
|
|
146
142
|
* Cache lexicons to avoid parsing the JSON each time it is loaded (this may not be needed for if the file is relatively small)
|
|
147
143
|
* Is it possible to pre-phonemize common words like "the" or is it a bad idea / not necessary?
|
|
148
144
|
* Add support for text preprocessing for all engines that can benefit from it (possibly including cloud engines).
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "echogarden",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "An integrated speech system, providing a set of synthesis, recognition, alignment, and other processing tools, designed to be directly accessible to end-users.",
|
|
5
5
|
"author": "Rotem Dan",
|
|
6
|
-
"license": "GPL-3.0
|
|
6
|
+
"license": "GPL-3.0",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"speech",
|
|
9
9
|
"text-to-speech",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"echogarden": "./dist/cli/CLILauncher.js"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-sdk/client-polly": "^3.
|
|
57
|
-
"@aws-sdk/client-transcribe-streaming": "^3.
|
|
56
|
+
"@aws-sdk/client-polly": "^3.382.0",
|
|
57
|
+
"@aws-sdk/client-transcribe-streaming": "^3.382.0",
|
|
58
58
|
"@echogarden/espeak-ng-emscripten": "^0.1.2",
|
|
59
59
|
"@echogarden/fasttext-wasm": "^0.1.0",
|
|
60
60
|
"@echogarden/flite-wasi": "^0.1.1",
|
|
@@ -66,7 +66,6 @@
|
|
|
66
66
|
"@echogarden/speex-resampler-wasm": "^0.1.1",
|
|
67
67
|
"@echogarden/svoxpico-wasm": "^0.1.0",
|
|
68
68
|
"@mozilla/readability": "^0.4.4",
|
|
69
|
-
"@types/graceful-fs": "^4.1.6",
|
|
70
69
|
"alawmulaw": "^6.0.0",
|
|
71
70
|
"buffer-split": "^1.0.0",
|
|
72
71
|
"chalk": "^5.3.0",
|
|
@@ -124,8 +123,9 @@
|
|
|
124
123
|
"@types/recursive-readdir": "^2.2.1",
|
|
125
124
|
"@types/tar": "^6.1.5",
|
|
126
125
|
"@types/ws": "^8.5.5",
|
|
127
|
-
"@typescript-eslint/eslint-plugin": "^6.2.
|
|
128
|
-
"@typescript-eslint/parser": "^6.2.
|
|
126
|
+
"@typescript-eslint/eslint-plugin": "^6.2.1",
|
|
127
|
+
"@typescript-eslint/parser": "^6.2.1",
|
|
128
|
+
"@types/graceful-fs": "^4.1.6",
|
|
129
129
|
"eslint": "^8.46.0",
|
|
130
130
|
"ts-json-schema-generator": "^1.2.0",
|
|
131
131
|
"typescript": "^5.1.6"
|