echogarden 0.5.1 → 0.5.2

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Echogarden
2
2
 
3
- Echogarden is a versatile speech processing system that attempts to address the needs of end-users:
3
+ Echogarden is an integrated speech system that provides a range of speech generation, recognition and processing tools that are designed to be directly usable by end-users:
4
4
 
5
5
  * Written in TypeScript, for the Node.js runtime
6
6
  * Easy to install, run and update
@@ -12,11 +12,11 @@ Echogarden is a versatile speech processing system that attempts to address the
12
12
 
13
13
  * Fast, high-quality offline text-to-speech voices based on the [VITS](https://github.com/jaywalnut310/vits) neural architecture
14
14
  * Accurate offline speech recognition using [OpenAI Whisper](https://openai.com/research/whisper) models
15
- * Supports synthesis and recognition via major cloud providers, including Google, Microsoft and Amazon
15
+ * Supports synthesis and recognition via a [variety of offline and cloud engines](docs/Engines.md), including Google, Microsoft and Amazon
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 for the translated transcript
19
+ * Can translate speech in any one of 98 languages, transcribe it directly to English, and produce near word-level synchronized subtitles for the translated transcript
20
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
21
  * Internal package system that auto-downloads and installs voices, models and other resources, as needed
22
22
  * Other features include: language detection (both for audio and text), voice activity detection, and speech denoising
@@ -46,7 +46,16 @@ npm update echogarden -g
46
46
 
47
47
  Currently, the software is operated mainly through a [command-line interface](docs/CLI.md), which enables powerful customization and is especially useful for long-running bulk operations.
48
48
 
49
- Development of more graphical and interactive tooling is currently ongoing. A general roadmap is shown next.
49
+ Development of more graphical and interactive tooling is currently ongoing. A general roadmap is shown further down below.
50
+
51
+ ## Guides and resource pages
52
+
53
+ * [Using the command-line interface](docs/CLI.md)
54
+ * [Options reference](docs/Options.md)
55
+ * [Full list of supported engines](docs/Engines.md)
56
+ * [Technical overview and Q&A](docs/Technical.md)
57
+ * [Developer's task list](docs/Tasklist.md)
58
+ * [How to help](docs/Development.md)
50
59
 
51
60
  ## Development roadmap
52
61
 
@@ -56,7 +65,7 @@ _(For much more detailed information, see the [developer task list](docs/Tasklis
56
65
 
57
66
  * (**90**%) Background worker
58
67
  * (**90**%) WebSocket-based server and API
59
- * (**70**%) Browser extension, acting as a bridge to a local or self-hosted server. Also including integration with the Web Speech API, and real-time narration of page content, with live word highlighting
68
+ * (**70**%) Browser extension, acting as a bridge to a local or self-hosted server. Includes integration with the Web Speech API, and real-time narration of page content, with live word highlighting
60
69
  * (**60**%) New, high-accuracy text language identification model (own work)
61
70
 
62
71
  ### Planned, but not yet started
@@ -70,15 +79,6 @@ _(For much more detailed information, see the [developer task list](docs/Tasklis
70
79
 
71
80
  * Browser port for a subset of the API (in particular for the offline TTS models and their dependencies)
72
81
 
73
- ## Guides and resource pages
74
-
75
- * [Using the command-line interface](docs/CLI.md)
76
- * [Options reference](docs/Options.md)
77
- * [Full list of supported engines](docs/Engines.md)
78
- * [Technical overview and Q&A](docs/Technical.md)
79
- * [Developer's task list](docs/Tasklist.md)
80
- * [How to help](docs/Development.md)
81
-
82
82
  ## Credits
83
83
 
84
84
  This project consolidates, and builds upon the effort of many different individuals and companies, as well as contributing a number of original works.
@@ -104,7 +104,7 @@
104
104
  ],
105
105
 
106
106
  "succeededBy": [
107
- "itself", "us", "opportunities", "them", "his", "her", "our", "my", "its", "this", "no", "some", "another", "different", "various", "several", "many", "few", "other", "unique", "special", "great", "excellent", "nice"
107
+ "itself", "us", "opportunities", "them", "a", "an", "his", "her", "our", "my", "its", "this", "no", "some", "another", "different", "various", "several", "many", "few", "other", "unique", "special", "great", "excellent", "nice"
108
108
  ],
109
109
 
110
110
  "notSucceededBy": [
package/docs/CLI.md CHANGED
@@ -10,7 +10,9 @@ Here's a quick tour of the main operations available via the CLI.
10
10
 
11
11
  Each command can accepts one or more options, in the form `--[optionName]=[value]` (The `=` is required). A detailed reference of all the available options can be found [here](Options.md).
12
12
 
13
- While the program is running, you can press `esc` to immediately exit, or, during audio playback, `enter` to skip it.
13
+ **Keyboard shortcuts**:
14
+ * While the program is running, you can press `esc` to exit immediately
15
+ * When audio is playing, you can press `enter` to skip it
14
16
 
15
17
  ## Text to speech
16
18
 
@@ -46,12 +48,12 @@ The CLI supports multiple output files. This would synthesize a text file, and s
46
48
  echogarden speak-file text.txt result.mp3 result.wav result.srt --engine=vits --speed=1.1
47
49
  ```
48
50
 
49
- Synthesize a web page (will try to extract its main article parts and omit the rest):
51
+ Synthesize a web page (it will try to extract its main article parts and omit the rest):
50
52
  ```bash
51
53
  echogarden speak-url https://example.com/hola
52
54
  ```
53
55
 
54
- Synthesize a Wikipedia article in any of its language editions:
56
+ Synthesize a Wikipedia article, in any of its language editions:
55
57
  ```bash
56
58
  echogarden speak-wikipedia "Psychologie" --language=fr
57
59
  ```
@@ -200,7 +202,7 @@ Try to identify the language of a text file, and print the probabilities to the
200
202
  echogarden detect-text-language story.txt
201
203
  ```
202
204
 
203
- Try to identify the language of a text file, and store the probabilities in a JSON file:
205
+ Try to identify the language of a text file, and store the detailed probabilities in a JSON file:
204
206
  ```bash
205
207
  echogarden detect-text-language story.txt detection-results.json
206
208
  ```
package/docs/Options.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # Configuration options reference
2
2
 
3
- For a comprehensive list of all supported engines: see [this page](Engines.md).
3
+ Here is a detailed reference for the options accepted by the Echogarden API and CLI.
4
+
5
+ Related resources you may need:
6
+ * [A comprehensive list of all supported engines](Engines.md)
7
+ * [A guide on how to use the command line interface](CLI.md)
4
8
 
5
9
  ## Synthesis
6
10
 
package/docs/Tasklist.md CHANGED
@@ -39,6 +39,7 @@
39
39
  * Button or keyboard shortcut to show and hide handles
40
40
  * Show blinking placeholder when synthesis is loading for a particular text node
41
41
  * Navigate paragraphs or sentences with keyboard shortcuts
42
+ * Minimum size when iterating text nodes to get handle
42
43
 
43
44
  ### Worker
44
45
  * Optionally omit unnecessary data from the response (decoded input, segment data, etc.)
package/docs/Technical.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  * Echogarden is written in TypeScript and targets the Node.js platform.
4
4
  * It uses ESM modules and latest ECMAScript and TypeScript features.
5
- * It does not depend on essential binary executables. Instead, all of its engines either use pure JavaScript, WebAssembly, WASI, or the ONNX runtime (with some exceptions: the CLI does invoke a few binary executables, loaded from expansion packages, for the `SoX` and `ffmpeg` tools.Using expansion packages simplifies the installation and ensures non-buggy version are used. Since SoX `v14.4.2` is broken on Windows, it bundles `v14.4.1`).
5
+ * It does not depend on essential binary executables. Instead, all of its engines either use pure JavaScript, WebAssembly, WASI, or the ONNX runtime, with some exceptions: the CLI does invoke a few binary executables, loaded from expansion packages, for the `SoX` and `ffmpeg` tools. Using expansion packages simplifies the installation and ensures non-buggy version are used. Since SoX `v14.4.2` is broken on Windows, it bundles `v14.4.1`.
6
6
  * It does not depend on essential native node.js modules requiring compilation with `node-gyp`. This greatly simplifies the installation experience for end-users (the ONNX runtime bundles precompiled NAPI modules for all supported platforms - it doesn't require any compilation during its installation).
7
7
 
8
8
  ## Package system
@@ -34,7 +34,7 @@ Currently, the biggest contributors to the size are:
34
34
 
35
35
  `onnxruntime-node` is big because it bundles pre-compiled binaries for multiple platforms. `kuromoji` is large because of its dictionary files and some unessential test code it bundles. The other three packages include large WASM binaries.
36
36
 
37
- So, yes, in the future it may be possible to reduce the core installed size by dynamically installing some of these dependencies, or using modified, "slimmed-down" custom versions.
37
+ So, yes, in the future it may be possible to reduce the core installed size by dynamically installing some of these dependencies, or using modified, "slimmed-down" versions of some packages.
38
38
 
39
39
  ## Since the code is almost all JavaScript and WASM, why can't it just run in a web browser?
40
40
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "A fully open-source speech system designed with end-users in mind.",
5
5
  "author": "Rotem Dan",
6
6
  "license": "GPL-3.0-only",