@jskit-ai/assistant-voice-sherpa 0.1.1
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 +171 -0
- package/bin/jskit-assistant-voice.js +7 -0
- package/models/streaming-zipformer-en-2023-06-26.bpe.vocab +500 -0
- package/models/voice-hotwords.txt +48 -0
- package/models/voice-models-kitten.json +116 -0
- package/models/voice-models-kokoro.json +102 -0
- package/models/voice-models-piper.json +200 -0
- package/models/voice-models.json +49 -0
- package/package.json +62 -0
- package/src/cli.js +167 -0
- package/src/index.js +2 -0
- package/src/sherpaSpeechEngine.js +292 -0
- package/src/synthesisProcess.js +81 -0
- package/src/synthesisWorker.js +40 -0
- package/src/voiceModelContract.js +117 -0
- package/tooling/build-voice-model-contract.mjs +51 -0
- package/tooling/prepare-models.sh +152 -0
- package/tooling/stage-voice-models.mjs +20 -0
- package/tooling/verify-voice-models.mjs +20 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
AI
|
|
2
|
+
JSKIT
|
|
3
|
+
J S KIT
|
|
4
|
+
JAY ESS KIT
|
|
5
|
+
CODEX
|
|
6
|
+
OPENCODE
|
|
7
|
+
OPENAI
|
|
8
|
+
JAVASCRIPT
|
|
9
|
+
TYPESCRIPT
|
|
10
|
+
NODE JS
|
|
11
|
+
NODE J S
|
|
12
|
+
NODE JAY ESS
|
|
13
|
+
NPM
|
|
14
|
+
VUE
|
|
15
|
+
VUETIFY
|
|
16
|
+
FASTIFY
|
|
17
|
+
PLAYWRIGHT
|
|
18
|
+
VITEST
|
|
19
|
+
GITHUB
|
|
20
|
+
GIT
|
|
21
|
+
WORKTREE
|
|
22
|
+
SUBMODULE
|
|
23
|
+
REBASE
|
|
24
|
+
WEBSOCKET
|
|
25
|
+
WEB SOCKET
|
|
26
|
+
SYSTEMD
|
|
27
|
+
API
|
|
28
|
+
JSON
|
|
29
|
+
HTTP
|
|
30
|
+
HTTPS
|
|
31
|
+
URL
|
|
32
|
+
UUID
|
|
33
|
+
ENV
|
|
34
|
+
ERD
|
|
35
|
+
PTY
|
|
36
|
+
ACL
|
|
37
|
+
HMAC
|
|
38
|
+
SQL
|
|
39
|
+
MYSQL
|
|
40
|
+
MARIADB
|
|
41
|
+
POSTGRESQL
|
|
42
|
+
POSTGRES Q L
|
|
43
|
+
POSTGRES S Q L
|
|
44
|
+
C PLUS PLUS
|
|
45
|
+
CMAKE
|
|
46
|
+
ONNX
|
|
47
|
+
SHERPA ONNX
|
|
48
|
+
ZIPFORMER
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "vibe64.voice-model-sources.v1",
|
|
3
|
+
"packRevision": 2,
|
|
4
|
+
"models": [
|
|
5
|
+
{
|
|
6
|
+
"id": "streaming-zipformer-en-2023-06-26",
|
|
7
|
+
"kind": "stt",
|
|
8
|
+
"archive": "sherpa-onnx-streaming-zipformer-en-2023-06-26.tar.bz2",
|
|
9
|
+
"archiveSha256": "639e25b578e9e997131402199419c13a941f8e4e198e2da1ce57dbf5cf401282",
|
|
10
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-en-2023-06-26.tar.bz2",
|
|
11
|
+
"license": "Apache-2.0",
|
|
12
|
+
"source": "https://huggingface.co/csukuangfj/sherpa-onnx-streaming-zipformer-en-2023-06-26",
|
|
13
|
+
"files": {
|
|
14
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/encoder-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/encoder.int8.onnx",
|
|
15
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/decoder-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/decoder.int8.onnx",
|
|
16
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/joiner-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/joiner.int8.onnx",
|
|
17
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/tokens.txt": "stt/tokens.txt",
|
|
18
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/README.md": "stt/SOURCE.md"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "kitten-micro-en-v0_8",
|
|
23
|
+
"kind": "tts",
|
|
24
|
+
"archive": "kitten-micro-en-v0_8.tar.bz2",
|
|
25
|
+
"archiveSha256": "85faaea7511ca9d1d2f251fed0a4553bdf0d1ee046102fa60ddd8046c751f76f",
|
|
26
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kitten-micro-en-v0_8.tar.bz2",
|
|
27
|
+
"license": "Apache-2.0",
|
|
28
|
+
"source": "https://huggingface.co/KittenML/kitten-tts-micro-0.8",
|
|
29
|
+
"files": {
|
|
30
|
+
"kitten-micro-en-v0_8/model.onnx": "tts/kitten/model.onnx",
|
|
31
|
+
"kitten-micro-en-v0_8/tokens.txt": "tts/kitten/tokens.txt",
|
|
32
|
+
"kitten-micro-en-v0_8/voices.bin": "tts/kitten/voices.bin",
|
|
33
|
+
"kitten-micro-en-v0_8/espeak-ng-data": "tts/kitten/espeak-ng-data",
|
|
34
|
+
"kitten-micro-en-v0_8/LICENSE": "tts/kitten/LICENSE",
|
|
35
|
+
"kitten-micro-en-v0_8/README.md": "tts/kitten/README.md"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"configuration": {
|
|
40
|
+
"defaultVoice": "kitten_bella",
|
|
41
|
+
"voices": [
|
|
42
|
+
{
|
|
43
|
+
"id": "kitten_bella",
|
|
44
|
+
"label": "Bella · female · Kitten",
|
|
45
|
+
"language": "en",
|
|
46
|
+
"speakerId": 1,
|
|
47
|
+
"speed": 1.15,
|
|
48
|
+
"modelId": "kitten"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "kitten_jasper",
|
|
52
|
+
"label": "Jasper · male · Kitten",
|
|
53
|
+
"language": "en",
|
|
54
|
+
"speakerId": 0,
|
|
55
|
+
"modelId": "kitten"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "kitten_luna",
|
|
59
|
+
"label": "Luna · female · Kitten",
|
|
60
|
+
"language": "en",
|
|
61
|
+
"speakerId": 3,
|
|
62
|
+
"modelId": "kitten"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "kitten_bruno",
|
|
66
|
+
"label": "Bruno · male · Kitten",
|
|
67
|
+
"language": "en",
|
|
68
|
+
"speakerId": 2,
|
|
69
|
+
"modelId": "kitten"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "kitten_rosie",
|
|
73
|
+
"label": "Rosie · female · Kitten",
|
|
74
|
+
"language": "en",
|
|
75
|
+
"speakerId": 5,
|
|
76
|
+
"modelId": "kitten"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "kitten_hugo",
|
|
80
|
+
"label": "Hugo · male · Kitten",
|
|
81
|
+
"language": "en",
|
|
82
|
+
"speakerId": 4,
|
|
83
|
+
"modelId": "kitten"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "kitten_kiki",
|
|
87
|
+
"label": "Kiki · female · Kitten",
|
|
88
|
+
"language": "en",
|
|
89
|
+
"speakerId": 7,
|
|
90
|
+
"modelId": "kitten"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "kitten_leo",
|
|
94
|
+
"label": "Leo · male · Kitten",
|
|
95
|
+
"language": "en",
|
|
96
|
+
"speakerId": 6,
|
|
97
|
+
"modelId": "kitten"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"synthesizers": {
|
|
101
|
+
"kitten": {
|
|
102
|
+
"maxNumSentences": 1,
|
|
103
|
+
"model": {
|
|
104
|
+
"numThreads": 1,
|
|
105
|
+
"provider": "cpu",
|
|
106
|
+
"kitten": {
|
|
107
|
+
"model": "${MODELS_ROOT}/tts/kitten/model.onnx",
|
|
108
|
+
"tokens": "${MODELS_ROOT}/tts/kitten/tokens.txt",
|
|
109
|
+
"voices": "${MODELS_ROOT}/tts/kitten/voices.bin",
|
|
110
|
+
"dataDir": "${MODELS_ROOT}/tts/kitten/espeak-ng-data"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "vibe64.voice-model-sources.v1",
|
|
3
|
+
"packRevision": 3,
|
|
4
|
+
"models": [
|
|
5
|
+
{
|
|
6
|
+
"id": "streaming-zipformer-en-2023-06-26",
|
|
7
|
+
"kind": "stt",
|
|
8
|
+
"archive": "sherpa-onnx-streaming-zipformer-en-2023-06-26.tar.bz2",
|
|
9
|
+
"archiveSha256": "639e25b578e9e997131402199419c13a941f8e4e198e2da1ce57dbf5cf401282",
|
|
10
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-en-2023-06-26.tar.bz2",
|
|
11
|
+
"license": "Apache-2.0",
|
|
12
|
+
"source": "https://huggingface.co/csukuangfj/sherpa-onnx-streaming-zipformer-en-2023-06-26",
|
|
13
|
+
"files": {
|
|
14
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/encoder-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/encoder.int8.onnx",
|
|
15
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/decoder-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/decoder.int8.onnx",
|
|
16
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/joiner-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/joiner.int8.onnx",
|
|
17
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/tokens.txt": "stt/tokens.txt",
|
|
18
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/README.md": "stt/SOURCE.md"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "kokoro-multi-lang-v1_0",
|
|
23
|
+
"kind": "tts",
|
|
24
|
+
"archive": "kokoro-multi-lang-v1_0.tar.bz2",
|
|
25
|
+
"archiveSha256": "c5f7e2d2caf082bc1d20fb70334a61d99d20b484500aad32e7cf84c128ea3298",
|
|
26
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-multi-lang-v1_0.tar.bz2",
|
|
27
|
+
"license": "Apache-2.0",
|
|
28
|
+
"source": "https://huggingface.co/hexgrad/Kokoro-82M",
|
|
29
|
+
"files": {
|
|
30
|
+
"kokoro-multi-lang-v1_0/model.onnx": "tts/model.onnx",
|
|
31
|
+
"kokoro-multi-lang-v1_0/tokens.txt": "tts/tokens.txt",
|
|
32
|
+
"kokoro-multi-lang-v1_0/voices.bin": "tts/voices.bin",
|
|
33
|
+
"kokoro-multi-lang-v1_0/espeak-ng-data": "tts/espeak-ng-data",
|
|
34
|
+
"kokoro-multi-lang-v1_0/lexicon-us-en.txt": "tts/lexicon-us-en.txt",
|
|
35
|
+
"kokoro-multi-lang-v1_0/lexicon-gb-en.txt": "tts/lexicon-gb-en.txt",
|
|
36
|
+
"kokoro-multi-lang-v1_0/LICENSE": "tts/LICENSE",
|
|
37
|
+
"kokoro-multi-lang-v1_0/README.md": "tts/README.md"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"configuration": {
|
|
42
|
+
"synthesizer": {
|
|
43
|
+
"maxNumSentences": 1,
|
|
44
|
+
"model": {
|
|
45
|
+
"numThreads": 1,
|
|
46
|
+
"provider": "cpu",
|
|
47
|
+
"kokoro": {
|
|
48
|
+
"model": "${MODELS_ROOT}/tts/model.onnx",
|
|
49
|
+
"tokens": "${MODELS_ROOT}/tts/tokens.txt",
|
|
50
|
+
"voices": "${MODELS_ROOT}/tts/voices.bin",
|
|
51
|
+
"dataDir": "${MODELS_ROOT}/tts/espeak-ng-data",
|
|
52
|
+
"lexicon": "${MODELS_ROOT}/tts/lexicon-us-en.txt"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"defaultVoice": "af_heart",
|
|
57
|
+
"voices": [
|
|
58
|
+
{
|
|
59
|
+
"id": "af_heart",
|
|
60
|
+
"label": "Heart \u00b7 female \u00b7 American English",
|
|
61
|
+
"language": "en-US",
|
|
62
|
+
"speakerId": 3
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "af_bella",
|
|
66
|
+
"label": "Bella \u00b7 female \u00b7 American English",
|
|
67
|
+
"language": "en-US",
|
|
68
|
+
"speakerId": 2
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "am_michael",
|
|
72
|
+
"label": "Michael \u00b7 male \u00b7 American English",
|
|
73
|
+
"language": "en-US",
|
|
74
|
+
"speakerId": 16
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "am_adam",
|
|
78
|
+
"label": "Adam \u00b7 male \u00b7 American English",
|
|
79
|
+
"language": "en-US",
|
|
80
|
+
"speakerId": 11
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "bf_emma",
|
|
84
|
+
"label": "Emma \u00b7 female \u00b7 British English",
|
|
85
|
+
"language": "en-GB",
|
|
86
|
+
"speakerId": 21
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "bm_george",
|
|
90
|
+
"label": "George \u00b7 male \u00b7 British English",
|
|
91
|
+
"language": "en-GB",
|
|
92
|
+
"speakerId": 26
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "bm_daniel",
|
|
96
|
+
"label": "Daniel \u00b7 male \u00b7 British English",
|
|
97
|
+
"language": "en-GB",
|
|
98
|
+
"speakerId": 24
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "vibe64.voice-model-sources.v1",
|
|
3
|
+
"packRevision": 2,
|
|
4
|
+
"models": [
|
|
5
|
+
{
|
|
6
|
+
"id": "streaming-zipformer-en-2023-06-26",
|
|
7
|
+
"kind": "stt",
|
|
8
|
+
"archive": "sherpa-onnx-streaming-zipformer-en-2023-06-26.tar.bz2",
|
|
9
|
+
"archiveSha256": "639e25b578e9e997131402199419c13a941f8e4e198e2da1ce57dbf5cf401282",
|
|
10
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-en-2023-06-26.tar.bz2",
|
|
11
|
+
"license": "Apache-2.0",
|
|
12
|
+
"source": "https://huggingface.co/csukuangfj/sherpa-onnx-streaming-zipformer-en-2023-06-26",
|
|
13
|
+
"files": {
|
|
14
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/encoder-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/encoder.int8.onnx",
|
|
15
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/decoder-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/decoder.int8.onnx",
|
|
16
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/joiner-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/joiner.int8.onnx",
|
|
17
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/tokens.txt": "stt/tokens.txt",
|
|
18
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/README.md": "stt/SOURCE.md"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "piper-en_GB-cori-medium",
|
|
23
|
+
"kind": "tts",
|
|
24
|
+
"archive": "vits-piper-en_GB-cori-medium.tar.bz2",
|
|
25
|
+
"archiveSha256": "49c9a5361bbdd95d7ca9687c4de11e5908481f65e7c7c368960df79949fdac2b",
|
|
26
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_GB-cori-medium.tar.bz2",
|
|
27
|
+
"license": "MIT model package; public-domain source recordings",
|
|
28
|
+
"source": "https://huggingface.co/rhasspy/piper-voices/tree/b15880f5cbc33fcfc97938b1f72411dc770e5bc4/en/en_GB/cori/medium",
|
|
29
|
+
"files": {
|
|
30
|
+
"vits-piper-en_GB-cori-medium/en_GB-cori-medium.onnx": "tts/model.onnx",
|
|
31
|
+
"vits-piper-en_GB-cori-medium/en_GB-cori-medium.onnx.json": "tts/model.onnx.json",
|
|
32
|
+
"vits-piper-en_GB-cori-medium/tokens.txt": "tts/tokens.txt",
|
|
33
|
+
"vits-piper-en_GB-cori-medium/MODEL_CARD": "tts/SOURCE.md",
|
|
34
|
+
"vits-piper-en_GB-cori-medium/espeak-ng-data": "tts/espeak-ng-data"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "piper-en_GB-alba-medium",
|
|
39
|
+
"kind": "tts",
|
|
40
|
+
"archive": "vits-piper-en_GB-alba-medium.tar.bz2",
|
|
41
|
+
"archiveSha256": "fcd45962906933eec4431d3688f7d74aaac8713c87c6717f91fd3b23463aa1a1",
|
|
42
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_GB-alba-medium.tar.bz2",
|
|
43
|
+
"license": "CC-BY-4.0 source recordings: Valentini-Botinhao, Cassia; Yamagishi, Junichi (2019), Alba speech corpus, University of Edinburgh, doi:10.7488/ds/2506",
|
|
44
|
+
"source": "https://huggingface.co/rhasspy/piper-voices/tree/main/en/en_GB/alba/medium",
|
|
45
|
+
"files": {
|
|
46
|
+
"vits-piper-en_GB-alba-medium/en_GB-alba-medium.onnx": "tts/alba/model.onnx",
|
|
47
|
+
"vits-piper-en_GB-alba-medium/en_GB-alba-medium.onnx.json": "tts/alba/model.onnx.json",
|
|
48
|
+
"vits-piper-en_GB-alba-medium/tokens.txt": "tts/alba/tokens.txt",
|
|
49
|
+
"vits-piper-en_GB-alba-medium/MODEL_CARD": "tts/alba/SOURCE.md"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "piper-en_US-joe-medium",
|
|
54
|
+
"kind": "tts",
|
|
55
|
+
"archive": "vits-piper-en_US-joe-medium.tar.bz2",
|
|
56
|
+
"archiveSha256": "261b903a1fb2ce621e2b5b14233cd41223c3b9f9590f896c11daee4df22d9bd3",
|
|
57
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-joe-medium.tar.bz2",
|
|
58
|
+
"license": "CC0 source recordings",
|
|
59
|
+
"source": "https://huggingface.co/rhasspy/piper-voices/tree/main/en/en_US/joe/medium",
|
|
60
|
+
"files": {
|
|
61
|
+
"vits-piper-en_US-joe-medium/en_US-joe-medium.onnx": "tts/joe/model.onnx",
|
|
62
|
+
"vits-piper-en_US-joe-medium/en_US-joe-medium.onnx.json": "tts/joe/model.onnx.json",
|
|
63
|
+
"vits-piper-en_US-joe-medium/tokens.txt": "tts/joe/tokens.txt",
|
|
64
|
+
"vits-piper-en_US-joe-medium/MODEL_CARD": "tts/joe/SOURCE.md"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "piper-en_US-bryce-medium",
|
|
69
|
+
"kind": "tts",
|
|
70
|
+
"archive": "vits-piper-en_US-bryce-medium.tar.bz2",
|
|
71
|
+
"archiveSha256": "f35bb77ddecdf229798e850d1c77ded839d4179879be8b90da5f82e7beb538f2",
|
|
72
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_US-bryce-medium.tar.bz2",
|
|
73
|
+
"license": "Public-domain source recordings",
|
|
74
|
+
"source": "https://huggingface.co/rhasspy/piper-voices/tree/main/en/en_US/bryce/medium",
|
|
75
|
+
"files": {
|
|
76
|
+
"vits-piper-en_US-bryce-medium/en_US-bryce-medium.onnx": "tts/bryce/model.onnx",
|
|
77
|
+
"vits-piper-en_US-bryce-medium/en_US-bryce-medium.onnx.json": "tts/bryce/model.onnx.json",
|
|
78
|
+
"vits-piper-en_US-bryce-medium/tokens.txt": "tts/bryce/tokens.txt",
|
|
79
|
+
"vits-piper-en_US-bryce-medium/MODEL_CARD": "tts/bryce/SOURCE.md"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "piper-en_GB-northern_english_male-medium",
|
|
84
|
+
"kind": "tts",
|
|
85
|
+
"archive": "vits-piper-en_GB-northern_english_male-medium.tar.bz2",
|
|
86
|
+
"archiveSha256": "2bb2c1e709f58c11f17c693b3b38f500e110e7f54f2651774ec48b8d41f12c55",
|
|
87
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_GB-northern_english_male-medium.tar.bz2",
|
|
88
|
+
"license": "CC-BY-SA-4.0 source recordings: OpenSLR 83, UK English regional accents",
|
|
89
|
+
"source": "https://huggingface.co/rhasspy/piper-voices/tree/main/en/en_GB/northern_english_male/medium",
|
|
90
|
+
"files": {
|
|
91
|
+
"vits-piper-en_GB-northern_english_male-medium/en_GB-northern_english_male-medium.onnx": "tts/northern_english_male/model.onnx",
|
|
92
|
+
"vits-piper-en_GB-northern_english_male-medium/en_GB-northern_english_male-medium.onnx.json": "tts/northern_english_male/model.onnx.json",
|
|
93
|
+
"vits-piper-en_GB-northern_english_male-medium/tokens.txt": "tts/northern_english_male/tokens.txt",
|
|
94
|
+
"vits-piper-en_GB-northern_english_male-medium/MODEL_CARD": "tts/northern_english_male/SOURCE.md"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
"configuration": {
|
|
99
|
+
"voices": [
|
|
100
|
+
{
|
|
101
|
+
"id": "cori",
|
|
102
|
+
"label": "Cori · female · British English",
|
|
103
|
+
"speakerId": 0,
|
|
104
|
+
"language": "en-GB",
|
|
105
|
+
"modelId": "cori"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "alba",
|
|
109
|
+
"label": "Alba · female · Scottish English",
|
|
110
|
+
"speakerId": 0,
|
|
111
|
+
"language": "en-GB",
|
|
112
|
+
"modelId": "alba"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"id": "joe",
|
|
116
|
+
"label": "Joe · male · American English",
|
|
117
|
+
"speakerId": 0,
|
|
118
|
+
"language": "en-US",
|
|
119
|
+
"modelId": "joe"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "bryce",
|
|
123
|
+
"label": "Bryce · male · American English",
|
|
124
|
+
"speakerId": 0,
|
|
125
|
+
"language": "en-US",
|
|
126
|
+
"modelId": "bryce"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "northern_english_male",
|
|
130
|
+
"label": "Northern English · male · British English",
|
|
131
|
+
"speakerId": 0,
|
|
132
|
+
"language": "en-GB",
|
|
133
|
+
"modelId": "northern_english_male"
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"defaultVoice": "cori",
|
|
137
|
+
"synthesizers": {
|
|
138
|
+
"cori": {
|
|
139
|
+
"maxNumSentences": 1,
|
|
140
|
+
"model": {
|
|
141
|
+
"numThreads": 1,
|
|
142
|
+
"provider": "cpu",
|
|
143
|
+
"vits": {
|
|
144
|
+
"dataDir": "${MODELS_ROOT}/tts/espeak-ng-data",
|
|
145
|
+
"model": "${MODELS_ROOT}/tts/model.onnx",
|
|
146
|
+
"tokens": "${MODELS_ROOT}/tts/tokens.txt"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"alba": {
|
|
151
|
+
"maxNumSentences": 1,
|
|
152
|
+
"model": {
|
|
153
|
+
"numThreads": 1,
|
|
154
|
+
"provider": "cpu",
|
|
155
|
+
"vits": {
|
|
156
|
+
"dataDir": "${MODELS_ROOT}/tts/espeak-ng-data",
|
|
157
|
+
"model": "${MODELS_ROOT}/tts/alba/model.onnx",
|
|
158
|
+
"tokens": "${MODELS_ROOT}/tts/alba/tokens.txt"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"joe": {
|
|
163
|
+
"maxNumSentences": 1,
|
|
164
|
+
"model": {
|
|
165
|
+
"numThreads": 1,
|
|
166
|
+
"provider": "cpu",
|
|
167
|
+
"vits": {
|
|
168
|
+
"dataDir": "${MODELS_ROOT}/tts/espeak-ng-data",
|
|
169
|
+
"model": "${MODELS_ROOT}/tts/joe/model.onnx",
|
|
170
|
+
"tokens": "${MODELS_ROOT}/tts/joe/tokens.txt"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"bryce": {
|
|
175
|
+
"maxNumSentences": 1,
|
|
176
|
+
"model": {
|
|
177
|
+
"numThreads": 1,
|
|
178
|
+
"provider": "cpu",
|
|
179
|
+
"vits": {
|
|
180
|
+
"dataDir": "${MODELS_ROOT}/tts/espeak-ng-data",
|
|
181
|
+
"model": "${MODELS_ROOT}/tts/bryce/model.onnx",
|
|
182
|
+
"tokens": "${MODELS_ROOT}/tts/bryce/tokens.txt"
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"northern_english_male": {
|
|
187
|
+
"maxNumSentences": 1,
|
|
188
|
+
"model": {
|
|
189
|
+
"numThreads": 1,
|
|
190
|
+
"provider": "cpu",
|
|
191
|
+
"vits": {
|
|
192
|
+
"dataDir": "${MODELS_ROOT}/tts/espeak-ng-data",
|
|
193
|
+
"model": "${MODELS_ROOT}/tts/northern_english_male/model.onnx",
|
|
194
|
+
"tokens": "${MODELS_ROOT}/tts/northern_english_male/tokens.txt"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "vibe64.voice-model-sources.v1",
|
|
3
|
+
"packRevision": 3,
|
|
4
|
+
"models": [
|
|
5
|
+
{
|
|
6
|
+
"id": "streaming-zipformer-en-2023-06-26",
|
|
7
|
+
"kind": "stt",
|
|
8
|
+
"archive": "sherpa-onnx-streaming-zipformer-en-2023-06-26.tar.bz2",
|
|
9
|
+
"archiveSha256": "639e25b578e9e997131402199419c13a941f8e4e198e2da1ce57dbf5cf401282",
|
|
10
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-en-2023-06-26.tar.bz2",
|
|
11
|
+
"license": "Apache-2.0",
|
|
12
|
+
"source": "https://huggingface.co/csukuangfj/sherpa-onnx-streaming-zipformer-en-2023-06-26",
|
|
13
|
+
"files": {
|
|
14
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/encoder-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/encoder.int8.onnx",
|
|
15
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/decoder-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/decoder.int8.onnx",
|
|
16
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/joiner-epoch-99-avg-1-chunk-16-left-128.int8.onnx": "stt/joiner.int8.onnx",
|
|
17
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/tokens.txt": "stt/tokens.txt",
|
|
18
|
+
"sherpa-onnx-streaming-zipformer-en-2023-06-26/README.md": "stt/SOURCE.md"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "piper-en_GB-cori-medium",
|
|
23
|
+
"kind": "tts",
|
|
24
|
+
"archive": "vits-piper-en_GB-cori-medium.tar.bz2",
|
|
25
|
+
"archiveSha256": "49c9a5361bbdd95d7ca9687c4de11e5908481f65e7c7c368960df79949fdac2b",
|
|
26
|
+
"url": "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/vits-piper-en_GB-cori-medium.tar.bz2",
|
|
27
|
+
"license": "MIT model package; public-domain source recordings",
|
|
28
|
+
"source": "https://huggingface.co/rhasspy/piper-voices/tree/b15880f5cbc33fcfc97938b1f72411dc770e5bc4/en/en_GB/cori/medium",
|
|
29
|
+
"files": {
|
|
30
|
+
"vits-piper-en_GB-cori-medium/en_GB-cori-medium.onnx": "tts/model.onnx",
|
|
31
|
+
"vits-piper-en_GB-cori-medium/en_GB-cori-medium.onnx.json": "tts/model.onnx.json",
|
|
32
|
+
"vits-piper-en_GB-cori-medium/tokens.txt": "tts/tokens.txt",
|
|
33
|
+
"vits-piper-en_GB-cori-medium/MODEL_CARD": "tts/SOURCE.md",
|
|
34
|
+
"vits-piper-en_GB-cori-medium/espeak-ng-data": "tts/espeak-ng-data"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"configuration": {
|
|
39
|
+
"voices": [
|
|
40
|
+
{
|
|
41
|
+
"id": "cori",
|
|
42
|
+
"label": "Cori \u00b7 female \u00b7 British English",
|
|
43
|
+
"speakerId": 0,
|
|
44
|
+
"language": "en-GB"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"defaultVoice": "cori"
|
|
48
|
+
}
|
|
49
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jskit-ai/assistant-voice-sherpa",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Optional native Sherpa speech engine and explicit model preparation for assistant voice.",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "node --test --test-concurrency=1"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./src/index.js",
|
|
11
|
+
"./models": "./src/voiceModelContract.js",
|
|
12
|
+
"./cli": "./src/cli.js"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src",
|
|
16
|
+
"README.md",
|
|
17
|
+
"bin",
|
|
18
|
+
"models",
|
|
19
|
+
"tooling"
|
|
20
|
+
],
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@jskit-ai/assistant-voice": "0.1.1",
|
|
23
|
+
"sherpa-onnx-node": "1.13.6"
|
|
24
|
+
},
|
|
25
|
+
"jskit": {
|
|
26
|
+
"kind": "runtime",
|
|
27
|
+
"capabilities": {
|
|
28
|
+
"provides": [],
|
|
29
|
+
"requires": []
|
|
30
|
+
},
|
|
31
|
+
"runtime": {
|
|
32
|
+
"client": {
|
|
33
|
+
"providers": []
|
|
34
|
+
},
|
|
35
|
+
"server": {
|
|
36
|
+
"providers": []
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"metadata": {
|
|
40
|
+
"apiSummary": {
|
|
41
|
+
"surfaces": [
|
|
42
|
+
{
|
|
43
|
+
"subpath": ".",
|
|
44
|
+
"summary": "Native Sherpa recognition and synthesis with operator configuration and a named voice catalogue."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"subpath": "./models",
|
|
48
|
+
"summary": "Prepared model integrity manifests, construction and verification."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"subpath": "./cli",
|
|
52
|
+
"summary": "Portable prepare, verify, token and serve commands with an optional host-owned daemon factory."
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"capabilities": []
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"bin": {
|
|
60
|
+
"jskit-assistant-voice": "./bin/jskit-assistant-voice.js"
|
|
61
|
+
}
|
|
62
|
+
}
|