drowzeys commited on
Commit
f1ff6eb
Β·
verified Β·
1 Parent(s): 48b5be7

v0.2.0: What's new (Kokoro Lite how-to, Lite vs Drama 3 table, fixes) near the top; Docker 0.2.0

Browse files

Lite installs for DGX Spark and Mac, Docker VOICE_ENGINE=lite / both, the Full/Lite toggle, trade-offs, the Kokoro Lite vs Drama 3 (4-bit) table and the fixes since v0.1.0. The DGX Spark Drama 3 build now has TensorFold 1.1.4's silence guard flags.

Files changed (1) hide show
  1. README.md +77 -6
README.md CHANGED
@@ -25,6 +25,76 @@ Fourteen named voices for [Fish Audio Drama 3](https://huggingface.co/fishaudio/
25
  audio/visual agent in [drowzeys/keys-ghost-machine-audio-visual-agent](https://github.com/drowzeys/keys-ghost-machine-audio-visual-agent).
26
  Vesper is Boo's default.
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  ## Requirements
29
 
30
  Drama 3 served by TensorFold with named voices (`--voices`): about 21 GB of weights (the
@@ -32,7 +102,8 @@ Drama 3 served by TensorFold with named voices (`--voices`): about 21 GB of weig
32
  silicon (macOS 26, Metal) or about 21 GB on an NVIDIA DGX Spark (CUDA 13). The full Boo stack needs about 79 GB on a Mac
33
  (96 GB minimum, 128 GB or more recommended) or about 61 GB on a DGX Spark; see the GitHub README. Software: TensorFold
34
  1.1.4 (the prebuilt builds in the GitHub release add NVFP4 pruned Drama 3, the voice-prefix cache and Cosmos3-Edge; the
35
- DGX Spark's Drama 3 runs on plotarmordev's NVFP4 fork, because stock 1.1.4 refuses the pruned checkpoint).
 
36
 
37
  **Full or Lite.** Boo's optional lite voice, [Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) (hexgrad,
38
  Apache-2.0), replaces Drama 3; everything else is the same.
@@ -72,8 +143,8 @@ curl -fsSL https://raw.githubusercontent.com/drowzeys/keys-ghost-machine-audio-v
72
  curl -fsSL https://raw.githubusercontent.com/drowzeys/keys-ghost-machine-audio-visual-agent/main/install.sh | bash -s -- --voice lite
73
  ```
74
 
75
- Docker on a DGX Spark: `-e VOICE_ENGINE=lite` and no Drama 3 mount, with an image built from the current repository (the
76
- published 0.1.0 image has the full voice only). `--voice both` installs both with a Full/Lite switch in the page; `kgm
77
  voice full|lite|both` switches later. Settings, the Docker alternative and uninstalling are in the
78
  [One-shot install](https://github.com/drowzeys/keys-ghost-machine-audio-visual-agent#one-shot-install) section of the
79
  GitHub README.
@@ -124,7 +195,7 @@ Boo's optional lite voice runs [Kokoro-82M](https://huggingface.co/hexgrad/Kokor
124
 
125
  | | DGX Spark, lite | DGX Spark, full | Mac, lite | Mac, full |
126
  |---|---|---|---|---|
127
- | Voice-to-voice, median | **0.33 s** | 0.55–0.77 s | 0.56–0.64 s | 0.47–0.60 s |
128
  | Voice engine memory in use | **β‰ˆ 3.5 GB** | β‰ˆ 42 GB | **β‰ˆ 0.7 GB** | β‰ˆ 10 GB |
129
  | Whole stack in use | **β‰ˆ 62 GB** | β‰ˆ 101 GB | **β‰ˆ 55 GB** | β‰ˆ 64 GB |
130
 
@@ -162,8 +233,8 @@ curl -s http://127.0.0.1:8098/v1/audio/speech -H 'Content-Type: application/json
162
  ```
163
 
164
  Drama 3 sometimes goes quiet after the first sentence of a long line (about 1 in 5 paragraphs, the same input every
165
- time; [TensorFold#1275](https://github.com/ashhart/TensorFold/issues/1275)). On TensorFold 1.1.4 add its silence guard to
166
- `serve`: `--silence-floor-dbfs=-30 --silence-seconds=4 --silence-mid-s=2 --silence-mid-min-voiced-s=1
167
  --silence-redraws=3 --silence-redraw-budget-s=90`. Whole replies are redrawn; a stream ends at the silence instead, so
168
  a streaming client should ask again for the unspoken text, as Boo does.
169
 
 
25
  audio/visual agent in [drowzeys/keys-ghost-machine-audio-visual-agent](https://github.com/drowzeys/keys-ghost-machine-audio-visual-agent).
26
  Vesper is Boo's default.
27
 
28
+ ## What's new in v0.2.0
29
+
30
+ **Kokoro Lite, a second voice for smaller machines.** [Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M)
31
+ (hexgrad, Apache-2.0) can now speak for Boo instead of Drama 3, or beside it with a switch in the page. It is for
32
+ memory-constrained hardware: a DGX Spark that shares its memory with other work, or a Mac at the low end of the
33
+ [requirements](#requirements). Everything else (Bolt, Cosmos3-Edge, Parakeet, Eyes of Kai, Hermes) stays the same.
34
+
35
+ - **Install Lite, DGX Spark** (about 48 GB free memory):
36
+ `curl -fsSL https://raw.githubusercontent.com/drowzeys/keys-ghost-machine-audio-visual-agent/main/install.sh | bash -s -- --voice lite`
37
+ - **Install Lite, Mac** (Apple silicon, macOS 26+; 96 GB comfortable, 64 GB tight): the same command,
38
+ `curl -fsSL https://raw.githubusercontent.com/drowzeys/keys-ghost-machine-audio-visual-agent/main/install.sh | bash -s -- --voice lite`
39
+ - **Docker, Lite** (DGX Spark, no Drama 3 mount needed):
40
+ ```sh
41
+ docker run --gpus all --rm -p 8095:8095 -e VOICE_ENGINE=lite -e KAI=1 \
42
+ -v ~/keys-ghost-machine/models/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-24GB:/models/bolt \
43
+ -v ~/keys-ghost-machine/models/cosmos3-tf:/models/cosmos3 -v ~/models/hf-cache:/models/hf-cache \
44
+ ghcr.io/drowzeys/keys-ghost-machine-audio-visual-agent:0.2.0
45
+ ```
46
+ - **Both, with a Full/Lite toggle:** install with `--voice both` (or `-e VOICE_ENGINE=both` in Docker, with the
47
+ Drama 3 mount) and the page shows a **Full / Lite** switch per conversation; the voice list follows the engine.
48
+ On an existing install, `kgm voice full|lite|both` switches. Pick a Kokoro voice in the page's Voice list
49
+ (`bf_emma` by default, `af_heart` is Kokoro's best rated) or set `KOKORO_VOICE=af_heart` in Docker.
50
+ - **Trade-off:** on a DGX Spark Lite answers in about 0.33–0.40 s voice to voice (Full 0.55–0.77 s) and uses about
51
+ 40 GB less memory. On a Mac it is about as fast as Full and saves about 9 GB. Lite speaks English only in Boo and
52
+ has no voice cloning, emotion control or the 14 Drama 3 voices.
53
+
54
+ **Kokoro Lite vs Drama 3 (4-bit)**
55
+
56
+ | | Kokoro Lite | Drama 3 4-bit (NVFP4) |
57
+ |---|---|---|
58
+ | Model | 82M parameters, ~330 MB | Billions of parameters, 4-bit NVFP4 |
59
+ | Voice-engine memory: DGX Spark | ~3.5 GB | ~42 GB |
60
+ | Voice-engine memory: Mac | ~0.8 GB | ~10 GB |
61
+ | Voice starts: Spark | 33–40 ms | 112–121 ms |
62
+ | Voice starts: Mac | 51–54 ms | ~60 ms |
63
+ | Voice to voice: Spark | 0.33–0.40 s | 0.55–0.77 s |
64
+ | Voice to voice: Mac | 0.49–0.64 s | 0.43–0.61 s |
65
+ | Naturalness (UTMOS) | 4.35 (bf_emma) – 4.52 (af_heart) | 4.53 (Vesper) |
66
+ | Voices | 54 built in | 14 custom, incl. Vesper |
67
+ | Voice cloning | No | Yes |
68
+ | Emotion/style control | No | Yes |
69
+ | Long-line stalls | None | Occasional; fixed by the silence guard + resume in v0.2.0 |
70
+ | Streaming | Whole sentence (<0.13 s) | Streams within a sentence |
71
+ | Languages | EN, ES, FR, IT, PT, HI, JA, ZH | Wider, incl. German |
72
+ | Licence | Apache-2.0 | Fish Audio Community License (hosted commercial use needs a Fish licence) |
73
+
74
+ Spark: Lite is twice as fast and frees ~40 GB. Mac: same speed, so run `both` and keep Vesper with a Lite toggle.
75
+ Choose Drama for a signature voice, cloning, emotion or German; choose Kokoro for small or shared hardware, an Apache
76
+ licence or the lowest delay.
77
+
78
+ **Fixes**
79
+
80
+ - **Drama 3 long-line stalls:** a long reply that went quiet after its first sentence (on about 1 in 5 paragraph-length
81
+ lines) is now caught. The DGX Spark's Drama 3 build gains TensorFold 1.1.4's silence guard (new in the v0.2.0
82
+ Linux archive and the Docker image), the Mac build already had it, and Boo itself drops a stalled take's quiet tail
83
+ and asks for the unspoken rest.
84
+ - **Never deaf after a fast short reply:** a quick reply such as "I'm on it." could leave Boo marked as still
85
+ speaking, and the session stopped listening. Fixed (64 of 64 turns heard in testing).
86
+ - **Drama 3 "speech output capacity is full" (503):** the keep-warm loop no longer outlives its page or a stopped
87
+ microphone (it stops on disconnect, after 2 s without audio and after 60 s), warms with one "Mm." at a time and never
88
+ while anything is being said; a refused line is asked again for up to `retry_s` (6 s) instead of being lost; a
89
+ stopped turn frees its speech slot at once.
90
+ - **Bolt repetition loops:** a reply that starts repeating a sentence it already said ends there, unsaid.
91
+ - **Interrupted replies** stopped before their first word no longer leave "(interrupted)" in the history for the
92
+ brain to copy.
93
+ - The reference Mac now runs `voice_engine: both`, with the Full/Lite toggle tested live.
94
+
95
+ Builds: [v0.2.0 release](https://github.com/drowzeys/keys-ghost-machine-audio-visual-agent/releases/tag/v0.2.0) Β·
96
+ `docker pull ghcr.io/drowzeys/keys-ghost-machine-audio-visual-agent:0.2.0`
97
+
98
  ## Requirements
99
 
100
  Drama 3 served by TensorFold with named voices (`--voices`): about 21 GB of weights (the
 
102
  silicon (macOS 26, Metal) or about 21 GB on an NVIDIA DGX Spark (CUDA 13). The full Boo stack needs about 79 GB on a Mac
103
  (96 GB minimum, 128 GB or more recommended) or about 61 GB on a DGX Spark; see the GitHub README. Software: TensorFold
104
  1.1.4 (the prebuilt builds in the GitHub release add NVFP4 pruned Drama 3, the voice-prefix cache and Cosmos3-Edge; the
105
+ DGX Spark's Drama 3 runs on plotarmordev's NVFP4 fork, because stock 1.1.4 refuses the pruned checkpoint; since v0.2.0
106
+ it also has 1.1.4's silence guard flags).
107
 
108
  **Full or Lite.** Boo's optional lite voice, [Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) (hexgrad,
109
  Apache-2.0), replaces Drama 3; everything else is the same.
 
143
  curl -fsSL https://raw.githubusercontent.com/drowzeys/keys-ghost-machine-audio-visual-agent/main/install.sh | bash -s -- --voice lite
144
  ```
145
 
146
+ Docker on a DGX Spark: `-e VOICE_ENGINE=lite` and no Drama 3 mount, with
147
+ `ghcr.io/drowzeys/keys-ghost-machine-audio-visual-agent:0.2.0` (or `both` for the Full/Lite switch). `--voice both` installs both with a Full/Lite switch in the page; `kgm
148
  voice full|lite|both` switches later. Settings, the Docker alternative and uninstalling are in the
149
  [One-shot install](https://github.com/drowzeys/keys-ghost-machine-audio-visual-agent#one-shot-install) section of the
150
  GitHub README.
 
195
 
196
  | | DGX Spark, lite | DGX Spark, full | Mac, lite | Mac, full |
197
  |---|---|---|---|---|
198
+ | Voice-to-voice, median | **0.33–0.40 s** | 0.55–0.77 s | 0.49–0.64 s | 0.47–0.60 s |
199
  | Voice engine memory in use | **β‰ˆ 3.5 GB** | β‰ˆ 42 GB | **β‰ˆ 0.7 GB** | β‰ˆ 10 GB |
200
  | Whole stack in use | **β‰ˆ 62 GB** | β‰ˆ 101 GB | **β‰ˆ 55 GB** | β‰ˆ 64 GB |
201
 
 
233
  ```
234
 
235
  Drama 3 sometimes goes quiet after the first sentence of a long line (about 1 in 5 paragraphs, the same input every
236
+ time; [TensorFold#1275](https://github.com/ashhart/TensorFold/issues/1275)). On TensorFold 1.1.4 (and the v0.2.0 DGX
237
+ Spark build) add its silence guard to `serve`: `--silence-floor-dbfs=-30 --silence-seconds=4 --silence-mid-s=2 --silence-mid-min-voiced-s=1
238
  --silence-redraws=3 --silence-redraw-budget-s=90`. Whole replies are redrawn; a stream ends at the silence instead, so
239
  a streaming client should ask again for the unspoken text, as Boo does.
240