echogarden 3.3.0 → 3.4.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 +5 -0
- package/dist/api/Synthesis.d.ts.map +1 -1
- package/dist/api/Synthesis.js +31 -21
- package/dist/api/Synthesis.js.map +1 -1
- package/docs/API.md +51 -34
- package/docs/CLI.md +41 -6
- package/docs/Contributing.md +1 -1
- package/docs/Development.md +22 -18
- package/docs/Engines.md +0 -1
- package/docs/Licenses.md +2 -0
- package/docs/Options.md +56 -4
- package/docs/Releases.md +45 -14
- package/docs/Server.md +14 -5
- package/docs/Tasklist.md +37 -1
- package/docs/Technical.md +1 -0
- package/package.json +14 -12
- package/src/api/Synthesis.ts +39 -27
package/docs/Options.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Here's a detailed reference for all the options accepted by the Echogarden CLI and API.
|
|
4
4
|
|
|
5
5
|
**Related pages**:
|
|
6
|
+
|
|
6
7
|
* [List of all supported engines](Engines.md)
|
|
7
8
|
* [Quick guide to the command line interface](CLI.md)
|
|
8
9
|
* [Node.js API reference](API.md)
|
|
@@ -12,6 +13,7 @@ Here's a detailed reference for all the options accepted by the Echogarden CLI a
|
|
|
12
13
|
Applies to CLI operations: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`, API method: `synthesize`
|
|
13
14
|
|
|
14
15
|
**General**:
|
|
16
|
+
|
|
15
17
|
* `engine`: identifier of the synthesis engine to use. Can be `kokoro`, `vits`, `pico`, `flite`, `gnuspeech`, `espeak`, `sam`, `sapi`, `msspeech`, `coqui-server`, `google-cloud`, `microsoft-azure`, `amazon-polly`, `openai-cloud`, `elevenlabs`, `google-translate` or `microsoft-edge` (see [the engines documentation page](Engines.md) for more detailed information about each engine). Auto-selected if not set
|
|
16
18
|
* `language`: language code, can be ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `en-US`, `pt-BR`, etc. [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3), or a plain language name like `french`. Auto-detected if not set
|
|
17
19
|
* `voice`: name of the voice to use. Can be a search string. Auto-selected if not set
|
|
@@ -29,10 +31,12 @@ Applies to CLI operations: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`
|
|
|
29
31
|
* `languageDetection`: prefix to provide options for text language detection. Options detailed in section for text language detection
|
|
30
32
|
|
|
31
33
|
**Plain text processing**:
|
|
34
|
+
|
|
32
35
|
* `plainText.paragraphBreaks`: split to paragraphs based on single (`single`), or double (`double`) line breaks. Defaults to `double`
|
|
33
36
|
* `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 `preserve`
|
|
34
37
|
|
|
35
38
|
**Post-processing**:
|
|
39
|
+
|
|
36
40
|
* `postProcessing.normalizeAudio`: should normalize output audio. Defaults to `true`
|
|
37
41
|
* `postProcessing.targetPeak`: target peak (decibels) for normalization. Defaults to `-3`
|
|
38
42
|
* `postProcessing.maxGainIncrease`: max gain increase (decibels) when performing normalization. Defaults to `30`
|
|
@@ -42,55 +46,67 @@ Applies to CLI operations: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`
|
|
|
42
46
|
* `postProcessing.rubberband`: prefix for RubberBand options (TODO: document options)
|
|
43
47
|
|
|
44
48
|
**Output audio format**:
|
|
49
|
+
|
|
45
50
|
* `outputAudioFormat.codec`: Codec identifier (**Note**: API only. CLI uses file extensions 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](API.md]). Optional
|
|
46
|
-
* `outputAudioFormat.bitrate`: Custom bitrate for encoding, applies only to
|
|
51
|
+
* `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
|
|
47
52
|
|
|
48
53
|
**Kokoro**:
|
|
54
|
+
|
|
49
55
|
* `kokoro.model`: model variant to use. Can be `82m-v1.0-fp32` or `82m-v1.0-quantized`. **Note**: the quantized model, while having lower memory usage, is significantly slower than the non-quantized (FP32) one. Defaults to `v1.0-fp32`
|
|
50
56
|
* `kokoro.provider`: ONNX execution provider to use. Can be `cpu`, `dml` (Windows only, uses [DirectML](https://microsoft.github.io/DirectML/)-based GPU acceleration), or `cuda` (Linux only, requires system-wide installation of CUDA and cuDNN SDKs, see [this guide](./CUDA.md) for more detailed information). **Note**: `dml` provider (DirectML) seems to currently fail on inference. The cause for this error is [still under investigation](https://github.com/echogarden-project/echogarden/issues/94). Defaults to `cpu`
|
|
51
57
|
|
|
52
58
|
**VITS**:
|
|
59
|
+
|
|
53
60
|
* `vits.speakerId`: speaker ID, for VITS models that support multiple speakers. Defaults to `0`
|
|
54
61
|
* `vits.provider`: ONNX execution provider to use. Can be `cpu`, `dml` (Windows only, uses [DirectML](https://microsoft.github.io/DirectML/)-based GPU acceleration), or `cuda` (Linux only, requires system-wide installation of CUDA and cuDNN SDKs, see [this guide](./CUDA.md) for more detailed information). Using GPU acceleration for VITS may or may not be faster than CPU, depending on your hardware. Defaults to `cpu`
|
|
55
62
|
|
|
56
63
|
**eSpeak**:
|
|
64
|
+
|
|
57
65
|
* `espeak.rate`: speech rate, in eSpeak units. Overrides `speed` when set
|
|
58
66
|
* `espeak.pitch`: pitch, in eSpeak units. Overrides `pitch` when set
|
|
59
67
|
* `espeak.pitchRange`: pitch range, in eSpeak units. Overrides `pitchVariation` when set
|
|
60
68
|
* `espeak.useKlatt`: use the Klatt synthesis method. Defaults to `false`
|
|
61
69
|
|
|
62
70
|
**SAM**:
|
|
71
|
+
|
|
63
72
|
* `sam.pitch`: pitch value, between `0`..`255`. Overrides `pitch` when set
|
|
64
73
|
* `sam.speed`: speed value, between `0`..`255`. Overrides `speed` when set
|
|
65
74
|
* `sam.mouth`: mouth value, between `0`..`255` (defaults to `128`)
|
|
66
75
|
* `sam.throat`: throat value, between `0`..`255` (defaults to `128`)
|
|
67
76
|
|
|
68
77
|
**Gnuspeech**
|
|
78
|
+
|
|
69
79
|
* `gnuspeech.tempo`: controls speech rate. Defaults to the value of the general `speed` option (`1.0` by default)
|
|
70
80
|
* `gnuspeech.controlRate`: control rate. Defaults to `250.0`
|
|
71
81
|
|
|
72
82
|
**SAPI**:
|
|
83
|
+
|
|
73
84
|
* `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
|
|
74
85
|
|
|
75
86
|
**Microsoft Speech Platform**:
|
|
87
|
+
|
|
76
88
|
* `msspeech.rate`: same units and effects as the SAPI speech rate
|
|
77
89
|
|
|
78
90
|
**Coqui Server**:
|
|
91
|
+
|
|
79
92
|
* `coquiServer.serverUrl`: server URL
|
|
80
93
|
* `coquiServer.speakerId`: speaker ID (if applicable)
|
|
81
94
|
|
|
82
95
|
**Google Cloud**:
|
|
96
|
+
|
|
83
97
|
* `googleCloud.apiKey`: API key (required)
|
|
84
98
|
* `googleCloud.pitchDeltaSemitones`: pitch delta in semitones. Overrides `pitch` when set
|
|
85
99
|
* `googleCloud.customVoice.model`: name of custom voice
|
|
86
100
|
* `googleCloud.customVoice.reportedUsage`: reported usage of custom voice
|
|
87
101
|
|
|
88
102
|
**Azure Cognitive Services**:
|
|
103
|
+
|
|
89
104
|
* `microsoftAzure.subscriptionKey`: subscription key (required)
|
|
90
105
|
* `microsoftAzure.serviceRegion`: service region (required)
|
|
91
106
|
* `microsoftAzure.pitchDeltaHz`: pitch delta in Hz. Overrides `pitch` when set
|
|
92
107
|
|
|
93
108
|
**Amazon Polly**:
|
|
109
|
+
|
|
94
110
|
* `amazonPolly.region`: region (required)
|
|
95
111
|
* `amazonPolly.accessKeyId`: access key ID (required)
|
|
96
112
|
* `amazonPolly.secretAccessKey`: secret access key (required)
|
|
@@ -98,6 +114,7 @@ Applies to CLI operations: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`
|
|
|
98
114
|
* `amazonPolly.lexiconNames`: an array of lexicon names. Optional
|
|
99
115
|
|
|
100
116
|
**OpenAI Cloud**:
|
|
117
|
+
|
|
101
118
|
* `openAICloud.apiKey`: API key (required)
|
|
102
119
|
* `openAICloud.organization`: organization identifier. Optional
|
|
103
120
|
* `openAICloud.baseURL`: override the default base URL for the API. Optional
|
|
@@ -107,6 +124,7 @@ Applies to CLI operations: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`
|
|
|
107
124
|
* `openAICloud.maxRetries`: maximum retries on failure. Defaults to 10
|
|
108
125
|
|
|
109
126
|
**Elevenlabs**:
|
|
127
|
+
|
|
110
128
|
* `elevenLabs.apiKey`: API key (required)
|
|
111
129
|
* `elevenLabs.modelId`: model ID. See [this page](https://elevenlabs.io/docs/models) for an up-to-date list of available models. Defaults to `eleven_multilingual_v2`
|
|
112
130
|
* `elevenLabs.stability`: stability. Defaults to `0.5`
|
|
@@ -116,12 +134,15 @@ Applies to CLI operations: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`
|
|
|
116
134
|
* `elevenLabs.seed`: seed for generation. Integer value that can make the generation predictable. Optional
|
|
117
135
|
|
|
118
136
|
**Deepgram**:
|
|
137
|
+
|
|
119
138
|
* `deepgram.apiKey`: API key (required)
|
|
120
139
|
|
|
121
140
|
**Google Translate**:
|
|
141
|
+
|
|
122
142
|
* `googleTranslate.tld`: top level domain to connect to. Can change the dialect for a small number of voices. For example `us` gives American English for `en`, while `com` gives British English for `en`. Defaults to `us`
|
|
123
143
|
|
|
124
144
|
**Microsoft Edge**:
|
|
145
|
+
|
|
125
146
|
* `microsoftEdge.trustedClientToken`: trusted client token (required). A special token required to use the service
|
|
126
147
|
* `microsoftEdge.pitchDeltaHz`: pitch delta in Hz. Overrides `pitch` when set
|
|
127
148
|
|
|
@@ -130,11 +151,13 @@ Applies to CLI operations: `speak`, `speak-file`, `speak-url`, `speak-wikipedia`
|
|
|
130
151
|
Applies to CLI operation: `list-voices`, API method: `requestVoiceList`
|
|
131
152
|
|
|
132
153
|
**General**:
|
|
154
|
+
|
|
133
155
|
* `language`: language code to filter by. Optional
|
|
134
156
|
* `voice`: name or name pattern to filter by. Optional
|
|
135
157
|
* `voiceGender`: gender to filter by. Optional
|
|
136
158
|
|
|
137
159
|
Also accepted are the following engine-specific options that may be required in order to retrieve the voice list:
|
|
160
|
+
|
|
138
161
|
* `googleCloud.apiKey`
|
|
139
162
|
* `microsoftAzure.subscriptionKey`, `microsoftAzure.serviceRegion`
|
|
140
163
|
* `amazonPolly.region`, `amazonPolly.accessKeyId`, `amazonPolly.secretAccessKey`
|
|
@@ -146,6 +169,7 @@ Also accepted are the following engine-specific options that may be required in
|
|
|
146
169
|
Applies to CLI operation: `transcribe`, API method: `recognize`
|
|
147
170
|
|
|
148
171
|
**General**:
|
|
172
|
+
|
|
149
173
|
* `engine`: identifier of the recognition engine to use, can be `whisper`, `whisper.cpp`, `google-cloud`, `microsoft-azure`, `amazon-transcribe`, `openai-cloud`, `deepgram` (see [the full engine list](Engines.md) for more detailed information)
|
|
150
174
|
* `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
|
|
151
175
|
* `crop`: crop to active parts using voice activity detection before starting recognition. Defaults to `true`
|
|
@@ -157,7 +181,8 @@ Applies to CLI operation: `transcribe`, API method: `recognize`
|
|
|
157
181
|
* `sourceSeparation`: prefix to provide options for source separation when `isolate` is set to `true`. Options detailed in section for source separation
|
|
158
182
|
|
|
159
183
|
**Whisper**:
|
|
160
|
-
|
|
184
|
+
|
|
185
|
+
* `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`, `large-v3`, `large-v3-turbo`. The following quantized models are also supported: `tiny-q5_1`,`tiny-q8_0`, `tiny.en-q5_1`, `tiny.en-q8_0`,`base-q5_1`, `base-q8_0`, `base.en-q5_1`, `base.en-q8_0`,`small-q5_1`, `small.en-q5_1`, `small.en-q8_0`,`medium-q5_0`, `medium.en-q5_0`, `medium.en-q8_0`, `large-v2-q5_0`, `large-v2-q8_0`, `large-v3-q5_0`, `large-v3-turbo-q5_0`, `large-v3-turbo-q8_0`. Defaults to `base` or `base.en` for English
|
|
161
186
|
* `whisper.enableGPU`: enable GPU processing. Setting to `true` will try to use a CUDA build, if available for your architecture (currently CUDA 12.4 builds are available for Windows x64 and Linux x64).
|
|
162
187
|
* `whisper.threadCount`: number of threads to use, defaults to `4`
|
|
163
188
|
* `whisper.gpuDeviceIndex`: GPU device index (if GPU is enabled), defaults to `0`
|
|
@@ -174,6 +199,7 @@ Applies to CLI operation: `transcribe`, API method: `recognize`
|
|
|
174
199
|
* `whisper.seed`: provide a custom random seed for token selection when temperature is greater than 0. Uses a constant seed by default to ensure reproducibility
|
|
175
200
|
|
|
176
201
|
**Whisper.cpp CLI**:
|
|
202
|
+
|
|
177
203
|
* `whisperCpp.model`: selects which `whisper.cpp` model to use. Model identifiers and defaults are identical to those in the `whisper` engine
|
|
178
204
|
* `whisperCpp.executablePath`: a path to a custom `whisper.cpp` `whisper-cli` executable (currently required for macOS)
|
|
179
205
|
* `whisperCpp.build`: type of `whisper.cpp` build to use. Can be set to `cpu`, `cublas-12.4.0` or `custom`. By default, builds are auto-selected and downloaded for Windows x64 and Linux x64 (for both `cpu` and `cublas-12.4.0`). The Linux CUDA build requires a [system-wide installation of CUDA Toolkit 12.4+](https://developer.nvidia.com/cuda-downloads), available on path. Using other builds requires providing a custom `executablePath`, which will automatically set this option to `custom`
|
|
@@ -191,6 +217,7 @@ Applies to CLI operation: `transcribe`, API method: `recognize`
|
|
|
191
217
|
* `whisperCpp.verbose`: show all CLI messages during execution. Defaults to `false`
|
|
192
218
|
|
|
193
219
|
**Google Cloud**:
|
|
220
|
+
|
|
194
221
|
* `googleCloud.apiKey`: Google Cloud API key (required)
|
|
195
222
|
* `googleCloud.alternativeLanguageCodes`: An array of alternative language codes. Optional
|
|
196
223
|
* `googleCloud.profanityFilter`: censor profanity. Defaults to `false`
|
|
@@ -198,15 +225,18 @@ Applies to CLI operation: `transcribe`, API method: `recognize`
|
|
|
198
225
|
* `googleCloud.useEnhancedModel`: use enhanced model. Defaults to `true`
|
|
199
226
|
|
|
200
227
|
**Azure Cognitive Services**:
|
|
228
|
+
|
|
201
229
|
* `microsoftAzure.subscriptionKey`: subscription key (required)
|
|
202
230
|
* `microsoftAzure.serviceRegion`: service region (required)
|
|
203
231
|
|
|
204
232
|
**Amazon Transcribe**:
|
|
233
|
+
|
|
205
234
|
* `amazonTranscribe.region`: region (required)
|
|
206
235
|
* `amazonTranscribe.accessKeyId`: access key ID (required)
|
|
207
236
|
* `amazonTranscribe.secretAccessKey`: secret access key (required)
|
|
208
237
|
|
|
209
238
|
**OpenAI Cloud**:
|
|
239
|
+
|
|
210
240
|
* `openAICloud.apiKey`: API key (required)
|
|
211
241
|
* `openAICloud.model`: model to use. When using the default provider (OpenAI), can be `whisper-1`, `gpt-4o-mini-transcribe` or `gpt-4o-transcribe`. For a custom provider, like Groq, see its documentation
|
|
212
242
|
* `openAICloud.organization`: organization identifier. Optional
|
|
@@ -218,6 +248,7 @@ Applies to CLI operation: `transcribe`, API method: `recognize`
|
|
|
218
248
|
* `openAICloud.requestWordTimestamps`: request word timestamps from the server. Defaults to `true` for the default OpenAI endpoint, and `false` if a custom one is set using `baseURL`
|
|
219
249
|
|
|
220
250
|
**Deepgram**:
|
|
251
|
+
|
|
221
252
|
* `deepgram.apiKey`: API key (required)
|
|
222
253
|
* `deepgram.model`: model to use. Can be any model the server supports, like `nova-3`, `nova-2`, `nova`, `enhanced`, `base` or `whisper` (see model list [here](https://developers.deepgram.com/docs/model)). Defaults to `nova-3`
|
|
223
254
|
* `deepgram.punctuate`: request to add punctuation and capitalization to the resulting transcript. Defaults to `true`
|
|
@@ -227,6 +258,7 @@ Applies to CLI operation: `transcribe`, API method: `recognize`
|
|
|
227
258
|
Applies to CLI operation: `align`, API method: `align`
|
|
228
259
|
|
|
229
260
|
**General**:
|
|
261
|
+
|
|
230
262
|
* `engine`: alignment algorithm to use, can be `dtw`, `dtw-ra` or `whisper`. Defaults to `dtw`
|
|
231
263
|
* `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
|
|
232
264
|
* `crop`: crop to active parts using voice activity detection before starting. Defaults to `true`
|
|
@@ -237,14 +269,17 @@ Applies to CLI operation: `align`, API method: `align`
|
|
|
237
269
|
* `sourceSeparation`: prefix to provide options for source separation when `isolate` is set to `true`. Options detailed in section for source separation
|
|
238
270
|
|
|
239
271
|
**Plain text processing**:
|
|
272
|
+
|
|
240
273
|
* `plainText.paragraphBreaks`: split transcript to paragraphs based on single (`single`), or double (`double`) line breaks. Defaults to `double`
|
|
241
274
|
* `plainText.whitespace`: determines how to process whitespace within transcript 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 `preserve`
|
|
242
275
|
|
|
243
276
|
**DTW**:
|
|
277
|
+
|
|
244
278
|
* `dtw.granularity`: adjusts the MFCC frame width and hop size based on the profile selected. Can be set to either `xx-low` (400ms width, 160ms hop), `x-low` (200ms width, 80ms hop), `low` (100ms width, 40ms hop), `medium` (50ms width, 20ms hop), `high` (25ms width, 10ms hop), `x-high` (20ms width, 5ms hop). For multi-pass processing, multiple granularities can be provided, like `dtw.granularity=['xx-low','medium']`. Auto-selected by default.
|
|
245
|
-
* `dtw.windowDuration`: sets the maximum duration of the Sakoe-Chiba window when performing DTW alignment. The value can be specified in seconds, like `240`, or as
|
|
279
|
+
* `dtw.windowDuration`: sets the maximum duration of the Sakoe-Chiba window when performing DTW alignment. The value can be specified in seconds, like `240`, or as an integer percentage (formatted like `15%`), relative to the total duration of the source audio. The estimated memory requirement is shown in the log before alignment starts. Recommended to be set to at least 10% - 20% of total audio duration. For multi-pass processing, multiple durations can be provided (which can mix absolute and relative values), like `dtw.windowDuration=['15%',20]`. Auto-selected by default
|
|
246
280
|
|
|
247
281
|
**DTW-RA**:
|
|
282
|
+
|
|
248
283
|
* `recognition`: prefix to provide recognition options when using `dtw-ra` method, for example: setting `recognition.engine = whisper` and `recognition.whisper.model = base.en`
|
|
249
284
|
* `dtw.phoneAlignmentMethod`: algorithm to use when aligning phones: can either be set to `dtw` or `interpolation`. Defaults to `dtw`
|
|
250
285
|
|
|
@@ -265,6 +300,7 @@ Applies to the `whisper` engine only. To provide Whisper options for `dtw-ra`, u
|
|
|
265
300
|
Applies to CLI operation: `translate-speech`, API method: `translateSpeech`
|
|
266
301
|
|
|
267
302
|
**General**:
|
|
303
|
+
|
|
268
304
|
* `engine`: Can be `whisper`, `whisper.cpp` or `openai-cloud`. Defaults to `whisper`
|
|
269
305
|
* `sourceLanguage`: the source language code for the input speech. Auto-detected if not set
|
|
270
306
|
* `targetLanguage`: the target language code for the output speech. Only `en` (English) supported by the `whisper` engine. Optional
|
|
@@ -291,6 +327,7 @@ Applies to CLI operation: `translate-speech`, API method: `translateSpeech`
|
|
|
291
327
|
Applies to CLI operation: `translate-text`, API method: `translateText`
|
|
292
328
|
|
|
293
329
|
**General**:
|
|
330
|
+
|
|
294
331
|
* `engine`: only `google-translate` supported
|
|
295
332
|
* `sourceLanguage`: the source language code for the input text. Auto-detected if not set
|
|
296
333
|
* `targetLanguage`: the target language code for the output text. Required
|
|
@@ -298,6 +335,7 @@ Applies to CLI operation: `translate-text`, API method: `translateText`
|
|
|
298
335
|
* `plainText`: plain text processing options. Optional
|
|
299
336
|
|
|
300
337
|
**Google Translate**:
|
|
338
|
+
|
|
301
339
|
* `googleTranslate.tld`: top-level domain to request from. Defaults to `com`
|
|
302
340
|
* `googleTranslate.maxCharactersPerPart`: maximum number of characters in each part requested from the server. Defaults to 2000
|
|
303
341
|
|
|
@@ -306,6 +344,7 @@ Applies to CLI operation: `translate-text`, API method: `translateText`
|
|
|
306
344
|
Applies to CLI operation: `align-translation`, API method: `alignTranslation`
|
|
307
345
|
|
|
308
346
|
**General**:
|
|
347
|
+
|
|
309
348
|
* `engine`: alignment algorithm to use, can only be `whisper`. Defaults to `whisper`
|
|
310
349
|
* `sourceLanguage`: language code for the source audio ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `zh`, etc. Auto-detected from audio if not set
|
|
311
350
|
* `targetLanguage`: language code for the translated transcript. Can only be `en` for now. Defaults to `en`
|
|
@@ -316,6 +355,7 @@ Applies to CLI operation: `align-translation`, API method: `alignTranslation`
|
|
|
316
355
|
* `sourceSeparation`: prefix to provide options for source separation when `isolate` is set to `true`. Options detailed in section for source separation
|
|
317
356
|
|
|
318
357
|
**Whisper**:
|
|
358
|
+
|
|
319
359
|
* `whisper.model`: Whisper model to use. Only multilingual models can be used. Defaults to `base`
|
|
320
360
|
* `whisper.enableGPU`: enable whisper GPU build. See details in recognition section above
|
|
321
361
|
* `whisper.threadCount`: number of threads to use, defaults to `4`
|
|
@@ -327,6 +367,7 @@ Applies to CLI operation: `align-translation`, API method: `alignTranslation`
|
|
|
327
367
|
Applies to CLI operation: `align-transcript-and-translation`, API method: `alignTranscriptAndTranslation`
|
|
328
368
|
|
|
329
369
|
**General**:
|
|
370
|
+
|
|
330
371
|
* `engine`: can only be `two-stage`. Defaults to `two-stage`
|
|
331
372
|
* `sourceLanguage`: language code for the source audio ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)), like `en`, `fr`, `zh`, etc. Auto-detected from audio if not set
|
|
332
373
|
* `targetLanguage`: language code for the translated transcript. Can only be `en` for now. Defaults to `en`
|
|
@@ -343,6 +384,7 @@ Applies to CLI operation: `align-transcript-and-translation`, API method: `align
|
|
|
343
384
|
Applies to CLI operation: `align-timeline-translation`, API method: `alignTimelineTranslation`
|
|
344
385
|
|
|
345
386
|
**General**:
|
|
387
|
+
|
|
346
388
|
* `engine`: alignment engine to use. Can only be `e5`. Defaults to `e5`
|
|
347
389
|
* `sourceLanguage`: language code for the source timeline. Auto-detected from timeline if not set
|
|
348
390
|
* `targetLanguage`: language code for the translated transcript. Auto-detected if not set
|
|
@@ -351,6 +393,7 @@ Applies to CLI operation: `align-timeline-translation`, API method: `alignTimeli
|
|
|
351
393
|
* `subtitles`: prefix to provide options for subtitles. Options detailed in section for subtitles
|
|
352
394
|
|
|
353
395
|
**E5**:
|
|
396
|
+
|
|
354
397
|
* `e5.model`: E5 model to use. Defaults to `e5-small-fp16` (support for additional models will be added in the future)
|
|
355
398
|
|
|
356
399
|
## Language detection
|
|
@@ -360,6 +403,7 @@ Applies to CLI operation: `align-timeline-translation`, API method: `alignTimeli
|
|
|
360
403
|
Applies to CLI operation: `detect-speech-langauge`, API method: `detectSpeechLangauge`
|
|
361
404
|
|
|
362
405
|
**General**:
|
|
406
|
+
|
|
363
407
|
* `engine`: `whisper` or `silero`. Defaults to `whisper`
|
|
364
408
|
* `defaultLanguage`: language to fallback to when confidence for top candidate of is low. Defaults to `en`
|
|
365
409
|
* `fallbackThresholdProbability`: confidence threshold to cause fallback. Defaults to `0.05`
|
|
@@ -367,6 +411,7 @@ Applies to CLI operation: `detect-speech-langauge`, API method: `detectSpeechLan
|
|
|
367
411
|
* `vad`: prefix to provide options for voice activity detection when `crop` is set to `true`. Options detailed in section for voice activity detection
|
|
368
412
|
|
|
369
413
|
**Whisper**:
|
|
414
|
+
|
|
370
415
|
* `whisper.model`: Whisper model to use. See model list in the recognition section. Defaults to `tiny`
|
|
371
416
|
* `whisper.enableGPU`: enable whisper GPU build. See details in recognition section above
|
|
372
417
|
* `whisper.threadCount`: number of threads to use, defaults to `4`
|
|
@@ -374,6 +419,7 @@ Applies to CLI operation: `detect-speech-langauge`, API method: `detectSpeechLan
|
|
|
374
419
|
* `whisper.temperature`: impacts the distribution of candidate languages when applying the softmax function to compute language probabilities over the model output. Higher temperature causes the distribution to be more uniform, while lower temperature causes it to be more strongly weighted towards the best scoring candidates. Defaults to `1.0`
|
|
375
420
|
|
|
376
421
|
**Silero**:
|
|
422
|
+
|
|
377
423
|
* `silero.provider`: ONNX execution provider to use. Can be `cpu`, `dml` (Windows only, uses [DirectML](https://microsoft.github.io/DirectML/)-based GPU acceleration), or `cuda` (Linux only, requires system-wide installation of CUDA and cuDNN SDKs, see [this guide](./CUDA.md) for more detailed information). Using GPU may be faster, but the initialization overhead is larger. **Note**: `dml` provider seems to be unstable at the moment for this model. Defaults to `cpu`
|
|
378
424
|
|
|
379
425
|
### Text language detection
|
|
@@ -381,6 +427,7 @@ Applies to CLI operation: `detect-speech-langauge`, API method: `detectSpeechLan
|
|
|
381
427
|
Applies to CLI operation: `detect-text-langauge`, API method: `detectTextLangauge`
|
|
382
428
|
|
|
383
429
|
**General**:
|
|
430
|
+
|
|
384
431
|
* `engine`: `tinyld` or `fasttext`. Defaults to `tinyld`
|
|
385
432
|
* `defaultLanguage`: language to fallback to when confidence for top candidate is low. Defaults to `en`
|
|
386
433
|
* `fallbackThresholdProbability`: confidence threshold to cause fallback. Defaults to `0.05`
|
|
@@ -390,14 +437,17 @@ Applies to CLI operation: `detect-text-langauge`, API method: `detectTextLangaug
|
|
|
390
437
|
Applies to CLI operation: `detect-voice-activity`, API method: `detectVoiceActivity`
|
|
391
438
|
|
|
392
439
|
**General**:
|
|
440
|
+
|
|
393
441
|
* `engine`: VAD engine to use. Can be `webrtc`, `silero`, `rnnoise`, or `adaptive-gate`. Defaults to `silero`
|
|
394
442
|
* `activityThreshold`: minimum predicted probability for determining a frame as having speech activity. Defaults to `0.5`
|
|
395
443
|
|
|
396
444
|
**WebRTC**:
|
|
445
|
+
|
|
397
446
|
* `webrtc.frameDuration`: WebRTC frame duration (ms). Can be `10`, `20` or `30`. Defaults to `30`
|
|
398
447
|
* `webrtc.mode`: WebRTC mode (aggressiveness). Can be `0`, `1`, `2` or `3`. Defaults to `1`
|
|
399
448
|
|
|
400
449
|
**Silero**:
|
|
450
|
+
|
|
401
451
|
* `silero.frameDuration`: Silero frame duration (ms). Can be `30`, `60` or `90`. Defaults to `90`
|
|
402
452
|
* `silero.provider`: ONNX provider to use. Can be `cpu`, `dml` (Windows only, uses [DirectML](https://microsoft.github.io/DirectML/)-based GPU acceleration), or `cuda` (Linux only, requires system-wide installation of CUDA and cuDNN SDKs, see [this guide](./CUDA.md) for more detailed information). Using GPU is likely to be slower than CPU due to inference being independently executed on each audio frame. Defaults to `cpu` (recommended)
|
|
403
453
|
|
|
@@ -406,15 +456,18 @@ Applies to CLI operation: `detect-voice-activity`, API method: `detectVoiceActiv
|
|
|
406
456
|
Applies to CLI operation: `denoise`, API method: `denoise`
|
|
407
457
|
|
|
408
458
|
**General**:
|
|
459
|
+
|
|
409
460
|
* `engine`: `rnnoise` or `nsnet2`. Defaults to `rnnoise`
|
|
410
461
|
|
|
411
462
|
**Post-processing**:
|
|
463
|
+
|
|
412
464
|
* `postProcessing.normalizeAudio`: should normalize output audio. Defaults to `false`
|
|
413
465
|
* `postProcessing.targetPeak`: target peak (decibels) for normalization. Defaults to `-3`
|
|
414
466
|
* `postProcessing.maxGainIncrease`: max gain increase (decibels) when performing normalization. Defaults to `30`
|
|
415
467
|
* `postProcessing.dryMixGain`: gain (decibels) of dry (original) signal to mix back to the denoised (wet) signal. Defaults to `-100`
|
|
416
468
|
|
|
417
469
|
**NSNet2**:
|
|
470
|
+
|
|
418
471
|
* `nsnet2.model`: can be `baseline-16khz` or `baseline-48khz`. Defaults to `baseline-48khz`
|
|
419
472
|
* `nsnet2.provider`: ONNX execution provider. Can be `cpu`, `dml` or `cuda` (**Note**: `dml` provider seems to fail with these models). Defaults to `cpu`
|
|
420
473
|
* `maxAttenuation`: maximum amount of attenuation, in decibels, applied to an FFT bin when filtering the audio frames. Defaults to `30`
|
|
@@ -455,7 +508,6 @@ On the CLI, global options can be used with any operation. To set global options
|
|
|
455
508
|
* `packageBaseURL`: sets a custom base URL for the remote package repository used to download missing packages. Default is `https://huggingface.co/echogarden/echogarden-packages/resolve/main/`. If `huggingface.co` isn't accessible in your location, you can set to use a mirror by changing `huggingface.co` to an alternative domain like `hf-mirror.com`
|
|
456
509
|
* `logLevel`: adjusts the default amount of log messages shown during processing. Possible values: `silent`, `output`, `error`, `warning`, `info`, `trace`. Defaults to `info`
|
|
457
510
|
|
|
458
|
-
|
|
459
511
|
## CLI options
|
|
460
512
|
|
|
461
513
|
These options are for the CLI only.
|
package/docs/Releases.md
CHANGED
|
@@ -7,6 +7,7 @@ For releases after `1.0.0`, see the [GitHub releases page](https://github.com/ec
|
|
|
7
7
|
## `1.0.0` (April 12, 2024)
|
|
8
8
|
|
|
9
9
|
**New features**:
|
|
10
|
+
|
|
10
11
|
* Add support for [`whisper.cpp`](https://github.com/ggerganov/whisper.cpp), a C++ port of OpenAI's Whisper speech recognition architecture. It is faster than the integrated `whisper` engine, supports large models, and GPU processing. It can now be used for recognition, speech translation and alignment (via `dtw-ra`), though its word timestamps are less accurate than the integrated `whisper` engine.
|
|
11
12
|
* Add the [MDX-NET](https://github.com/kuielab/mdx-net/) source separation model, enabling vocal tracks to be extracted from music and speech audio using the new `isolate` operation
|
|
12
13
|
* Add support for OpenAI cloud platform's [speech recognition and translation services](https://platform.openai.com/docs/guides/speech-to-text)
|
|
@@ -18,17 +19,19 @@ For releases after `1.0.0`, see the [GitHub releases page](https://github.com/ec
|
|
|
18
19
|
* Expose more options for the Elevenlabs engine
|
|
19
20
|
|
|
20
21
|
**Enhancements**:
|
|
22
|
+
|
|
21
23
|
* `detect-voice-activity` now also outputs the cropped voice when an audio file is given as output, with `.cropped` suffix added
|
|
22
24
|
* Improved word segmentation of whisper engine. Words spanning multiple recognized time segments are now split. Word timestamp ranges don't overlap non-speech sections.
|
|
23
25
|
* Whisper and Whisper.cpp outputs now include timestamps for individual recognized tokens
|
|
24
26
|
|
|
25
27
|
**Behavioral and breaking changes**:
|
|
28
|
+
|
|
26
29
|
* Minimal required node version changed to `18.0.0`
|
|
27
30
|
* All recognition, alignment, translation and language recognition operations first apply the new adaptive gate VAD (can be changed to any other VAD engine via the `vad.` option prefix) and remove any sections that are not identified as containing voice, before starting processing. This should improve results in most cases, and reduce processing time
|
|
28
31
|
* To reduce Whisper hallucinations and repetition loops, these changes were made:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
* Pre-cropping by default can significantly help with reducing hallucinations, giving the model less "empty space" to hallucinate on
|
|
33
|
+
* Enable new token-level repetition suppression (`suppressRepetition = true`) during decoding
|
|
34
|
+
* Disable decoding of timestamp tokens by default (`decodeTimestampTokens = false`), since more accurate timing is already extracted via cross-attention weight alignment. For unclear reasons, this can significantly reduce the occurrence of token repetition loops, and increases word timestamp accuracy. However, there are cases where this causes the model to end a part prematurely, especially in singing and less speech-like voice segments. In those cases the it can be enabled with `decodeTimestampTokens = true`
|
|
32
35
|
* When `transcribe`, `align` or `translate-speech` operations are run with `--isolate` enabled, they will output the isolated part in `some-output-file.isolated.wav` and background part (isolated subtracted from original) in `some-output-file.background.wav` (any supported codec other than `wav` can be used - this is just an example)
|
|
33
36
|
* VAD operations now return a timeline including only the active sections, labeled as `active`
|
|
34
37
|
* When the specified language is not English, but an `.en` Whisper model was specified, a warning would be shown, and the model will be automatically switched to the corresponding multilingual model (omitting the `.en`), instead of producing an error
|
|
@@ -40,6 +43,7 @@ For releases after `1.0.0`, see the [GitHub releases page](https://github.com/ec
|
|
|
40
43
|
* `dryMixGainDb` denoising option renamed to `dryMixGain`
|
|
41
44
|
|
|
42
45
|
**Fixes**:
|
|
46
|
+
|
|
43
47
|
* Integrated `whisper` engine now uses `tiktoken` to tokenize text, which produces near identical tokenization compared to the official Python implementation. This fixes issues with decoding Chinese characters, correctly encoding prompts, and several other languages with characters that span multiple tokens
|
|
44
48
|
* Fix voice language lists for multilingual voices in Elevenlabs TTS engine
|
|
45
49
|
* Fix runtime error with `rnnoise` when used as VAD engine
|
|
@@ -53,6 +57,7 @@ For releases after `1.0.0`, see the [GitHub releases page](https://github.com/ec
|
|
|
53
57
|
* Various other fixes
|
|
54
58
|
|
|
55
59
|
**Documentation**:
|
|
60
|
+
|
|
56
61
|
* Add new [release notes](./Releases.md) page. Releases before `1.0.x` were retroactively documented based on commit history (may not exactly detail all historical changes)
|
|
57
62
|
* Add new [development page](./Development.md) with a quick guide for setting up a development environment to make changes to the Echogarden codebase
|
|
58
63
|
* Options reference page reorganized and updated with some missing information
|
|
@@ -60,24 +65,27 @@ For releases after `1.0.0`, see the [GitHub releases page](https://github.com/ec
|
|
|
60
65
|
## `0.12.x` (March 16, 2024)
|
|
61
66
|
|
|
62
67
|
**New features**:
|
|
68
|
+
|
|
63
69
|
* Add global options support to API
|
|
64
70
|
* Add updated `ffmpeg` internal packages for many platforms, including pre-signed binaries for macOS
|
|
65
71
|
|
|
66
72
|
**Enhancements**:
|
|
67
73
|
|
|
68
74
|
**Fixes**:
|
|
75
|
+
|
|
69
76
|
* Fix issue with Polish TTS in eSpeak NG
|
|
70
77
|
* Fix warning about `punycode` module in the CLI
|
|
71
78
|
|
|
72
79
|
**Other**:
|
|
73
|
-
* Include `package-lock.json` in repository
|
|
74
80
|
|
|
81
|
+
* Include `package-lock.json` in repository
|
|
75
82
|
|
|
76
83
|
## `0.11.x` (August 17, 2023)
|
|
77
84
|
|
|
78
85
|
Many features, enhancements, and fixes were incrementally added over the span of 7 months, up to March 2024.
|
|
79
86
|
|
|
80
87
|
**New features**:
|
|
88
|
+
|
|
81
89
|
* Partial rewrite of subtitle generation methods. Adds many features and options
|
|
82
90
|
* Expose subtitle methods to API
|
|
83
91
|
* Add support for multi-pass (AKA hierarchical) DTW alignment
|
|
@@ -85,72 +93,82 @@ Many features, enhancements, and fixes were incrementally added over the span of
|
|
|
85
93
|
* Add support for Klatt synthesis in `espeak` engine
|
|
86
94
|
|
|
87
95
|
**Enhancements**:
|
|
96
|
+
|
|
88
97
|
* Adds a total of 14 new VITS voices
|
|
89
98
|
* Retry on failure for `microsoft-edge` and `google-translate` TTS engines
|
|
90
99
|
|
|
91
100
|
**Fixes**:
|
|
101
|
+
|
|
92
102
|
* Don't error when empty audio is returned in `microsoft-edge` response
|
|
93
103
|
* Fix audio playback in macOS
|
|
94
104
|
* Many other fixes
|
|
95
105
|
|
|
96
|
-
|
|
97
106
|
## `0.10.x` (August 2, 2023)
|
|
98
107
|
|
|
99
108
|
**New features**:
|
|
109
|
+
|
|
100
110
|
* Add developer and server APIs, allowing the package to be used as a library or server
|
|
101
111
|
* Add granularity options to DTW
|
|
102
112
|
* Add Linux SoX package
|
|
103
113
|
|
|
104
114
|
**Enhancements**:
|
|
115
|
+
|
|
105
116
|
* Adds 7 new VITS voices
|
|
106
117
|
|
|
107
118
|
**Fixes**:
|
|
108
|
-
* Many fixes
|
|
109
119
|
|
|
120
|
+
* Many fixes
|
|
110
121
|
|
|
111
122
|
## `0.9.x` (July 29, 2023)
|
|
112
123
|
|
|
113
124
|
**New features**:
|
|
125
|
+
|
|
114
126
|
* Add text offsets to timeline
|
|
115
127
|
* Include segments and sentences in recognition and speech translation timelines
|
|
116
128
|
* Improve voice information in Elevenlabs engine
|
|
117
129
|
|
|
118
130
|
**Behavioral changes**:
|
|
131
|
+
|
|
119
132
|
* Set `en_GB-alan-low` as default `en-GB` VITS voice, since `danny` was trained to accept `en-US` pronunciations, which may confuse some people
|
|
120
133
|
|
|
121
134
|
**Fixes**:
|
|
135
|
+
|
|
122
136
|
* Work around several eSpeak bugs
|
|
123
137
|
* Many fixes
|
|
124
138
|
|
|
125
|
-
|
|
126
139
|
## `0.8.x` (July 25, 2023)
|
|
127
140
|
|
|
128
141
|
**New features**:
|
|
142
|
+
|
|
129
143
|
* Add confidence to some speech recognition timelines
|
|
130
144
|
* Add `plaintext` options
|
|
131
145
|
* Add punctuation thresholds to Whisper decoder
|
|
132
146
|
* Expose subtitle configuration options to CLI
|
|
133
147
|
|
|
134
148
|
**Enhancements**:
|
|
149
|
+
|
|
135
150
|
* Improve speech language detection to work with arbitrary length audio. Split audio into overlapping parts and detect each part individually. Then average the results.
|
|
136
151
|
* Add more heteronyms
|
|
137
152
|
|
|
138
153
|
**Behavioral changes**:
|
|
154
|
+
|
|
139
155
|
* Rename `subtitles.minWords` to `subtitles.minWordsInLine`
|
|
140
156
|
|
|
141
157
|
**Fixes**:
|
|
158
|
+
|
|
142
159
|
* Improve numerical stability of softmax function
|
|
143
160
|
* Work around eSpeak bug with markers in long inputs
|
|
144
161
|
* Various fixes
|
|
145
162
|
|
|
146
|
-
|
|
147
163
|
## `0.7.x` (July 23, 2023)
|
|
148
164
|
|
|
149
165
|
**New features**:
|
|
166
|
+
|
|
150
167
|
* Alignment: Add option to accept custom lexicons
|
|
151
168
|
* Implement and add decoder temperature option to Whisper model
|
|
152
169
|
|
|
153
170
|
**Enhancements**:
|
|
171
|
+
|
|
154
172
|
* Alignment: use preprocessing and lexicons
|
|
155
173
|
* Add language detection to speech translation
|
|
156
174
|
* Add language detection options to synthesis, and set empty default options for detection in several APIs
|
|
@@ -162,13 +180,14 @@ Many features, enhancements, and fixes were incrementally added over the span of
|
|
|
162
180
|
**Behavioral changes**:
|
|
163
181
|
|
|
164
182
|
**Fixes**:
|
|
183
|
+
|
|
165
184
|
* Fix support for SSML input in eSpeak engine
|
|
166
185
|
* Various fixes
|
|
167
186
|
|
|
168
|
-
|
|
169
187
|
## `0.6.x` (July 20, 2023)
|
|
170
188
|
|
|
171
189
|
**New features**:
|
|
190
|
+
|
|
172
191
|
* Add support for custom lexicons. Change lexicon object structure to include language code and allow for multiple languages in a single lexicon
|
|
173
192
|
* Add support for SSML inputs (currently only supported by Google, Microsoft and Amazon cloud engines). Ensure they are not split to segments or sentences
|
|
174
193
|
* CLI: Add flag to enable or disable file overwriting in CLI
|
|
@@ -177,44 +196,50 @@ Many features, enhancements, and fixes were incrementally added over the span of
|
|
|
177
196
|
* Change whitespace option to include option for collapsing all whitespace
|
|
178
197
|
|
|
179
198
|
**Enhancements**:
|
|
199
|
+
|
|
180
200
|
* Change whitespace option to include option for collapsing all whitespace
|
|
181
201
|
* Add awareness of guillemets
|
|
182
202
|
* Log full language of selected voice
|
|
183
203
|
|
|
184
204
|
**Behavioral changes**:
|
|
205
|
+
|
|
185
206
|
* Set Elevenlabs defaults to mid-values
|
|
186
207
|
* Split plain text to paragraphs using double line breaks by default.
|
|
187
208
|
* Rename `awsPolly` options to `amazonPolly` to be more consistent with documentation
|
|
188
209
|
|
|
189
210
|
**Fixes**:
|
|
211
|
+
|
|
190
212
|
* Fix and update Elevenlabs engine
|
|
191
213
|
* Fix incorrect gender properties for some VITS voices
|
|
192
214
|
* Convert to plaintext before detecting language when input is SSML.
|
|
193
215
|
* Various fixes
|
|
194
216
|
|
|
195
217
|
**Other**:
|
|
196
|
-
* Remove `package-lock.json` from the repository
|
|
197
218
|
|
|
219
|
+
* Remove `package-lock.json` from the repository
|
|
198
220
|
|
|
199
221
|
## `0.5.x` (July, 19 2023)
|
|
200
222
|
|
|
201
223
|
**New features**:
|
|
202
224
|
|
|
203
225
|
**Enhancements**:
|
|
226
|
+
|
|
204
227
|
* Add large numbers of VITS voices
|
|
205
228
|
|
|
206
229
|
**Behavioral changes**:
|
|
230
|
+
|
|
207
231
|
* Move to new package system supporting version tags, and hosted in a Hugging Face repository
|
|
208
232
|
|
|
209
233
|
**Fixes**:
|
|
210
|
-
* Various fixes
|
|
211
234
|
|
|
235
|
+
* Various fixes
|
|
212
236
|
|
|
213
237
|
## `0.4.x` (July 9, 2023)
|
|
214
238
|
|
|
215
239
|
**New features**:
|
|
216
240
|
|
|
217
241
|
**Enhancements**:
|
|
242
|
+
|
|
218
243
|
* Improve text normalization and add support for currencies
|
|
219
244
|
* Improve heteronym lexicons
|
|
220
245
|
* Extend year patterns
|
|
@@ -223,17 +248,19 @@ Many features, enhancements, and fixes were incrementally added over the span of
|
|
|
223
248
|
* Add large numbers of VITS voices
|
|
224
249
|
|
|
225
250
|
**Behavioral changes**:
|
|
251
|
+
|
|
226
252
|
* Remove support for `afplay` and `aplay` for playback. Only SoX is used now.
|
|
227
253
|
|
|
228
254
|
**Fixes**:
|
|
229
|
-
* Various fixes
|
|
230
255
|
|
|
256
|
+
* Various fixes
|
|
231
257
|
|
|
232
258
|
## `0.3.x` (July 1, 2023)
|
|
233
259
|
|
|
234
260
|
**New features**:
|
|
235
261
|
|
|
236
262
|
**Enhancements**:
|
|
263
|
+
|
|
237
264
|
* Upgrade heteronym disambiguation to an improved, rule-based approach, which doesn't use POS tagging
|
|
238
265
|
* Extend decade normalization
|
|
239
266
|
* Improve text normalization and add support to currencies
|
|
@@ -242,15 +269,16 @@ Many features, enhancements, and fixes were incrementally added over the span of
|
|
|
242
269
|
**Behavioral changes**:
|
|
243
270
|
|
|
244
271
|
**Fixes**:
|
|
272
|
+
|
|
245
273
|
* Remove sentences containing only whitespace when synthesizing
|
|
246
274
|
* Many fixes
|
|
247
275
|
|
|
248
|
-
|
|
249
276
|
## `0.2.x` (May 10, 2023)
|
|
250
277
|
|
|
251
278
|
**New features**:
|
|
252
279
|
|
|
253
280
|
**Enhancements**:
|
|
281
|
+
|
|
254
282
|
* Show current sentence and segment in synthesis log
|
|
255
283
|
* Add check for cancellation flag
|
|
256
284
|
* Add support to additional VITS voices
|
|
@@ -258,20 +286,23 @@ Many features, enhancements, and fixes were incrementally added over the span of
|
|
|
258
286
|
* Many Enhancements
|
|
259
287
|
|
|
260
288
|
**Behavioral changes**:
|
|
289
|
+
|
|
261
290
|
* Remove dependency on `xregexp` package. Use Unicode RegExp instead.
|
|
262
291
|
|
|
263
292
|
**Fixes**:
|
|
264
|
-
* Many fixes
|
|
265
293
|
|
|
294
|
+
* Many fixes
|
|
266
295
|
|
|
267
296
|
## `0.1.x` (April 24, 2023)
|
|
268
297
|
|
|
269
298
|
Initial release
|
|
270
299
|
|
|
271
300
|
**Enhancements**:
|
|
301
|
+
|
|
272
302
|
* Add support for skipping audio playback with the Enter key.
|
|
273
303
|
* Run CLI in a worker thread by default.
|
|
274
304
|
* Many Enhancements
|
|
275
305
|
|
|
276
306
|
**Fixes**:
|
|
307
|
+
|
|
277
308
|
* Many fixes
|