echogarden 0.4.2 → 0.5.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 +19 -14
- package/data/lexicons/heteronyms.en.json +254 -138
- package/dist/cli/CLI.js +22 -6
- package/dist/cli/CLI.js.map +1 -1
- package/dist/nlp/TextNormalizer.js +1 -1
- package/dist/nlp/TextNormalizer.js.map +1 -1
- package/dist/synthesis/VitsTTS.js +230 -65
- package/dist/synthesis/VitsTTS.js.map +1 -1
- package/dist/utilities/PackageManager.d.ts +3 -1
- package/dist/utilities/PackageManager.js +20 -16
- package/dist/utilities/PackageManager.js.map +1 -1
- package/docs/CLI.md +35 -13
- package/docs/Development.md +7 -1
- package/docs/Engines.md +26 -18
- package/docs/Licenses.md +2 -2
- package/docs/Options.md +2 -2
- package/docs/Roadmap.md +13 -12
- package/docs/Technical.md +16 -14
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Echogarden
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A fully open-source speech system designed with end-users in mind.
|
|
4
4
|
|
|
5
|
-
* Written in TypeScript, for the Node.js
|
|
5
|
+
* Written in TypeScript, for the Node.js runtime
|
|
6
6
|
* Easy to install, run and update
|
|
7
7
|
* Runs on Windows (x64), macOS (x64, ARM64) and Linux (x64)
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Doesn't require Python, Docker, or similar system-level dependencies
|
|
9
|
+
* Doesn't rely on any essential platform-specific binaries. Engines are either ported via WebAssembly, imported using the [ONNX runtime](https://onnxruntime.ai/), or written in pure JavaScript
|
|
10
10
|
|
|
11
11
|
## Feature highlights
|
|
12
12
|
|
|
@@ -16,21 +16,26 @@ An integrated speech toolbox designed with end-users in mind.
|
|
|
16
16
|
* Word-level timestamps for all synthesis and recognition outputs
|
|
17
17
|
* Speech-to-transcript alignment using dynamic time warping (DTW), and dynamic time warping with recognition assist (DTW-RA) methods
|
|
18
18
|
* Advanced subtitle generation, accounting for sentence and phrase boundaries
|
|
19
|
-
* Can transcribe speech in any one of 98 languages, translated directly to English, and produce near word-level synchronized subtitles
|
|
20
|
-
* Attempts to improve TTS pronunciation accuracy
|
|
21
|
-
* Internal package system
|
|
22
|
-
* Other features include: language detection (both for audio and text), voice activity detection and speech denoising
|
|
19
|
+
* Can transcribe speech in any one of 98 languages, translated directly to English, and produce near word-level synchronized subtitles for the translated transcript
|
|
20
|
+
* Attempts to improve TTS pronunciation accuracy for a few engines and languages (currently only implemented for English dialects): adds text normalization (e.g. idiomatic date and currency pronunciation), heteronym disambiguation (based on a custom rule-based model) and user-customizable pronunciation lexicons
|
|
21
|
+
* Internal package system that auto-downloads and installs voices, models and other resources, as needed
|
|
22
|
+
* Other features include: language detection (both for audio and text), voice activity detection, and speech denoising
|
|
23
23
|
|
|
24
24
|
### In development
|
|
25
25
|
|
|
26
26
|
* Background worker
|
|
27
|
-
* WebSocket server API
|
|
28
|
-
* Browser extension
|
|
27
|
+
* WebSocket-based server and API
|
|
28
|
+
* Browser extension (for TTS only), including integration with the Web Speech API, and an advanced page reader enabling real-time narration of any page content, with live word highlighting
|
|
29
|
+
* New, high-accuracy text language identification model (own work)
|
|
29
30
|
|
|
30
31
|
### Planned, but not yet
|
|
31
32
|
|
|
33
|
+
* Text enhancement, adding breaks to improve phrasing of synthesized text, as well as adding missing punctuation to recognized transcripts, if needed
|
|
34
|
+
* Web-based UI
|
|
32
35
|
* Real-time, streaming speech recognition
|
|
33
|
-
|
|
36
|
+
|
|
37
|
+
### Maybe
|
|
38
|
+
|
|
34
39
|
* Browser port for a subset of the API (in particular for the offline TTS models and their dependencies)
|
|
35
40
|
|
|
36
41
|
## Installation
|
|
@@ -43,7 +48,7 @@ npm install echogarden -g
|
|
|
43
48
|
```
|
|
44
49
|
|
|
45
50
|
Additional tools:
|
|
46
|
-
* [`sox`](https://sourceforge.net/projects/sox/): used for audio playback and recording only. Auto-installed via
|
|
51
|
+
* [`sox`](https://sourceforge.net/projects/sox/): used for the CLI's audio playback and recording (only). Auto-installed via a package on Windows and Intel macOS. On Linux and ARM64 macOS, it is recommended to install it via platform package managers like `apt` and `brew`.
|
|
47
52
|
* [`ffmpeg`](https://ffmpeg.org/download.html): used for codec conversions. Auto-installed via an expansion package on Windows, Intel macOS, and x64 Linux. On ARM64 macOS, it is recommended to install it via platform package manager like `brew`, otherwise, much slower `ffmpeg-wasm` would be used.
|
|
48
53
|
|
|
49
54
|
(hopefully in the future all platforms would be covered using expansion packages)
|
|
@@ -65,7 +70,7 @@ npm update echogarden -g
|
|
|
65
70
|
|
|
66
71
|
## Credits
|
|
67
72
|
|
|
68
|
-
This project consolidates and builds upon the
|
|
73
|
+
This project consolidates, and builds upon the effort of many different individuals and companies, as well as contributing a number of original works.
|
|
69
74
|
|
|
70
75
|
Designed and developed by Rotem Dan.
|
|
71
76
|
|
|
@@ -73,4 +78,4 @@ Designed and developed by Rotem Dan.
|
|
|
73
78
|
|
|
74
79
|
GNU General Public License v3
|
|
75
80
|
|
|
76
|
-
Licenses for components, models and other dependencies are detailed
|
|
81
|
+
Licenses for components, models and other dependencies are detailed on [this page](docs/Licenses.md).
|