echogarden 0.6.6 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"Vad.js","sourceRoot":"","sources":["../../src/api/Vad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vad.js","sourceRoot":"","sources":["../../src/api/Vad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAY,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAG5D,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,QAAgB,EAAE,OAAmB;IAClF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAElE,OAAO,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAkB,EAAE,OAAmB;IAChF,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;IAEpD,OAAO,GAAG,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAEhD,QAAQ,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpD,QAAQ,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAE9C,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAE5D,IAAI,oBAA4B,CAAA;IAChC,IAAI,kBAA4B,CAAA;IAEhC,QAAQ,OAAO,CAAC,MAAM,EAAE;QACvB,KAAK,QAAQ,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAA;YAE1E,MAAM,aAAa,GAAG,OAAO,CAAC,MAAO,CAAA;YAErC,kBAAkB,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAc,CAAC,CAAA;YAChG,oBAAoB,GAAG,aAAa,CAAC,aAAc,GAAG,IAAI,CAAA;YAE1D,MAAK;SACL;QAED,KAAK,QAAQ,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAA;YAE1E,MAAM,aAAa,GAAG,OAAO,CAAC,MAAO,CAAA;YAErC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,CAAA;YAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;YACxD,MAAM,aAAa,GAAG,aAAa,CAAC,aAAc,CAAA;YAElD,kBAAkB,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;YAC5F,oBAAoB,GAAG,aAAa,CAAC,aAAc,GAAG,IAAI,CAAA;YAE1D,MAAK;SACL;QAED,KAAK,SAAS,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;YAEvD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAQ,CAAA;YAEvC,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YAExF,oBAAoB,GAAG,IAAI,CAAA;YAC3B,kBAAkB,GAAG,qBAAqB,CAAA;YAE1C,MAAK;SACL;QAED,OAAO,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAA;SAC9D;KACD;IAED,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,CAAC,GAAG,oBAAoB,CAAA;QAC1C,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAA;QAE9C,IAAI,gBAAgB,IAAI,OAAO,CAAC,iBAAkB,EAAE;YACnD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,EAAE;gBAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;gBACtE,SAAQ;aACR;SACD;aAAM;YACN,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,EAAE;gBAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;gBACzE,SAAQ;aACR;SACD;QAED,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAA;KAC/C;IAED,MAAM,CAAC,GAAG,EAAE,CAAA;IAEZ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;AAC9B,CAAC;AAuBD,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC5C,MAAM,EAAE,QAAQ;IAEhB,iBAAiB,EAAE,GAAG;IAEtB,MAAM,EAAE;QACP,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,CAAC;KACP;IAED,MAAM,EAAE;QACP,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,EAAE;KACjB;IAED,OAAO,EAAE,EACR;CACD,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC3C;QACC,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,OAAO;KACb;IACD;QACC,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,OAAO;KACb;IACD;QACC,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,OAAO;KACb;CACD,CAAA"}
package/dist/cli/CLI.js CHANGED
@@ -138,6 +138,8 @@ const commandHelp = [
138
138
  ` Detect voice activity in audio file\n`,
139
139
  `${executableName} ${chalk.magentaBright('denoise')} audioFile [output files...] [options...]`,
140
140
  ` Denoise audio file\n`,
141
+ `${executableName} ${chalk.magentaBright('list-engines')} operation`,
142
+ ` List available engines for the specified operation\n`,
141
143
  `${executableName} ${chalk.magentaBright('list-voices')} tts-engine [output files...] [options...]`,
142
144
  ` List available voices for the specified TTS engine\n`,
143
145
  `${executableName} ${chalk.magentaBright('install')} [package names...] [options...]`,
@@ -188,6 +190,10 @@ async function startWithArgs(parsedArgs) {
188
190
  await denoise(parsedArgs.commandArgs, parsedArgs.options);
189
191
  break;
190
192
  }
193
+ case 'list-engines': {
194
+ await listEngines(parsedArgs.commandArgs, parsedArgs.options);
195
+ break;
196
+ }
191
197
  case 'list-voices': {
192
198
  await listTTSVoices(parsedArgs.commandArgs, parsedArgs.options);
193
199
  break;
@@ -599,11 +605,82 @@ async function denoise(commandArgs, cliOptions) {
599
605
  }
600
606
  progressLogger.end();
601
607
  }
608
+ async function listEngines(commandArgs, cliOptions) {
609
+ const progressLogger = new Logger();
610
+ const targetOperation = commandArgs[0];
611
+ if (!targetOperation) {
612
+ throw new Error(`The 'list-engines' command requires an argument specifying the operation to list engines for, like 'echogarden list-engines transcribe'.`);
613
+ }
614
+ let engines;
615
+ switch (targetOperation) {
616
+ case 'speak':
617
+ case 'speak-file':
618
+ case 'speak-url':
619
+ case 'speak-wikipedia': {
620
+ engines = API.synthesisEngines;
621
+ break;
622
+ }
623
+ case 'transcribe': {
624
+ engines = API.recognitionEngines;
625
+ break;
626
+ }
627
+ case 'align': {
628
+ engines = API.alignmentEngines;
629
+ break;
630
+ }
631
+ case 'translate-speech': {
632
+ engines = API.speechTranslationEngines;
633
+ break;
634
+ }
635
+ case 'detect-language': {
636
+ engines = [...API.speechLanguageDetectionEngines, ...API.textLanguageDetectionEngines];
637
+ break;
638
+ }
639
+ case 'detect-speech-language': {
640
+ engines = API.speechLanguageDetectionEngines;
641
+ break;
642
+ }
643
+ case 'detect-text-language': {
644
+ engines = API.textLanguageDetectionEngines;
645
+ break;
646
+ }
647
+ case 'detect-voice-activity': {
648
+ engines = API.vadEngines;
649
+ break;
650
+ }
651
+ case 'denoise': {
652
+ engines = API.denoisingEngines;
653
+ break;
654
+ }
655
+ case 'list-voices': {
656
+ engines = API.synthesisEngines;
657
+ break;
658
+ }
659
+ case 'list-engines':
660
+ case 'install':
661
+ case 'uninstall':
662
+ case 'list-packages': {
663
+ throw new Error(`The operation '${targetOperation}' is not associated with a list of engines.`);
664
+ }
665
+ default: {
666
+ throw new Error(`Unrecognized operation: '${targetOperation}'`);
667
+ }
668
+ }
669
+ for (const [index, engine] of engines.entries()) {
670
+ log(`${chalk.cyanBright('Identifier')}: ${chalk.magentaBright(engine.id)}`);
671
+ log(`${chalk.cyanBright('Name')}: ${engine.name}`);
672
+ log(`${chalk.cyanBright('Description')}: ${engine.description}`);
673
+ log(`${chalk.cyanBright('Type')}: ${engine.type}`);
674
+ if (index < engines.length - 1) {
675
+ log("");
676
+ }
677
+ }
678
+ }
602
679
  async function listTTSVoices(commandArgs, cliOptions) {
603
680
  const progressLogger = new Logger();
604
681
  const targetEngine = commandArgs[0];
605
682
  const outputFilenames = commandArgs.slice(1);
606
- if (targetEngine == undefined) {
683
+ if (!targetEngine) {
607
684
  const optionsSchema = await getOptionsSchema();
608
685
  const { enum: ttsEnginesEnum } = getOptionTypeFromSchema(["VoiceListRequestOptions", "engine"], optionsSchema);
609
686
  throw new Error(`list-voices requires an argument specifying one of these supported engines:\n${ttsEnginesEnum.join(", ")}`);
@@ -619,10 +696,10 @@ async function listTTSVoices(commandArgs, cliOptions) {
619
696
  const nameText = entry.name;
620
697
  const languagesNamesText = entry.languages.map(language => formatLanguageCodeWithName(language)).join(", ");
621
698
  const genderText = entry.gender;
622
- let entryText = `Name: ${nameText}\nLanguages: ${languagesNamesText}\nGender: ${genderText}`;
699
+ let entryText = `${chalk.cyanBright('Identifier')}: ${chalk.magentaBright(nameText)}\n${chalk.cyanBright('Languages')}: ${languagesNamesText}\n${chalk.cyanBright('Gender')}: ${genderText}`;
623
700
  const speakerCount = entry.speakerCount;
624
701
  if (speakerCount) {
625
- entryText += `\nSpeaker count: ${speakerCount}`;
702
+ entryText += `\n${chalk.cyanBright('Speaker count')}: ${speakerCount}`;
626
703
  }
627
704
  return entryText;
628
705
  }).join("\n\n");
@@ -630,7 +707,9 @@ async function listTTSVoices(commandArgs, cliOptions) {
630
707
  progressLogger.start("\nWriting output files");
631
708
  for (const filename of outputFilenames) {
632
709
  const fileSaver = getFileSaver(filename);
633
- await fileSaver(getEmptyRawAudio(0, 0), voiceList, voiceListText);
710
+ const { default: stripAnsi } = await import('strip-ansi');
711
+ const voiceListTextWithoutColors = stripAnsi(voiceListText);
712
+ await fileSaver(getEmptyRawAudio(0, 0), voiceList, voiceListTextWithoutColors);
634
713
  }
635
714
  }
636
715
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"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"}
package/docs/CLI.md CHANGED
@@ -88,7 +88,7 @@ echogarden speak-file text.txt transcript.txt result.srt result.json
88
88
 
89
89
  ## Speech translation
90
90
 
91
- **Task**: given an audio file containing speech in one language, transcribe it in a second language. The translated transcript should be generated directly from the speech itself, without an intermediate textual translation step.
91
+ **Task**: given an audio file containing speech in one language, transcribe it to a second language. The translated transcript should be generated directly from the speech itself, without an intermediate textual translation step.
92
92
 
93
93
  This will detect the spoken language, apply speech translation to English, and play the original audio, synced with the translated transcript:
94
94
  ```bash
@@ -200,9 +200,7 @@ Flattened property names are also accepted:
200
200
 
201
201
  By default, the CLI overwrites existing files.
202
202
 
203
- Please be careful to not accidentally have an input file misidentified as an output file, as it may get rewritten without a notice.
204
-
205
- The `align` command, unlike the other ones, requires two arguments to be passed (one for the audio filename, and a separate one for its transcript filename). It's possible that a user's error, changing `align` to, say, to `transcribe` would cause the second argument to be interpreted as an output file and be overwritten.
203
+ Please be careful to not accidentally have an input file misidentified as an output file, as it may get rewritten without notice or confirmation.
206
204
 
207
205
  To ensure files are never overwritten, you can pass the `--no-overwrite` option:
208
206
 
@@ -261,6 +259,14 @@ echogarden denoise speech.mp3 denoised-speech.mp3
261
259
 
262
260
  ## Information and lists
263
261
 
262
+ ### `list-engines`
263
+
264
+ Shows a list of available engines for a given command:
265
+
266
+ ```bash
267
+ echogarden list-engines speak
268
+ ```
269
+
264
270
  ### `list-tts-voices`
265
271
 
266
272
  Shows a list of available TTS voices for a given engine:
@@ -274,14 +280,6 @@ Saves the voice list in a JSON file:
274
280
  echogarden list-tts-voices google-cloud google-cloud-voices.json
275
281
  ```
276
282
 
277
- ### `list-engines` (future)
278
-
279
- Shows a list of available engines for a given command:
280
-
281
- ```bash
282
- echogarden list-engines speak
283
- ```
284
-
285
283
  ## Internal package management
286
284
 
287
285
  Manage the Echogarden packages that are locally installed
package/docs/Engines.md CHANGED
@@ -30,7 +30,7 @@ These are commercial services that require a subscription and an API key to use:
30
30
  * [Google Cloud](https://cloud.google.com/text-to-speech) (`google-cloud`)
31
31
  * [Azure Cognitive Services](https://azure.microsoft.com/en-us/products/cognitive-services/text-to-speech/) (`microsoft-azure`)
32
32
  * [Amazon Polly](https://aws.amazon.com/polly/) (`amazon-polly`)
33
- * [Elevenlabs](https://beta.elevenlabs.io/) (`elevenlabs`)
33
+ * [Elevenlabs](https://elevenlabs.io/) (`elevenlabs`)
34
34
 
35
35
  **Cloud services (unofficial)**:
36
36
 
@@ -79,7 +79,7 @@ These engines' goal is to match (or "align") a given spoken recording with a giv
79
79
 
80
80
  ## Voice activity detection
81
81
 
82
- * [WebRTC VAD](https://github.com/dpirch/libfvad) (`webrtc`): a voice activity detector. Originally from the Chromium source code.
82
+ * [WebRTC VAD](https://github.com/dpirch/libfvad) (`webrtc`): a voice activity detector. Originally from the Chromium browser source code.
83
83
  * [Silero VAD](https://github.com/snakers4/silero-vad) (`silero`): a voice activity detection model by Silero.
84
84
  * [RNNoise](https://github.com/xiph/rnnoise) (`rnnoise`): uses RNNoise's speech probabilities output for each audio frame as a VAD metric.
85
85
 
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,7 +10,7 @@ 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
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
@@ -23,11 +23,11 @@ General:
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 processing:
26
+ **Plain text processing**:
27
27
  * `plainText.paragraphBreaks`: split to paragraphs based on single (`single`), or double (`double`) line breaks. Defaults to `double`
28
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
87
  * `elevenLabs.modelId`: Model identifier. Defaults to `eleven_monolingual_v1`
88
88
  * `elevenLabs.stability`: stability. Defaults to `0.5`
89
89
  * `elevenLabs.similarityBoost`: similarity boost. Defaults to `0.5`
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
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
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:
139
+ **DTW**:
140
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,12 +147,12 @@ 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
152
  * `sourceLanguage`: the source language code for the input speech. Auto-detected if not set
153
153
  * `targetLanguage`: the target language code for the output speech. Only `en` supported at this time.
154
154
 
155
- Whisper:
155
+ **Whisper**:
156
156
  * `whisper.model`: Whisper model to use (multilingual engines only). Defaults to `tiny`
157
157
 
158
158
  ## Language detection
@@ -176,25 +176,25 @@ Applicable to CLI command: `detect-text-langauge`.
176
176
 
177
177
  Applicable to CLI command: `detect-voice-activity`.
178
178
 
179
- General:
179
+ **General**:
180
180
  * `engine`: VAD engine to use. Can be `webrtc`, `silero` or `rnnoise`. Defaults to `webrtc`
181
181
  * `activityThreshold`: minimum predicted probability for determining a frame as having speech activity. Defaults to `0.5`
182
182
 
183
- WebRTC:
183
+ **WebRTC**:
184
184
  * `webrtc.frameDuration`: WebRTC frame duration (ms). Can be `10`, `20` or `30`. Defaults to `30`
185
185
  * `webrtc.mode`: WebRTC mode (aggressiveness). Can be `0`, `1`, `2` or `3`. Defaults to `1`
186
186
 
187
- Silero:
187
+ **Silero**:
188
188
  * `silero.frameDuration`: Silero frame duration (ms). Can be `30`, `60` or `90`. Defaults to `90`
189
189
 
190
190
  ## Speech denoising
191
191
 
192
192
  Applicable to CLI command: `denoise`.
193
193
 
194
- General:
194
+ **General**:
195
195
  * `engine`: can only be `rnnoise`
196
196
 
197
- Postprocessing:
197
+ **Postprocessing**:
198
198
  * `postProcessing.normalizeAudio`: should normalize output audio. Defaults to `false`
199
199
  * `postProcessing.targetPeakDb`: target peak (decibels) for normalization. Defaults to `-3`
200
200
  * `postProcessing.maxIncreaseDb`: max gain increase (decibels) when performing normalization. Defaults to `30`
@@ -204,6 +204,13 @@ Postprocessing:
204
204
 
205
205
  Applicable to CLI command: `list-voices`.
206
206
 
207
+ **General**
207
208
  * `language`: language code to filter by (optional)
208
209
  * `voice`: name or name pattern to filter by (optional)
209
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 as through an option
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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echogarden",
3
- "version": "0.6.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",