echogarden 0.11.7 → 0.11.8
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 +10 -28
- package/dist/audio/AudioBufferConversion.d.ts +2 -2
- package/dist/audio/AudioBufferConversion.js +1 -1
- package/dist/audio/AudioBufferConversion.js.map +1 -1
- package/dist/audio/AudioPlayer.js +2 -2
- package/dist/audio/AudioPlayer.js.map +1 -1
- package/dist/audio/AudioUtilities.d.ts +3 -3
- package/dist/audio/AudioUtilities.js.map +1 -1
- package/dist/codecs/WaveCodec.d.ts +3 -2
- package/dist/codecs/WaveCodec.js +1 -1
- package/dist/codecs/WaveCodec.js.map +1 -1
- package/dist/dsp/MelSpectogram.js +1 -1
- package/dist/dsp/MelSpectogram.js.map +1 -1
- package/docs/Development.md +2 -2
- package/docs/Server.md +3 -3
- package/docs/Tasklist.md +9 -13
- package/docs/Technical.md +3 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
# Echogarden
|
|
2
2
|
|
|
3
|
-
Echogarden is an integrated speech system that provides a
|
|
3
|
+
Echogarden is an integrated speech system that provides a variety of synthesis, recognition, alignment, and other processing tools, designed to be directly accessible to end-users:
|
|
4
4
|
|
|
5
|
-
*
|
|
6
|
-
* Easy to install, run and update
|
|
5
|
+
* Easy to install and update
|
|
7
6
|
* Runs on Windows (x64), macOS (x64, ARM64) and Linux (x64)
|
|
7
|
+
* Written in TypeScript, for the Node.js runtime
|
|
8
8
|
* Doesn't require Python, Docker, or similar system-level dependencies
|
|
9
9
|
* Doesn't rely on any essential platform-specific binaries. Engines are either ported via WebAssembly, imported using the [ONNX runtime](https://onnxruntime.ai/), or written in pure JavaScript
|
|
10
10
|
|
|
11
11
|
## Feature highlights
|
|
12
12
|
|
|
13
|
-
* Fast, high-quality offline text-to-speech voices based on the [VITS](https://github.com/jaywalnut310/vits) neural architecture
|
|
13
|
+
* Fast, high-quality offline multilingual 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
|
-
*
|
|
15
|
+
* Supports a [large variety of offline and cloud engines](docs/Engines.md), including services by Google, Microsoft, Amazon, Elevenlabs and others
|
|
16
16
|
* Word-level timestamps for all synthesis and recognition outputs
|
|
17
|
-
* Speech-to-transcript alignment using dynamic time warping (DTW), and dynamic time warping with recognition assist (DTW-RA) methods
|
|
17
|
+
* Speech-to-transcript alignment using dynamic time warping (DTW), and dynamic time warping with recognition assist (DTW-RA) methods, including support for multi-pass (hierarchical) processing
|
|
18
18
|
* Advanced subtitle generation, accounting for sentence and phrase boundaries
|
|
19
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
|
-
* Attempts to improve TTS pronunciation accuracy: adds text normalization (e.g. idiomatic date and currency pronunciation), heteronym disambiguation (based on a rule-based model) and user-customizable pronunciation lexicons
|
|
20
|
+
* Attempts to improve TTS pronunciation accuracy on some engines: adds text normalization (e.g. idiomatic date and currency pronunciation), heteronym disambiguation (based on a 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 (for both audio and text), voice activity detection, and speech denoising
|
|
23
23
|
|
|
@@ -36,7 +36,7 @@ Additional required tools:
|
|
|
36
36
|
|
|
37
37
|
Both tools are auto-downloaded as internal packages on Windows and Linux.
|
|
38
38
|
|
|
39
|
-
On macOS, they are not currently auto-downloaded, due to
|
|
39
|
+
On macOS, they are not currently auto-downloaded, due to security issues with unsigned binaries. It is recommended to install them via a package manager like [Homebrew](https://brew.sh/) (`brew install ffmpeg sox`) and ensure they are available on the system path.
|
|
40
40
|
|
|
41
41
|
### Updating to latest version
|
|
42
42
|
|
|
@@ -48,9 +48,9 @@ npm update echogarden -g
|
|
|
48
48
|
|
|
49
49
|
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.
|
|
50
50
|
|
|
51
|
-
Development of more graphical and interactive tooling is currently ongoing.
|
|
51
|
+
Development of more graphical and interactive tooling is [currently ongoing](https://github.com/echogarden-project/echogarden/issues/28).
|
|
52
52
|
|
|
53
|
-
If you are a developer, you can also [import the package as a
|
|
53
|
+
If you are a developer, you can also [import the package as a module](docs/API.md) or [interface with it via a WebSocket service](docs/Server.md).
|
|
54
54
|
|
|
55
55
|
## Guides and resource pages
|
|
56
56
|
|
|
@@ -63,24 +63,6 @@ If you are a developer, you can also [import the package as a library](docs/API.
|
|
|
63
63
|
* [Developer's task list](docs/Tasklist.md)
|
|
64
64
|
* [How to help](docs/Development.md)
|
|
65
65
|
|
|
66
|
-
## Development roadmap
|
|
67
|
-
|
|
68
|
-
_(For much more detailed information, see the [developer task list](docs/Tasklist.md))_.
|
|
69
|
-
|
|
70
|
-
### In development
|
|
71
|
-
|
|
72
|
-
* (**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
|
|
73
|
-
* (**60**%) New, high-accuracy text language identification model (own work)
|
|
74
|
-
|
|
75
|
-
### Planned, but not yet started
|
|
76
|
-
|
|
77
|
-
* Web-based UI frontend
|
|
78
|
-
* Real-time, streaming speech recognition
|
|
79
|
-
|
|
80
|
-
### Future (maybe)
|
|
81
|
-
|
|
82
|
-
* Browser port for a subset of the API (in particular for the offline TTS models and their dependencies)
|
|
83
|
-
|
|
84
66
|
## Credits
|
|
85
67
|
|
|
86
68
|
This project consolidates, and builds upon the effort of many different individuals and companies, as well as contributing a number of original works.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { SampleFormat } from "../codecs/WaveCodec.js";
|
|
3
|
-
export declare function encodeToAudioBuffer(audioChannels: Float32Array[], targetBitDepth
|
|
2
|
+
import { BitDepth, SampleFormat } from "../codecs/WaveCodec.js";
|
|
3
|
+
export declare function encodeToAudioBuffer(audioChannels: Float32Array[], targetBitDepth?: BitDepth, targetSampleFormat?: SampleFormat): Buffer;
|
|
4
4
|
export declare function decodeToChannels(audioBuffer: Buffer, channelCount: number, sourceBitDepth: number, sourceSampleFormat: SampleFormat): Float32Array[];
|
|
5
5
|
export declare function uint8PcmToFloat32(input: Uint8Array): Float32Array;
|
|
6
6
|
export declare function float32ToUint8Pcm(input: Float32Array): Uint8Array;
|
|
@@ -4,7 +4,7 @@ import { SampleFormat } from "../codecs/WaveCodec.js";
|
|
|
4
4
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
5
5
|
// Low level audio sample conversions
|
|
6
6
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
7
|
-
export function encodeToAudioBuffer(audioChannels, targetBitDepth, targetSampleFormat = SampleFormat.PCM) {
|
|
7
|
+
export function encodeToAudioBuffer(audioChannels, targetBitDepth = 16, targetSampleFormat = SampleFormat.PCM) {
|
|
8
8
|
const interleavedChannels = interleaveChannels(audioChannels);
|
|
9
9
|
if (targetSampleFormat == SampleFormat.PCM) {
|
|
10
10
|
if (targetBitDepth == 8) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioBufferConversion.js","sourceRoot":"","sources":["../../src/audio/AudioBufferConversion.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,qBAAqB,MAAM,uCAAuC,CAAA;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"AudioBufferConversion.js","sourceRoot":"","sources":["../../src/audio/AudioBufferConversion.ts"],"names":[],"mappings":"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"}
|
|
@@ -133,7 +133,7 @@ export function playAudioSamples(rawAudio, onTimePosition, signalChannel, microF
|
|
|
133
133
|
}
|
|
134
134
|
let playerProcess;
|
|
135
135
|
if (streamToStdin) {
|
|
136
|
-
audioBuffer = encodeToAudioBuffer(rawAudio.audioChannels
|
|
136
|
+
audioBuffer = encodeToAudioBuffer(rawAudio.audioChannels);
|
|
137
137
|
playerProcess = spawn(soxPath, ['-t', 'raw', '-r', `${rawAudio.sampleRate}`, '-e', 'signed', '-b', '16', '-c', channelCount.toString(), '-', '-d'], {});
|
|
138
138
|
}
|
|
139
139
|
else {
|
|
@@ -196,7 +196,7 @@ export function playAudioSamples_Speaker(rawAudio, onTimePosition, microFadeInOu
|
|
|
196
196
|
rawAudio = fadeAudioInOut(rawAudio, 0.0025);
|
|
197
197
|
}
|
|
198
198
|
const channelCount = rawAudio.audioChannels.length;
|
|
199
|
-
let audioData = AudioBufferConversion.encodeToAudioBuffer(rawAudio.audioChannels
|
|
199
|
+
let audioData = AudioBufferConversion.encodeToAudioBuffer(rawAudio.audioChannels);
|
|
200
200
|
const { default: Speaker } = await import('speaker');
|
|
201
201
|
const speaker = new Speaker({
|
|
202
202
|
channels: rawAudio.audioChannels.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../src/audio/AudioPlayer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../src/audio/AudioPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { SampleFormat } from "../codecs/WaveCodec.js";
|
|
3
|
-
export declare function encodeWaveBuffer(rawAudio: RawAudio, bitDepth?:
|
|
2
|
+
import { SampleFormat, BitDepth } from "../codecs/WaveCodec.js";
|
|
3
|
+
export declare function encodeWaveBuffer(rawAudio: RawAudio, bitDepth?: BitDepth, sampleFormat?: SampleFormat, speakerPositionMask?: number): Buffer;
|
|
4
4
|
export declare function decodeWaveBuffer(waveFileBuffer: Buffer, ignoreTruncatedChunks?: boolean): {
|
|
5
5
|
rawAudio: {
|
|
6
6
|
audioChannels: Float32Array[];
|
|
7
7
|
sampleRate: number;
|
|
8
8
|
};
|
|
9
9
|
sourceSampleFormat: SampleFormat;
|
|
10
|
-
sourceBitDepth:
|
|
10
|
+
sourceBitDepth: BitDepth;
|
|
11
11
|
sourceSpeakerPositionMask: number;
|
|
12
12
|
};
|
|
13
13
|
export declare function trimAudioStart(audioSamples: Float32Array, targetStartSilenceSampleCount?: number, amplitudeThreshold?: number): Float32Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioUtilities.js","sourceRoot":"","sources":["../../src/audio/AudioUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"AudioUtilities.js","sourceRoot":"","sources":["../../src/audio/AudioUtilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { RawAudio } from '../audio/AudioUtilities.js';
|
|
3
|
-
export declare function encodeWave(rawAudio: RawAudio, bitDepth
|
|
3
|
+
export declare function encodeWave(rawAudio: RawAudio, bitDepth?: BitDepth, sampleFormat?: SampleFormat, speakerPositionMask?: number): Buffer;
|
|
4
4
|
export declare function decodeWave(waveData: Buffer, ignoreTruncatedChunks?: boolean): {
|
|
5
5
|
rawAudio: {
|
|
6
6
|
audioChannels: Float32Array[];
|
|
7
7
|
sampleRate: number;
|
|
8
8
|
};
|
|
9
9
|
sourceSampleFormat: SampleFormat;
|
|
10
|
-
sourceBitDepth:
|
|
10
|
+
sourceBitDepth: BitDepth;
|
|
11
11
|
sourceSpeakerPositionMask: number;
|
|
12
12
|
};
|
|
13
13
|
export declare function repairWave(waveData: Buffer): Buffer;
|
|
@@ -17,3 +17,4 @@ export declare enum SampleFormat {
|
|
|
17
17
|
Alaw = 6,
|
|
18
18
|
Mulaw = 7
|
|
19
19
|
}
|
|
20
|
+
export type BitDepth = 8 | 16 | 24 | 32 | 64;
|
package/dist/codecs/WaveCodec.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as AudioBufferConversion from '../audio/AudioBufferConversion.js';
|
|
2
2
|
import { logToStderr } from '../utilities/Utilities.js';
|
|
3
3
|
const log = logToStderr;
|
|
4
|
-
export function encodeWave(rawAudio, bitDepth = 16, sampleFormat, speakerPositionMask = 0) {
|
|
4
|
+
export function encodeWave(rawAudio, bitDepth = 16, sampleFormat = SampleFormat.PCM, speakerPositionMask = 0) {
|
|
5
5
|
const audioChannels = rawAudio.audioChannels;
|
|
6
6
|
const sampleRate = rawAudio.sampleRate;
|
|
7
7
|
const audioBuffer = AudioBufferConversion.encodeToAudioBuffer(audioChannels, bitDepth, sampleFormat);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveCodec.js","sourceRoot":"","sources":["../../src/codecs/WaveCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,mCAAmC,CAAA;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,MAAM,GAAG,GAAG,WAAW,CAAA;AAEvB,MAAM,UAAU,UAAU,CAAC,QAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"WaveCodec.js","sourceRoot":"","sources":["../../src/codecs/WaveCodec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Logger } from "../utilities/Logger.js";
|
|
2
|
-
|
|
2
|
+
import * as FFT from "./FFT.js";
|
|
3
3
|
export async function computeMelSpectogram(rawAudio, fftOrder, windowSize, hopLength, filterbankCount, lowerFrequencyHz, upperFrequencyHz) {
|
|
4
4
|
const logger = new Logger();
|
|
5
5
|
logger.start("Compute mel filterbank");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MelSpectogram.js","sourceRoot":"","sources":["../../src/dsp/MelSpectogram.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,
|
|
1
|
+
{"version":3,"file":"MelSpectogram.js","sourceRoot":"","sources":["../../src/dsp/MelSpectogram.ts"],"names":[],"mappings":"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"}
|
package/docs/Development.md
CHANGED
|
@@ -6,7 +6,7 @@ However, there are many areas where contributions can be made.
|
|
|
6
6
|
|
|
7
7
|
## Report any issue or bug you encounter
|
|
8
8
|
|
|
9
|
-
First, check
|
|
9
|
+
First, check the issue tracker, as well as the [task list](Tasklist.md) to see if the problem is already known to me. The task list allows me to efficiently document and organize a large quantity of small issues, enhancements or ideas that would otherwise flood an issue tracker with lots of unimportant entries, be ignored, or forgotten entirely.
|
|
10
10
|
|
|
11
11
|
If you find the issue you're encountering in the task list, you can still open an issue to discuss it. This allows me to know that someone cares about a particular issue, and I may give it higher priority.
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ There might be some obvious errors that have gone unreported. Especially if:
|
|
|
16
16
|
|
|
17
17
|
In any case, please let me know if you get any unexpected error message or surprising behavior that you care about, and I'll try to prioritize it, if possible.
|
|
18
18
|
|
|
19
|
-
## Report odd TTS pronunciations and other fail cases
|
|
19
|
+
## Report or help fix odd TTS pronunciations and other fail cases
|
|
20
20
|
|
|
21
21
|
When you encounter an odd pronunciation in a VITS voice, there are several possible causes:
|
|
22
22
|
|
package/docs/Server.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Starting and interfacing with the WebSocket server
|
|
2
2
|
|
|
3
|
-
This is a guide for the WebSocket server protocol. The protocol is still in an early development stage and may change
|
|
3
|
+
This is a guide for the WebSocket server protocol. The protocol is still in an early development stage and may change on future releases.
|
|
4
4
|
|
|
5
5
|
## Starting the server
|
|
6
6
|
|
|
@@ -78,7 +78,7 @@ For example, this message requests synthesis:
|
|
|
78
78
|
|
|
79
79
|
options: {
|
|
80
80
|
engine: 'espeak',
|
|
81
|
-
|
|
81
|
+
language: 'en-GB'
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
```
|
|
@@ -135,7 +135,7 @@ Example:
|
|
|
135
135
|
```ts
|
|
136
136
|
import { startServer } from 'echogarden'
|
|
137
137
|
|
|
138
|
-
startServer({ port: 1234 }, () => {
|
|
138
|
+
await startServer({ port: 1234 }, () => {
|
|
139
139
|
console.log("Server is started!")
|
|
140
140
|
})
|
|
141
141
|
```
|
package/docs/Tasklist.md
CHANGED
|
@@ -2,14 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Bugs
|
|
4
4
|
|
|
5
|
-
### Audio player
|
|
6
|
-
* In rare situations, the audio player fails when encountering encoded markup (it can't find it in the text). Decide what to do when this happens
|
|
7
|
-
|
|
8
5
|
### Phoneme processing
|
|
9
|
-
* IPA -> Kirshenbaum translation is still not completely similar to what is output by eSpeak. Also, in rare situations, it outputs characters that are not accepted by eSpeak and eSpeak errors. Investigate when that happens and how to improve on this
|
|
6
|
+
* IPA -> Kirshenbaum translation is still not completely similar to what is output by eSpeak. Also, in rare situations, it outputs characters that are not accepted by eSpeak and eSpeak errors. Investigate when that happens and how to improve on this.
|
|
10
7
|
|
|
11
8
|
### Segmentation
|
|
12
|
-
* eSpeak
|
|
9
|
+
* eSpeak markers fail when given inputs like `**********` or `----------` due to the fact that eSpeak limits output of these special characters to only a few, so only some of the markers are output.
|
|
13
10
|
|
|
14
11
|
### Browser extension
|
|
15
12
|
* Investigate why WebSpeech events sometimes completely stop working in the middle of an utterance for no apparent reason. Sometimes this is permanent, until the extension is restarted. Is this a browser issue?
|
|
@@ -118,8 +115,8 @@
|
|
|
118
115
|
|
|
119
116
|
### Subtitles
|
|
120
117
|
* If a subtitle is too short and at the end of the audio, try to extend it back if possible (for example, if the previous subtitle is already extended, take back from it)
|
|
118
|
+
* Option to output one cue per word
|
|
121
119
|
* Option to disable sentence isolation (a new sentence can start in the same cue)
|
|
122
|
-
* Option to output one subtitle per word
|
|
123
120
|
* Split long words if needed
|
|
124
121
|
* Decide how many punctuation characters to allow before breaking to a new line (currently it's infinite)
|
|
125
122
|
* Add more clause separators, for even more special cases
|
|
@@ -128,8 +125,8 @@
|
|
|
128
125
|
* Option to generate captions that have word-level timings
|
|
129
126
|
|
|
130
127
|
### Synthesis
|
|
131
|
-
* Option to disable alignment.
|
|
132
|
-
* Find places to add commas (",") to improve speech fluency. VITS voices don't normally add
|
|
128
|
+
* Option to disable alignment (only for some engines).
|
|
129
|
+
* Find places to add commas (",") to improve speech fluency. VITS voices don't normally add speech breaks if there is no punctuation
|
|
133
130
|
* An isolated dash " - " can be converted to a " , " to ensure there's a break in the speech.
|
|
134
131
|
* Ensure abbreviations like "Ph.d" or names like are segmented and read correctly (does `cldr` treat it as a word? Maybe eSpeak doesn't recognize it as a word). "C#" as well
|
|
135
132
|
* Find way to manually reset voice list cache
|
|
@@ -172,7 +169,7 @@
|
|
|
172
169
|
* Option to split recognized audio to segments or sentences, as is done with synthesized audio
|
|
173
170
|
|
|
174
171
|
### Recognition / Whisper
|
|
175
|
-
*
|
|
172
|
+
* Automatically disable using previous section recognized transcript as prompt for the next section when lots of repetition occurred in previous section
|
|
176
173
|
* May get stuck in a token repeat loop when silence or non-speech segment encountered in audio. Decide what to do
|
|
177
174
|
* Cache last model (if enough memory available)
|
|
178
175
|
* Bring back option to use eSpeak DTW based alignment on segments, as an alternative approach
|
|
@@ -193,7 +190,7 @@
|
|
|
193
190
|
* See if the installation of `winax` can be automated and only initiate if it is in a Windows environment
|
|
194
191
|
* Ensure that all modules have no internal state other than caching
|
|
195
192
|
* Start thinking about some modules being available in the browser. Which node core APIs the use? Which of them can be polyfilled, an which cannot?
|
|
196
|
-
* Change all the Emscripten WASM modules to use the `EXPORT_ES6=1` flag to all of them and rebuild them. Support for node.js was only added in September 2022 (https://github.com/emscripten-core/emscripten/pull/17915), so maybe wait a little bit until it
|
|
193
|
+
* Change all the Emscripten WASM modules to use the `EXPORT_ES6=1` flag to all of them and rebuild them. Support for node.js modules was only added in September 2022 (https://github.com/emscripten-core/emscripten/pull/17915), so maybe wait a little bit until it's' stable.
|
|
197
194
|
* Remove built-in voices from `flite` to reduce size?
|
|
198
195
|
* Slim down `kuromoji` package to the reduce base install size
|
|
199
196
|
|
|
@@ -221,7 +218,7 @@
|
|
|
221
218
|
### CLI
|
|
222
219
|
* Auto-generate options file, with comments, based on default options of the API
|
|
223
220
|
* Have the CLI launch a background worker (in a thread) to enable better parallelism
|
|
224
|
-
* Play back result audio while synthesis or recognition is still processing
|
|
221
|
+
* Play back result audio while synthesis or recognition is still processing in the background
|
|
225
222
|
* Auto-import and extract project Gutenberg texts (by URL or from a file)
|
|
226
223
|
* `stdin` input support
|
|
227
224
|
* `stdout` output support
|
|
@@ -233,7 +230,7 @@
|
|
|
233
230
|
* Investigate running in WebContainer
|
|
234
231
|
|
|
235
232
|
### API
|
|
236
|
-
* Auto-install npm modules when needed using
|
|
233
|
+
* Auto-install npm modules when needed using an approach similar to like `npm-programmatic`
|
|
237
234
|
|
|
238
235
|
### Text enhancement
|
|
239
236
|
* Add capitalization and punctuation to recognized outputs if needed (Silero has a model for it for `en`, `de`, `ru`, `es`, but in `.pt` format only)
|
|
@@ -250,7 +247,6 @@
|
|
|
250
247
|
* Investigate exporting Whisper models to 16-bit quantized ONNX or a mix of 16-bit and 32-bit
|
|
251
248
|
|
|
252
249
|
### Alignment
|
|
253
|
-
* Implement hierarchical DTW to reduce memory for very long inputs.
|
|
254
250
|
* Implement alignment with speech translation assistance, which would enable multilingual subtitle replacement for translated subtitles
|
|
255
251
|
* Method to align audio file to audio file
|
|
256
252
|
* Make `dtw` mode work with more speech synthesizers to produce its reference
|
package/docs/Technical.md
CHANGED
|
@@ -16,7 +16,7 @@ Packages are downloaded as `.tar.gz` files, and are extracted to `[data-folder]/
|
|
|
16
16
|
* `Users/User/Library/Application Support/echogarden` on macOS
|
|
17
17
|
* `/home/user/.local/share/echogarden` on Linux
|
|
18
18
|
|
|
19
|
-
By using downloadable packages, the installed size is made significantly smaller and the installation faster. The total size of all available packages is currently about
|
|
19
|
+
By using downloadable packages, the installed size is made significantly smaller and the installation faster. The total size of all available packages is currently about 16.2GB (11.4GB compressed).
|
|
20
20
|
|
|
21
21
|
The packages are currently hosted and downloaded from a dedicated [Hugging Face repository](https://huggingface.co/echogarden/echogarden-packages).
|
|
22
22
|
|
|
@@ -28,7 +28,6 @@ Currently, the biggest contributors to the size are:
|
|
|
28
28
|
|
|
29
29
|
* `onnxruntime-node` (NAPI): 92MB
|
|
30
30
|
* `kuromoji` (JavaScript) 40MB
|
|
31
|
-
* `ffmpeg` (WASM): 24MB
|
|
32
31
|
* `flite-wasi` (WASI): 20MB
|
|
33
32
|
* `espeak-ng-emscripten` (WASM): 18MB
|
|
34
33
|
|
|
@@ -38,7 +37,7 @@ So, yes, in the future it may be possible to reduce the core installed size by d
|
|
|
38
37
|
|
|
39
38
|
## Since the code is almost all JavaScript and WASM, why can't it just run in a web browser?
|
|
40
39
|
|
|
41
|
-
It is technically possible, overall, since its core components: `espeak-ng` and `onnxruntime` both have WASM ports. Actually, `onnxruntime-web`, unlike `onnxruntime-node` can also make use of the GPU via WebGL
|
|
40
|
+
It is technically possible, overall, since its core components: `espeak-ng` and `onnxruntime` both have WASM ports. Actually, `onnxruntime-web`, unlike `onnxruntime-node` can also make use of the GPU via WebGL and WebGPU, which may give a performance boost for some users.
|
|
42
41
|
|
|
43
42
|
However, it is a lot of work, and only a subset of the engines can be supported (no cloud engines, in particular). There are several reasons why the web may not be the most effective platform for Echogarden:
|
|
44
43
|
|
|
@@ -52,7 +51,7 @@ However, it is a lot of work, and only a subset of the engines can be supported
|
|
|
52
51
|
* Possibly lots of issues with inconsistent browser support and browser security constraints
|
|
53
52
|
* Not future-proof. Due to changing restrictions of browsers, the runtime environment is not guaranteed be reliably reproducible in the future, meaning that it may need continuous maintenance to ensure it keeps working on the newest browsers
|
|
54
53
|
|
|
55
|
-
It remains to be seen if this sort of work would feel justified somehow. I designed the tool to make the local installation extremely easy and issue-free. I guess it could look "impressive" to be able to run it in a browser, and may be come as a nice "toy" or "tech-demo", and could get some attention, but it may eventually turn out to be simpler and more practical to just install a local instance and connect to it from the browser via a WebSocket API
|
|
54
|
+
It remains to be seen if this sort of work would feel justified somehow. I designed the tool to make the local installation extremely easy and issue-free. I guess it could look "impressive" to be able to run it in a browser, and may be come as a nice "toy" or "tech-demo", and could get some attention, but it may eventually turn out to be simpler and more practical to just install a local instance and connect to it from the browser via a WebSocket API.
|
|
56
55
|
|
|
57
56
|
A TTS-only browser extension is in development. It registers Echogarden's voices on the browser's Web Speech API using the [`chrome.ttsEngine`](https://developer.chrome.com/docs/extensions/reference/ttsEngine/) extension API and communicates with it using the WebSocket API
|
|
58
57
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "echogarden",
|
|
3
|
-
"version": "0.11.
|
|
4
|
-
"description": "An integrated speech system, providing a
|
|
3
|
+
"version": "0.11.8",
|
|
4
|
+
"description": "An integrated speech system, providing a variety of synthesis, recognition, alignment, and other processing tools, designed to be directly accessible to end-users.",
|
|
5
5
|
"author": "Rotem Dan",
|
|
6
6
|
"license": "GPL-3.0",
|
|
7
7
|
"keywords": [
|