echogarden 0.6.5 → 0.6.7
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/schemas/options.json +25 -17
- package/dist/api/API.d.ts +1 -0
- package/dist/api/API.js +1 -1
- package/dist/api/API.js.map +1 -1
- package/dist/api/Alignment.d.ts +1 -0
- package/dist/api/Alignment.js +20 -0
- package/dist/api/Alignment.js.map +1 -1
- package/dist/api/Denoising.d.ts +2 -0
- package/dist/api/Denoising.js +8 -0
- package/dist/api/Denoising.js.map +1 -1
- package/dist/api/Globals.d.ts +6 -0
- package/dist/api/LanguageDetection.d.ts +2 -0
- package/dist/api/LanguageDetection.js +28 -0
- package/dist/api/LanguageDetection.js.map +1 -1
- package/dist/api/Recognition.d.ts +1 -0
- package/dist/api/Recognition.js +38 -0
- package/dist/api/Recognition.js.map +1 -1
- package/dist/api/Synthesis.d.ts +5 -3
- package/dist/api/Synthesis.js +83 -3
- package/dist/api/Synthesis.js.map +1 -1
- package/dist/api/Translation.d.ts +2 -0
- package/dist/api/Translation.js +8 -0
- package/dist/api/Translation.js.map +1 -1
- package/dist/api/Vad.d.ts +2 -0
- package/dist/api/Vad.js +20 -0
- package/dist/api/Vad.js.map +1 -1
- package/dist/cli/CLI.d.ts +1 -1
- package/dist/cli/CLI.js +126 -23
- package/dist/cli/CLI.js.map +1 -1
- package/dist/nlp/Segmentation.d.ts +2 -1
- package/dist/nlp/Segmentation.js +11 -7
- package/dist/nlp/Segmentation.js.map +1 -1
- package/dist/synthesis/GoogleCloudTTS.d.ts +0 -1
- package/dist/utilities/Timeline.js +1 -1
- package/dist/utilities/Timeline.js.map +1 -1
- package/dist/utilities/Utilities.d.ts +1 -0
- package/dist/utilities/Utilities.js +8 -0
- package/dist/utilities/Utilities.js.map +1 -1
- package/dist/utilities/WikipediaReader.js +1 -1
- package/dist/utilities/WikipediaReader.js.map +1 -1
- package/docs/CLI.md +66 -34
- package/docs/Engines.md +2 -2
- package/docs/Options.md +52 -44
- package/docs/Tasklist.md +3 -1
- package/package.json +2 -1
package/docs/Options.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Here is a detailed reference for the options accepted by the Echogarden API and CLI.
|
|
4
4
|
|
|
5
|
-
Related resources
|
|
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
8
|
|
|
@@ -10,24 +10,24 @@ Related resources:
|
|
|
10
10
|
|
|
11
11
|
Applicable to CLI commands: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`.
|
|
12
12
|
|
|
13
|
-
General
|
|
13
|
+
**General**:
|
|
14
14
|
* `engine`: identifier of the synthesis engine to use, such as `espeak` or `vits`.
|
|
15
|
-
* `language`: language code, like `en`, `fr`, `en-US`, `pt-BR`. Auto-detected if not set
|
|
15
|
+
* `language`: language code ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `en-US`, `pt-BR`. Auto-detected if not set
|
|
16
16
|
* `voice`: name of the voice to use. Can be a search string. Optional
|
|
17
17
|
* `voiceGender`: gender of the voice to use. Optional
|
|
18
18
|
* `speed`: speech rate factor, relative to default. In the range `0.1`..`10.0`. Defaults to `1.0`
|
|
19
19
|
* `pitch`: pitch factor, relative to default. In the range `0.1`..`10.0`. Defaults to `1.0`
|
|
20
20
|
* `pitchVariation`: pitch variation factor. In the range `0.1`..`10.0`. Defaults to `1.0`
|
|
21
|
-
* `splitToSentences`: split text to sentences before synthesis.
|
|
21
|
+
* `splitToSentences`: split text to sentences before synthesis. Defaults to `true`
|
|
22
22
|
* `ssml`: the input is SSML. Defaults to `false`
|
|
23
23
|
* `sentenceEndPause`: pause duration (seconds) at end of sentence. Defaults to `0.75`
|
|
24
24
|
* `segmentEndPause`: pause duration (seconds) at end of segment. Defaults to `1.0`
|
|
25
25
|
|
|
26
|
-
Plain text
|
|
26
|
+
**Plain text processing**:
|
|
27
27
|
* `plainText.paragraphBreaks`: split to paragraphs based on single (`single`), or double (`double`) line breaks. Defaults to `double`
|
|
28
|
-
* `plainText.
|
|
28
|
+
* `plainText.whitespace`: determines how to process whitespace within paragraphs. Can be `preserve` (leave as is), `removeLineBreaks` (convert line breaks to spaces) or `collapse` (convert runs of whitespace characters, including line breaks, to a single space character). Defaults to `collapse`
|
|
29
29
|
|
|
30
|
-
Post-processing
|
|
30
|
+
**Post-processing**:
|
|
31
31
|
* `postProcessing.normalizeAudio`: should normalize output audio. Defaults to `true`
|
|
32
32
|
* `postProcessing.targetPeakDb`: target peak (decibels) for normalization. Defaults to `-3`
|
|
33
33
|
* `postProcessing.maxIncreaseDb`: max gain increase (decibels) when performing normalization. Defaults to `30`
|
|
@@ -36,62 +36,62 @@ Post-processing:
|
|
|
36
36
|
* `postProcessing.timePitchShiftingMethod`: method for time and pitch shifting. Can be `sonic` or `rubberband`. Defaults to `sonic`
|
|
37
37
|
* `postProcessing.rubberband`: prefix for RubberBand options (TODO)
|
|
38
38
|
|
|
39
|
-
Language detection
|
|
39
|
+
**Language detection**:
|
|
40
40
|
* `languageDetection`: prefix to provide custom options for language detection. Same options as detailed for text language detection, down below
|
|
41
41
|
|
|
42
|
-
VITS
|
|
42
|
+
**VITS**:
|
|
43
43
|
* `vits.speakerId`: speaker ID, for VITS models that support multiple speakers. Optional
|
|
44
44
|
* `vits.customLexiconPaths`: an array of custom lexicon file paths. Optional
|
|
45
45
|
|
|
46
|
-
eSpeak-ng
|
|
46
|
+
**eSpeak-ng**:
|
|
47
47
|
* `espeak.rate`: speech rate, in eSpeak units. Overrides `speed` when set
|
|
48
48
|
* `espeak.pitch`: pitch, in eSpeak units. Overrides `pitch` when set
|
|
49
49
|
* `espeak.pitchRange`: pitch range, in eSpeak units. Overrides `pitchVariation` when set
|
|
50
50
|
|
|
51
|
-
SAM
|
|
51
|
+
**SAM**:
|
|
52
52
|
* `sam.pitch`: pitch value, between `0`..`255`. Overrides `pitch` when set
|
|
53
53
|
* `sam.speed`: speed value, between `0`..`255`. Overrides `speed` when set
|
|
54
54
|
* `sam.mouth`: mouth value, between `0`..`255` (defaults to `128`)
|
|
55
55
|
* `sam.throat`: throat value, between `0`..`255` (defaults to `128`)
|
|
56
56
|
|
|
57
|
-
SAPI
|
|
57
|
+
**SAPI**:
|
|
58
58
|
* `sapi.rate`: SAPI speech rate, in its native units. An integer number between `-10` and `10`. Setting `speed` would apply time stretching instead. The two options can be used together
|
|
59
59
|
|
|
60
|
-
Microsoft Speech Platform
|
|
60
|
+
**Microsoft Speech Platform**:
|
|
61
61
|
* `msspeech.rate`: same units and effects as the SAPI speech rate
|
|
62
62
|
|
|
63
|
-
Coqui Server
|
|
63
|
+
**Coqui Server**:
|
|
64
64
|
* `coquiServer.serverUrl`: server URL
|
|
65
65
|
* `coquiServer.speakerId`: speaker ID (if applicable)
|
|
66
66
|
|
|
67
|
-
Google Cloud
|
|
67
|
+
**Google Cloud**:
|
|
68
68
|
* `googleCloud.apiKey`: API key (required)
|
|
69
69
|
* `googleCloud.pitchDeltaSemitones`: pitch delta in semitones. Overrides `pitch` when set
|
|
70
70
|
* `googleCloud.customVoice.model`: name of custom voice
|
|
71
71
|
* `googleCloud.customVoice.reportedUsage`: reported usage of custom voice
|
|
72
72
|
|
|
73
|
-
Azure Cognitive Services
|
|
73
|
+
**Azure Cognitive Services**:
|
|
74
74
|
* `microsoftAzure.subscriptionKey`: subscription key (required)
|
|
75
75
|
* `microsoftAzure.serviceRegion`: service region (required)
|
|
76
76
|
* `microsoftAzure.pitchDeltaHz`: pitch delta in Hz. Overrides `pitch` when set
|
|
77
77
|
|
|
78
|
-
Amazon Polly
|
|
78
|
+
**Amazon Polly**:
|
|
79
79
|
* `amazonPolly.region`: region (required)
|
|
80
80
|
* `amazonPolly.accessKeyId`: access key ID (required)
|
|
81
81
|
* `amazonPolly.secretAccessKey`: secret access key (required)
|
|
82
82
|
* `amazonPolly.pollyEngine`: Amazon Polly engine kind, can be `standard` or `neural`. Defaults to `neural`
|
|
83
83
|
* `amazonPolly.lexiconNames`: An array of lexicon names. Optional
|
|
84
84
|
|
|
85
|
-
Elevenlabs
|
|
85
|
+
**Elevenlabs**:
|
|
86
86
|
* `elevenLabs.apiKey`: API key (required)
|
|
87
|
+
* `elevenLabs.modelId`: Model identifier. Defaults to `eleven_monolingual_v1`
|
|
87
88
|
* `elevenLabs.stability`: stability. Defaults to `0.5`
|
|
88
89
|
* `elevenLabs.similarityBoost`: similarity boost. Defaults to `0.5`
|
|
89
|
-
* `elevenLabs.modelId`: Model identifier. Defaults to `eleven_monolingual_v1`
|
|
90
90
|
|
|
91
|
-
Google Translate
|
|
91
|
+
**Google Translate**:
|
|
92
92
|
* `googleTranslate.tld`: top level domain to to connect to. Can change the dialect for a small number or voices. For example `us` gives American English for `en`, while `com` gives British English for `en`. Defaults to `us`
|
|
93
93
|
|
|
94
|
-
Microsoft Edge
|
|
94
|
+
**Microsoft Edge**:
|
|
95
95
|
* `microsoftEdge.trustedClientToken`: trusted client token (required). A special token required to use the service
|
|
96
96
|
* `microsoftEdge.pitchDeltaHz`: pitch delta in Hz. Overrides `pitch` when set
|
|
97
97
|
|
|
@@ -99,31 +99,31 @@ Microsoft Edge:
|
|
|
99
99
|
|
|
100
100
|
Applicable to CLI command: `transcribe`.
|
|
101
101
|
|
|
102
|
-
General
|
|
102
|
+
**General**:
|
|
103
103
|
* `engine`: identifier of the recognition engine to use, such as `whisper` or `vosk`
|
|
104
|
-
* `language`: language code for the audio, like `en`, `fr`, `
|
|
104
|
+
* `language`: language code ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)) for the audio, like `en`, `fr`, `de`. Auto-detected if not set
|
|
105
105
|
|
|
106
|
-
Whisper
|
|
106
|
+
**Whisper**:
|
|
107
107
|
* `whisper.model`: selects which Whisper model to use. Can be `tiny`, `tiny.en`, `base`, `base.en`, `small`, `small.en`, `medium`, `medium.en`, `large` (same as `large-v2`), `large-v1`, `large-v2`. Defaults to `tiny`
|
|
108
108
|
|
|
109
|
-
Vosk
|
|
109
|
+
**Vosk**:
|
|
110
110
|
* `vosk.modelPath`: path to the Vosk model to be used
|
|
111
111
|
|
|
112
|
-
Silero
|
|
112
|
+
**Silero**:
|
|
113
113
|
* `silero.modelPath`: path to a Silero model. Note that latest `en`, `de`, `fr` and `uk` models are automatically installed when needed based on the selected language. This should only be used to manually specify a different model, otherwise specify `language` instead
|
|
114
114
|
|
|
115
|
-
Google Cloud
|
|
115
|
+
**Google Cloud**:
|
|
116
116
|
* `googleCloud.apiKey`: Google Cloud API key (required)
|
|
117
117
|
* `googleCloud.alternativeLanguageCodes`: An array of alternative language codes. Optional
|
|
118
118
|
* `googleCloud.profanityFilter`: censor profanity. Defaults to `false`
|
|
119
119
|
* `googleCloud.autoPunctuation`: add punctuation automatically. Defaults to `true`
|
|
120
120
|
* `googleCloud.useEnhancedModel`: use enhanced model. Defaults to `true`
|
|
121
121
|
|
|
122
|
-
Azure Cognitive Services
|
|
122
|
+
**Azure Cognitive Services**:
|
|
123
123
|
* `azureCognitiveServices.subscriptionKey`: subscription key (required)
|
|
124
124
|
* `azureCognitiveServices.serviceRegion`: service region (required)
|
|
125
125
|
|
|
126
|
-
Amazon Transcribe
|
|
126
|
+
**Amazon Transcribe**:
|
|
127
127
|
* `amazonTranscribe.region`: region (required)
|
|
128
128
|
* `amazonTranscribe.accessKeyId`: access key ID (required)
|
|
129
129
|
* `amazonTranscribe.secretAccessKey`: secret access key (required)
|
|
@@ -132,14 +132,14 @@ Amazon Transcribe:
|
|
|
132
132
|
|
|
133
133
|
Applicable to CLI command: `align`.
|
|
134
134
|
|
|
135
|
-
General
|
|
135
|
+
**General**:
|
|
136
136
|
* `method`: what alignment algorithm to use, can be `dtw`, `dtw-ra` or `whisper`. Defaults to `dtw`
|
|
137
|
-
* `language`: language code for the audio and transcript, like `en`, `fr`, `en-US`, `pt-BR`. Auto-detected if not set
|
|
137
|
+
* `language`: language code for the audio and transcript ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `en-US`, `pt-BR`. Auto-detected from transcript if not set
|
|
138
138
|
|
|
139
|
-
DTW
|
|
140
|
-
* `dtw.windowDuration`: time duration (in seconds) of the Sakoe-Chiba window when performing DTW alignment. Defaults to `120`. If your audio is longer than two minutes, consider increasing this value for better results. Note that a higher value would consume quadratically larger amounts of memory. A value of `600` (
|
|
139
|
+
**DTW**:
|
|
140
|
+
* `dtw.windowDuration`: time duration (in seconds) of the Sakoe-Chiba window when performing DTW alignment. Defaults to `120`. If your audio is longer than two minutes, consider increasing this value for better results. Note that a higher value would consume quadratically larger amounts of memory. A value of `600` (10 minutes) would already require several Gigabytes of memory when the audio duration is 10 minutes or greater.
|
|
141
141
|
|
|
142
|
-
DTW-RA only
|
|
142
|
+
**DTW-RA only**:
|
|
143
143
|
* `dtw.recognition`: prefix for providing custom recognition options when using `dtw-ra` method, for example: setting `dtw.recognition.engine = silero`
|
|
144
144
|
* `dtw.phoneAlignmentMethod`: algorithm to use when aligning phones: can either be set to `dtw` or `interpolate`. Defaults to `dtw`
|
|
145
145
|
|
|
@@ -147,15 +147,16 @@ DTW-RA only:
|
|
|
147
147
|
|
|
148
148
|
Applicable to CLI command: `translate-speech`.
|
|
149
149
|
|
|
150
|
-
General
|
|
150
|
+
**General**:
|
|
151
151
|
* `engine`: only `whisper` supported
|
|
152
|
+
* `sourceLanguage`: the source language code for the input speech. Auto-detected if not set
|
|
153
|
+
* `targetLanguage`: the target language code for the output speech. Only `en` supported at this time.
|
|
152
154
|
|
|
153
|
-
Whisper
|
|
154
|
-
* `whisper.
|
|
155
|
+
**Whisper**:
|
|
156
|
+
* `whisper.model`: Whisper model to use (multilingual engines only). Defaults to `tiny`
|
|
155
157
|
|
|
156
158
|
## Language detection
|
|
157
159
|
|
|
158
|
-
|
|
159
160
|
### Speech language detection
|
|
160
161
|
|
|
161
162
|
Applicable to CLI command: `detect-speech-langauge`.
|
|
@@ -168,32 +169,32 @@ Applicable to CLI command: `detect-speech-langauge`.
|
|
|
168
169
|
Applicable to CLI command: `detect-text-langauge`.
|
|
169
170
|
|
|
170
171
|
* `engine`: `tinyld` or `fasttext`. Defaults to `tinyld`
|
|
171
|
-
* `defaultLanguage`: language to fall back to when confidence is low. Defaults to `en`
|
|
172
|
+
* `defaultLanguage`: language to fall back to when confidence of is low. Defaults to `en`
|
|
172
173
|
* `fallbackThresholdProbability`: confidence threshold to cause fallback. Defaults to `0.05`
|
|
173
174
|
|
|
174
175
|
## Voice activity detection
|
|
175
176
|
|
|
176
177
|
Applicable to CLI command: `detect-voice-activity`.
|
|
177
178
|
|
|
178
|
-
General
|
|
179
|
+
**General**:
|
|
179
180
|
* `engine`: VAD engine to use. Can be `webrtc`, `silero` or `rnnoise`. Defaults to `webrtc`
|
|
180
181
|
* `activityThreshold`: minimum predicted probability for determining a frame as having speech activity. Defaults to `0.5`
|
|
181
182
|
|
|
182
|
-
WebRTC
|
|
183
|
+
**WebRTC**:
|
|
183
184
|
* `webrtc.frameDuration`: WebRTC frame duration (ms). Can be `10`, `20` or `30`. Defaults to `30`
|
|
184
185
|
* `webrtc.mode`: WebRTC mode (aggressiveness). Can be `0`, `1`, `2` or `3`. Defaults to `1`
|
|
185
186
|
|
|
186
|
-
Silero
|
|
187
|
+
**Silero**:
|
|
187
188
|
* `silero.frameDuration`: Silero frame duration (ms). Can be `30`, `60` or `90`. Defaults to `90`
|
|
188
189
|
|
|
189
190
|
## Speech denoising
|
|
190
191
|
|
|
191
192
|
Applicable to CLI command: `denoise`.
|
|
192
193
|
|
|
193
|
-
General
|
|
194
|
+
**General**:
|
|
194
195
|
* `engine`: can only be `rnnoise`
|
|
195
196
|
|
|
196
|
-
Postprocessing
|
|
197
|
+
**Postprocessing**:
|
|
197
198
|
* `postProcessing.normalizeAudio`: should normalize output audio. Defaults to `false`
|
|
198
199
|
* `postProcessing.targetPeakDb`: target peak (decibels) for normalization. Defaults to `-3`
|
|
199
200
|
* `postProcessing.maxIncreaseDb`: max gain increase (decibels) when performing normalization. Defaults to `30`
|
|
@@ -203,6 +204,13 @@ Postprocessing:
|
|
|
203
204
|
|
|
204
205
|
Applicable to CLI command: `list-voices`.
|
|
205
206
|
|
|
207
|
+
**General**
|
|
206
208
|
* `language`: language code to filter by (optional)
|
|
207
209
|
* `voice`: name or name pattern to filter by (optional)
|
|
208
210
|
* `voiceGender`: gender to filter by (optional)
|
|
211
|
+
|
|
212
|
+
Also accepted are engine-specific options that may be required in order to retrieve the voice list, especially for cloud engines. Examples:
|
|
213
|
+
* `googleCloud.apiKey`
|
|
214
|
+
* `microsoftAzure.subscriptionKey`, `microsoftAzure.serviceRegion`
|
|
215
|
+
* `amazonPolly.region`, `amazonPolly.accessKeyId`, `amazonPolly.secretAccessKey`
|
|
216
|
+
* `elevenLabs.apiKey`, `elevenLabs.modelId`
|
package/docs/Tasklist.md
CHANGED
|
@@ -177,7 +177,8 @@
|
|
|
177
177
|
* Bring back option to use eSpeak DTW based alignment on segments, as an alternative approach
|
|
178
178
|
* The segment output can be use to split to segment files, otherwise it is possible to try to guess using the pause lengths or voice activity detection
|
|
179
179
|
* Way to specify model size, such that the English-only/multilingual would be auto selection for sizes other than `tiny`?
|
|
180
|
-
* Accept custom prompt
|
|
180
|
+
* Accept custom prompt through an option
|
|
181
|
+
* Add sampling and temperature support to decoder
|
|
181
182
|
|
|
182
183
|
### Alignment
|
|
183
184
|
* Warn when input is larger than DTW window (this can also happen when synthesizing SSML, which can't be split to segments)
|
|
@@ -240,6 +241,7 @@
|
|
|
240
241
|
* Live vosk alternatives events
|
|
241
242
|
* Implement beam search for Whisper decoder
|
|
242
243
|
* Implement beam search for Silero decoder
|
|
244
|
+
* Investigate exporting Whisper models to 16-bit and 8-bit quantized ONNX
|
|
243
245
|
|
|
244
246
|
### Web
|
|
245
247
|
* Web based frontend UI to the server
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "echogarden",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"description": "An integrated speech system, providing a range of synthesis, recognition and other processing tools designed to be directly accessible to end-users.",
|
|
5
5
|
"author": "Rotem Dan",
|
|
6
6
|
"license": "GPL-3.0-only",
|
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
"ndarray-ops": "^1.2.2",
|
|
93
93
|
"onnxruntime-node": "^1.15.1",
|
|
94
94
|
"sam-js": "^0.2.1",
|
|
95
|
+
"strip-ansi": "^7.1.0",
|
|
95
96
|
"tar": "^6.1.15",
|
|
96
97
|
"tinyld": "^1.3.4",
|
|
97
98
|
"ws": "^8.13.0",
|