@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 ADDED
@@ -0,0 +1,171 @@
1
+ # Assistant voice with Sherpa
2
+
3
+ Optional local recognition and synthesis for `@jskit-ai/assistant-voice`.
4
+ The native npm dependency is `sherpa-onnx-node`; models are prepared explicitly.
5
+ No native dependency or model download is added to applications that only install
6
+ the browser/proxy package.
7
+
8
+ ## Prepare and serve
9
+
10
+ Install `@jskit-ai/assistant-voice-sherpa`. Preparation requires Bash, tar with
11
+ bzip2, sha256sum, Node and curl (unless all pinned archives are already cached).
12
+ This extraction has been exercised on Linux x64 with Node 26. See the native
13
+ package's supported platforms before choosing another deployment target.
14
+
15
+ ```sh
16
+ npx jskit-assistant-voice prepare --models-root /srv/speech/models --pack cori
17
+ npx jskit-assistant-voice verify --models-root /srv/speech/models
18
+ npx jskit-assistant-voice serve --models-root /srv/speech/models --key-file /run/secrets/speech-key
19
+ ```
20
+
21
+ The key is a server-only random secret, at least 32 bytes. Create it once, with
22
+ restrictive permissions. Issue a separate tenant token for the application's
23
+ server and redirect it into its own protected file:
24
+
25
+ ```sh
26
+ npx jskit-assistant-voice token --key-file /run/secrets/speech-key --tenant my-app > /run/secrets/my-app-speech-token
27
+ ```
28
+
29
+ The service defaults to `127.0.0.1:3092`, with its WebSocket at `/v1/voice` and
30
+ readiness at `/health`. An application's authenticated server proxy consumes the
31
+ token file; neither the token nor signing key belongs in browser configuration.
32
+ The standalone token command does not implement per-application revocation.
33
+ Hosts needing grant rotation/revocation supply their existing grant policy through
34
+ `runVoiceCli(argv, { createDaemon, recognitionVocabulary })` and the generic daemon's authorization seam.
35
+
36
+ Preparation verifies archive hashes, stages exact model files/configuration,
37
+ records file hashes and atomically replaces the model directory. Repeating the
38
+ same preparation reuses a verified pack. Stop the service before replacing its
39
+ pack, verify, then restart. Normal serving loads models without rehashing them on
40
+ every restart. `--download-cache PATH` and `--retain-downloads 1` permit offline
41
+ reuse. `--hotwords-file FILE` replaces the prepared recognizer hotwords file.
42
+
43
+ ## Models and voices
44
+
45
+ `--pack cori` (the default) uses the existing single Cori voice and English
46
+ streaming Zipformer recognizer. `--pack piper` keeps that recognizer and offers
47
+ five Piper medium voices at 22,050 Hz:
48
+
49
+ | Voice | Sound |
50
+ | --- | --- |
51
+ | Cori (default) | Female, British English |
52
+ | Alba | Female, Scottish English |
53
+ | Joe | Male, American English |
54
+ | Bryce | Male, American English |
55
+ | Northern English | Male, British English |
56
+
57
+ Each Piper voice has a separate model. The service checks their metadata one at
58
+ a time, then keeps only the default model loaded. Its existing queue synthesizes
59
+ one phrase at a time in one child process. When a request selects a different
60
+ model, that process exits before its replacement loads; this releases the old
61
+ model and native inference caches. The recognition process and audio connection
62
+ stay running. The first reply after a change includes model-loading time;
63
+ subsequent replies reuse it. More choices add disk space without keeping every
64
+ model in RAM. Measure the whole application's memory budget before installation.
65
+ The worker serves the shared queue, so requests from different conversations can
66
+ also require a model change.
67
+
68
+ For embedded use, `await createSherpaSpeechEngine(options)` validates the models
69
+ and returns the engine. Call `await engine.close()` when its owner shuts down.
70
+ The supplied CLI handles both startup failure and shutdown. Cancellation kills
71
+ unfinished native synthesis; the next request recreates that worker if needed.
72
+
73
+ `--pack kokoro` uses Kokoro 1.0 with named female
74
+ Heart, Bella and Emma voices, and male Michael, Adam, George and Daniel voices.
75
+ The service advertises these IDs/labels; the browser selects a speaker per reply.
76
+ Model weights are not included in the npm artifact.
77
+
78
+ `--pack kitten` offers **Bella, Luna, Rosie and Kiki** (female) and
79
+ **Jasper, Bruno, Hugo and Leo** (male) from Kitten TTS Micro 0.8. All eight share
80
+ one model and retain its native 24,000 Hz output. Bella uses a 1.15× speech speed;
81
+ the other voices use normal speed. Kitten does not identify British or Australian
82
+ accents in its voice catalogue.
83
+ `--pack piper-kitten` combines the five Piper choices with those eight Kitten voices,
84
+ listing Kitten first and keeping Cori as the default. It uses Sherpa's resampler inside the synthesis worker
85
+ to deliver every voice at 22,050 Hz. Selecting another engine does not replace the
86
+ audio connection. Only one synthesis model is resident, including when switching
87
+ between Piper and Kitten. Measure Kitten's latency on the target CPU before
88
+ choosing it as a default.
89
+
90
+ Operators may edit a separate speech configuration JSON and pass `serve --config
91
+ FILE` (or `JSKIT_VOICE_CONFIG`). Without an override, serving reads the prepared
92
+ pack's `speech.json`. Native `recognizer` and `synthesizer` configuration objects
93
+ are forwarded to Sherpa after replacing `${MODELS_ROOT}` in paths. Other fields:
94
+
95
+ ```json
96
+ {
97
+ "voices": [
98
+ { "id": "am_michael", "label": "Michael · male · American English", "language": "en-US", "speakerId": 16 },
99
+ { "id": "bf_emma", "label": "Emma · female · British English", "language": "en-GB", "speakerId": 21 }
100
+ ],
101
+ "defaultVoice": "am_michael",
102
+ "recognizerTailPaddingSeconds": 1,
103
+ "recognizerMinimumRms": 0.001,
104
+ "recognitionVocabulary": { "acme labs": "Acme Labs" }
105
+ }
106
+ ```
107
+
108
+ `recognitionVocabulary` maps literal recognized phrases to application spellings.
109
+ It applies only when making all-uppercase recognition readable; mixed-case text
110
+ is left intact. The CLI host may supply default vocabulary through its options;
111
+ an explicit speech configuration vocabulary replaces those defaults. This does
112
+ not change the recognizer's hotwords or load another model.
113
+
114
+ Each voice may set `speed` between `0.5` and `2` (default `1`). For example,
115
+ `"speed": 1.15` increases its synthesis pace by about 15% without changing the
116
+ playback sample rate. The setting belongs to that voice; it does not carry over
117
+ when another voice is selected.
118
+
119
+ Merge this example into the Kokoro pack's configuration, retaining its synthesizer
120
+ model paths. Speaker IDs are specific to the selected model. Unknown IDs and
121
+ invalid/duplicate catalogue entries fail explicitly. Voices do not change a
122
+ conversation's reasoning model. Tail padding supplies recognizer lookahead when a
123
+ recording ends immediately after a word; it does not wait for wall-clock silence.
124
+ The RMS floor prevents silent input from starting a recognition utterance. After
125
+ an audible onset, all frames reach the recognizer until the utterance ends. Its
126
+ default is 0.001 (−60 dBFS); configure a positive value up to 0.1 for the input
127
+ device. This is an input-level check, not a classifier for speech versus noise.
128
+
129
+ For separate models, use `synthesizers: { modelId: nativeConfiguration }` instead
130
+ of `synthesizer`, and give each voice a matching `modelId`. Speaker IDs are checked
131
+ against that voice's model. Set `outputSampleRate` (8,000–48,000 Hz) to normalize
132
+ different native rates inside the worker. Without it, all models must use the same
133
+ output sample rate for the shared audio connection. `models/voice-models-piper.json` contains the complete
134
+ five-voice example. The service selects a model per synthesis request; changing a
135
+ voice does not redirect an in-flight reply or another conversation.
136
+
137
+ For other models, `prepare --sources-file FILE` accepts the source manifest shape
138
+ shown in `models/voice-models-piper.json`: recognition and synthesis archives, pinned
139
+ SHA-256 values, explicit source/destination file mappings and native configuration.
140
+ Paths in mappings must stay inside their extracted/staged roots. Model compatibility
141
+ still needs native inference validation; a matching hash is only integrity proof.
142
+
143
+ Thread counts, recognition paths, connection and synthesis-queue limits are
144
+ explicit CLI/environment options (see the CLI). Configuration objects can also
145
+ set native thread counts. Benchmark both first audio latency and sustained audio
146
+ production on the deployment machine before selecting a pack. A higher quality
147
+ voice can consume more CPU and respond more slowly.
148
+
149
+ ## Upstream terms and evidence
150
+
151
+ Models and phonemizer data have their own terms, separate from this package:
152
+
153
+ - [Zipformer English model](https://huggingface.co/csukuangfj/sherpa-onnx-streaming-zipformer-en-2023-06-26) declares Apache-2.0.
154
+ - [Cori model card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_GB/cori/medium/MODEL_CARD) describes the LibriVox public-domain dataset; the Piper repository declares MIT.
155
+ - [Alba speech corpus](https://doi.org/10.7488/ds/2506): Valentini-Botinhao, Cassia; Yamagishi, Junichi (2019), University of Edinburgh, CC BY 4.0. The Piper model was trained from this corpus; preparation preserves its source notice.
156
+ - [Joe model card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/joe/medium/MODEL_CARD) declares CC0 source recordings. [Bryce's model card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/bryce/medium/MODEL_CARD) declares public-domain recordings supplied by the speaker.
157
+ - [Northern English Male model card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_GB/northern_english_male/medium/MODEL_CARD) identifies OpenSLR 83 regional UK recordings under CC BY-SA 4.0. Preparation retains the model card.
158
+ - [Kokoro model](https://huggingface.co/hexgrad/Kokoro-82M) declares Apache-2.0. Preparation retains the downloaded model's LICENSE.
159
+ - [Kitten TTS Micro 0.8](https://huggingface.co/KittenML/kitten-tts-micro-0.8) declares Apache-2.0. Preparation retains its LICENSE and Sherpa conversion notes. Bella is speaker 1 and Jasper is speaker 0 in Sherpa's prepared voice table.
160
+ - The archives also contain [eSpeak NG data](https://github.com/espeak-ng/espeak-ng/blob/master/COPYING), with GPL terms. Preserve applicable upstream notices when distributing a prepared pack.
161
+
162
+ `models/` records pinned source archives; `sources.json` and `voice-models.json`
163
+ record what was installed. The optional native test synthesizes and recognizes
164
+ real audio, including male/female cases and cancellation:
165
+
166
+ ```sh
167
+ JSKIT_VOICE_TEST_MODELS=/srv/speech/models npm test --workspace packages/assistant-voice-sherpa -- test/nativeSpeech.test.js
168
+ ```
169
+
170
+ Physical microphone, speaker, echo and interruption acceptance is still required
171
+ for a full duplex application. Generated-audio round trips cannot establish it.
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import { runVoiceCli } from "../src/cli.js";
3
+
4
+ runVoiceCli().catch((error) => {
5
+ process.stderr.write(`[assistant-voice] ${String(error?.message || error)}\n`);
6
+ process.exitCode = 1;
7
+ });
@@ -0,0 +1,500 @@
1
+ <blk> 0.0
2
+ <sos/eos> 0.0
3
+ <unk> 0.0
4
+ S -3.237640857696533
5
+ ▁THE -3.3911421298980713
6
+ ▁A -3.912346839904785
7
+ T -3.9788036346435547
8
+ ▁AND -4.041482925415039
9
+ ED -4.068052768707275
10
+ ▁OF -4.111221790313721
11
+ ▁TO -4.148194789886475
12
+ E -4.159254550933838
13
+ D -4.198842525482178
14
+ N -4.289172649383545
15
+ ING -4.401233673095703
16
+ ▁IN -4.452512264251709
17
+ Y -4.527078151702881
18
+ M -4.579193592071533
19
+ C -4.626455307006836
20
+ ▁I -4.682346820831299
21
+ A -4.6846842765808105
22
+ P -4.696129322052002
23
+ ▁HE -4.7119832038879395
24
+ R -4.821435451507568
25
+ O -4.838934898376465
26
+ L -4.880065441131592
27
+ RE -4.8860273361206055
28
+ I -4.903520107269287
29
+ U -4.911571025848389
30
+ ER -4.954335689544678
31
+ ▁IT -4.997008323669434
32
+ LY -5.001551628112793
33
+ ▁THAT -5.0079545974731445
34
+ ▁WAS -5.046072006225586
35
+ ▁ -5.05485725402832
36
+ ▁S -5.0588836669921875
37
+ AR -5.101287841796875
38
+ ▁BE -5.145685195922852
39
+ F -5.181809425354004
40
+ ▁C -5.188362121582031
41
+ IN -5.200289249420166
42
+ B -5.208587646484375
43
+ ▁FOR -5.234852313995361
44
+ OR -5.269742488861084
45
+ LE -5.270202159881592
46
+ ' -5.270315170288086
47
+ ▁HIS -5.28671932220459
48
+ ▁YOU -5.34528923034668
49
+ AL -5.353833198547363
50
+ ▁RE -5.358627796173096
51
+ V -5.368106365203857
52
+ ▁B -5.369124412536621
53
+ G -5.393369674682617
54
+ RI -5.41680908203125
55
+ ▁E -5.418990135192871
56
+ ▁WITH -5.42680025100708
57
+ ▁T -5.491506576538086
58
+ ▁AS -5.501863956451416
59
+ LL -5.506050109863281
60
+ ▁P -5.5140910148620605
61
+ ▁HER -5.523913860321045
62
+ ST -5.528979778289795
63
+ ▁HAD -5.5388503074646
64
+ ▁SO -5.563423156738281
65
+ ▁F -5.564723968505859
66
+ W -5.571264266967773
67
+ CE -5.612353324890137
68
+ ▁IS -5.6334099769592285
69
+ ND -5.636771202087402
70
+ ▁NOT -5.646847248077393
71
+ TH -5.6582183837890625
72
+ ▁BUT -5.658850193023682
73
+ EN -5.671176433563232
74
+ ▁SHE -5.674525737762451
75
+ ▁ON -5.675063610076904
76
+ VE -5.678800582885742
77
+ ON -5.681077480316162
78
+ SE -5.681278228759766
79
+ ▁DE -5.684993743896484
80
+ UR -5.702572345733643
81
+ ▁G -5.707157611846924
82
+ CH -5.715974807739258
83
+ K -5.731172561645508
84
+ TER -5.7358808517456055
85
+ ▁AT -5.74332857131958
86
+ IT -5.752814769744873
87
+ ▁ME -5.759988784790039
88
+ RO -5.787921905517578
89
+ NE -5.812368392944336
90
+ RA -5.847346305847168
91
+ ES -5.869145393371582
92
+ IL -5.916404724121094
93
+ NG -5.955217361450195
94
+ IC -5.956216335296631
95
+ ▁NO -5.958745002746582
96
+ ▁HIM -5.96319580078125
97
+ ENT -5.965415954589844
98
+ IR -5.9872660636901855
99
+ ▁WE -6.002829074859619
100
+ H -6.005046367645264
101
+ ▁DO -6.016775131225586
102
+ ▁ALL -6.021503925323486
103
+ ▁HAVE -6.041546821594238
104
+ LO -6.041745662689209
105
+ ▁BY -6.075400352478027
106
+ ▁MY -6.076292991638184
107
+ ▁MO -6.076861381530762
108
+ ▁THIS -6.077490329742432
109
+ LA -6.079364776611328
110
+ ▁ST -6.100840091705322
111
+ ▁WHICH -6.1011643409729
112
+ ▁CON -6.115716934204102
113
+ ▁THEY -6.133782863616943
114
+ CK -6.134190559387207
115
+ TE -6.148074626922607
116
+ ▁SAID -6.1597394943237305
117
+ ▁FROM -6.16114616394043
118
+ ▁GO -6.164953708648682
119
+ ▁WHO -6.172391414642334
120
+ ▁TH -6.1845221519470215
121
+ ▁OR -6.188831329345703
122
+ ▁D -6.1897478103637695
123
+ ▁W -6.1943888664245605
124
+ VER -6.204941272735596
125
+ LI -6.220948219299316
126
+ ▁SE -6.229703426361084
127
+ ▁ONE -6.230255126953125
128
+ ▁CA -6.233973979949951
129
+ ▁AN -6.242618560791016
130
+ ▁LA -6.247861385345459
131
+ ▁WERE -6.248575687408447
132
+ EL -6.27099609375
133
+ ▁HA -6.283683776855469
134
+ ▁MAN -6.2989583015441895
135
+ ▁FA -6.311679363250732
136
+ ▁EX -6.313636302947998
137
+ AD -6.315258979797363
138
+ ▁SU -6.340909957885742
139
+ RY -6.354572296142578
140
+ ▁MI -6.370210647583008
141
+ AT -6.391071796417236
142
+ ▁BO -6.3981523513793945
143
+ ▁WHEN -6.406372547149658
144
+ AN -6.418525695800781
145
+ THER -6.4211506843566895
146
+ PP -6.437921524047852
147
+ ATION -6.441051006317139
148
+ ▁FI -6.457613945007324
149
+ ▁WOULD -6.472571849822998
150
+ ▁PRO -6.472743511199951
151
+ OW -6.480467319488525
152
+ ET -6.48289155960083
153
+ ▁O -6.487629413604736
154
+ ▁THERE -6.488083839416504
155
+ ▁HO -6.488405704498291
156
+ ION -6.488462448120117
157
+ ▁WHAT -6.491586685180664
158
+ ▁FE -6.4979729652404785
159
+ ▁PA -6.500291347503662
160
+ US -6.500805854797363
161
+ MENT -6.503949165344238
162
+ ▁MA -6.505156993865967
163
+ UT -6.538065433502197
164
+ ▁OUT -6.54595947265625
165
+ ▁THEIR -6.548971652984619
166
+ ▁IF -6.550684452056885
167
+ ▁LI -6.554531574249268
168
+ ▁K -6.563741207122803
169
+ ▁WILL -6.566903591156006
170
+ ▁ARE -6.574769020080566
171
+ ID -6.575021266937256
172
+ ▁RO -6.575534820556641
173
+ DE -6.581881999969482
174
+ TION -6.595175743103027
175
+ ▁WA -6.5956645011901855
176
+ PE -6.601837635040283
177
+ ▁UP -6.603113174438477
178
+ ▁SP -6.611117362976074
179
+ ▁PO -6.614088535308838
180
+ IGHT -6.637707710266113
181
+ ▁UN -6.641831398010254
182
+ RU -6.642515182495117
183
+ ▁LO -6.646393775939941
184
+ AS -6.648888111114502
185
+ OL -6.654422283172607
186
+ ▁LE -6.663815975189209
187
+ ▁BEEN -6.678056716918945
188
+ ▁SH -6.678354263305664
189
+ ▁RA -6.680027961730957
190
+ ▁SEE -6.69546365737915
191
+ KE -6.708260536193848
192
+ UL -6.716123580932617
193
+ TED -6.716958522796631
194
+ ▁SA -6.729671955108643
195
+ UN -6.731771945953369
196
+ UND -6.733950614929199
197
+ ANT -6.734233379364014
198
+ ▁NE -6.7430009841918945
199
+ IS -6.754036903381348
200
+ ▁THEM -6.757429599761963
201
+ CI -6.769925594329834
202
+ GE -6.770693778991699
203
+ ▁COULD -6.775028228759766
204
+ ▁DIS -6.7813544273376465
205
+ OM -6.793661117553711
206
+ ISH -6.803374290466309
207
+ HE -6.807046413421631
208
+ EST -6.810579299926758
209
+ ▁SOME -6.817039966583252
210
+ ENCE -6.822673320770264
211
+ ITY -6.835846424102783
212
+ IVE -6.840222358703613
213
+ ▁US -6.840911865234375
214
+ ▁MORE -6.844557285308838
215
+ ▁EN -6.849472522735596
216
+ ARD -6.851588249206543
217
+ ATE -6.8606672286987305
218
+ ▁YOUR -6.861882209777832
219
+ ▁INTO -6.862520694732666
220
+ ▁KNOW -6.867526531219482
221
+ ▁CO -6.86960506439209
222
+ ANCE -6.872697830200195
223
+ ▁TIME -6.875100612640381
224
+ ▁WI -6.883917331695557
225
+ ▁YE -6.887696743011475
226
+ AGE -6.895497798919678
227
+ ▁NOW -6.903868198394775
228
+ TI -6.904016017913818
229
+ FF -6.906183242797852
230
+ ABLE -6.909174919128418
231
+ ▁VERY -6.922069072723389
232
+ ▁LIKE -6.928692817687988
233
+ AM -6.946870803833008
234
+ HI -6.949864864349365
235
+ Z -6.951096534729004
236
+ ▁OTHER -6.964641094207764
237
+ ▁THAN -6.97308349609375
238
+ ▁LITTLE -6.976223468780518
239
+ ▁DID -6.981521129608154
240
+ ▁LOOK -6.9846696853637695
241
+ TY -6.9947428703308105
242
+ ERS -6.999180793762207
243
+ ▁CAN -7.009943962097168
244
+ ▁CHA -7.01063346862793
245
+ ▁AR -7.025554656982422
246
+ X -7.026675701141357
247
+ FUL -7.034653186798096
248
+ UGH -7.046075344085693
249
+ ▁BA -7.0493693351745605
250
+ ▁DAY -7.054299831390381
251
+ ▁ABOUT -7.0555419921875
252
+ TEN -7.055879592895508
253
+ IM -7.058297157287598
254
+ ▁ANY -7.058923721313477
255
+ ▁PRE -7.061312675476074
256
+ ▁OVER -7.064944744110107
257
+ IES -7.078317165374756
258
+ NESS -7.08111047744751
259
+ ME -7.0836920738220215
260
+ BLE -7.086453437805176
261
+ ▁M -7.090318202972412
262
+ ROW -7.09219217300415
263
+ ▁HAS -7.097603797912598
264
+ ▁GREAT -7.10443639755249
265
+ ▁VI -7.105268955230713
266
+ TA -7.107810020446777
267
+ ▁AFTER -7.109515190124512
268
+ PER -7.113203048706055
269
+ ▁AGAIN -7.114784240722656
270
+ HO -7.115448474884033
271
+ SH -7.115546226501465
272
+ ▁UPON -7.1267476081848145
273
+ ▁DI -7.130036354064941
274
+ ▁HAND -7.132112979888916
275
+ ▁COM -7.132730484008789
276
+ IST -7.134383201599121
277
+ TURE -7.137714385986328
278
+ ▁STA -7.146283149719238
279
+ ▁THEN -7.1577534675598145
280
+ ▁SHOULD -7.158360481262207
281
+ ▁GA -7.167736053466797
282
+ OUS -7.169438362121582
283
+ OUR -7.169652462005615
284
+ ▁WELL -7.171218395233154
285
+ ▁ONLY -7.176281452178955
286
+ MAN -7.178989410400391
287
+ ▁GOOD -7.184938430786133
288
+ ▁TWO -7.1874613761901855
289
+ ▁MAR -7.1875505447387695
290
+ ▁SAY -7.196364879608154
291
+ ▁HU -7.202139377593994
292
+ TING -7.208182334899902
293
+ ▁OUR -7.2181267738342285
294
+ RESS -7.222963333129883
295
+ ▁DOWN -7.223188400268555
296
+ IOUS -7.247483730316162
297
+ ▁BEFORE -7.248350620269775
298
+ ▁DA -7.250795364379883
299
+ ▁NA -7.258609294891357
300
+ QUI -7.263876438140869
301
+ ▁MADE -7.269183158874512
302
+ ▁EVERY -7.269209384918213
303
+ ▁OLD -7.277935981750488
304
+ ▁EVEN -7.280048370361328
305
+ IG -7.2808051109313965
306
+ ▁COME -7.281715393066406
307
+ ▁GRA -7.285216808319092
308
+ ▁RI -7.291446685791016
309
+ ▁LONG -7.293140411376953
310
+ OT -7.296908378601074
311
+ SIDE -7.300649166107178
312
+ WARD -7.311554431915283
313
+ ▁FO -7.31390905380249
314
+ ▁WHERE -7.314794540405273
315
+ MO -7.319922924041748
316
+ LESS -7.328833103179932
317
+ ▁SC -7.3289055824279785
318
+ ▁MUST -7.330503463745117
319
+ ▁NEVER -7.330777645111084
320
+ ▁HOW -7.343449592590332
321
+ ▁CAME -7.345986843109131
322
+ ▁SUCH -7.347212791442871
323
+ ▁RU -7.359615802764893
324
+ ▁TAKE -7.359617710113525
325
+ ▁WO -7.368528366088867
326
+ ▁CAR -7.379446029663086
327
+ UM -7.379636764526367
328
+ AK -7.392054557800293
329
+ ▁THINK -7.40938663482666
330
+ ▁MUCH -7.409630298614502
331
+ ▁MISTER -7.420104503631592
332
+ ▁MAY -7.43388557434082
333
+ ▁JO -7.443871021270752
334
+ ▁WAY -7.445600509643555
335
+ ▁COMP -7.455471515655518
336
+ ▁THOUGHT -7.456057548522949
337
+ ▁STO -7.462839603424072
338
+ ▁MEN -7.463774681091309
339
+ ▁BACK -7.465264797210693
340
+ ▁DON -7.465480327606201
341
+ J -7.466047286987305
342
+ ▁LET -7.483911514282227
343
+ ▁TRA -7.495802879333496
344
+ ▁FIRST -7.496084213256836
345
+ ▁JUST -7.497234344482422
346
+ ▁VA -7.499629497528076
347
+ ▁OWN -7.5111403465271
348
+ ▁PLA -7.516643047332764
349
+ ▁MAKE -7.521800994873047
350
+ ATED -7.529211521148682
351
+ ▁HIMSELF -7.533393383026123
352
+ ▁WENT -7.539999485015869
353
+ ▁PI -7.557174205780029
354
+ GG -7.559944152832031
355
+ RING -7.560603618621826
356
+ ▁DU -7.5634050369262695
357
+ ▁MIGHT -7.56861686706543
358
+ ▁PART -7.570089817047119
359
+ ▁GIVE -7.583937168121338
360
+ ▁IMP -7.588171005249023
361
+ ▁BU -7.591918468475342
362
+ ▁PER -7.595826148986816
363
+ ▁PLACE -7.605018138885498
364
+ ▁HOUSE -7.609342098236084
365
+ ▁THROUGH -7.625210285186768
366
+ IAN -7.628554821014404
367
+ ▁SW -7.637818336486816
368
+ ▁UNDER -7.643731117248535
369
+ QUE -7.644018173217773
370
+ ▁AWAY -7.645115375518799
371
+ ▁LOVE -7.6468071937561035
372
+ QUA -7.650307655334473
373
+ ▁LIFE -7.660292148590088
374
+ ▁GET -7.666475772857666
375
+ ▁WITHOUT -7.6741156578063965
376
+ ▁PASS -7.682002544403076
377
+ ▁TURN -7.692363262176514
378
+ IGN -7.6964945793151855
379
+ ▁HEAD -7.696974754333496
380
+ ▁MOST -7.705150604248047
381
+ ▁THOSE -7.7168049812316895
382
+ ▁SHALL -7.717948913574219
383
+ ▁EYES -7.718607425689697
384
+ ▁COL -7.741212844848633
385
+ ▁STILL -7.7420759201049805
386
+ ▁NIGHT -7.745421886444092
387
+ ▁NOTHING -7.768163681030273
388
+ ITION -7.768242835998535
389
+ HA -7.769926071166992
390
+ ▁TELL -7.769962787628174
391
+ ▁WORK -7.773743152618408
392
+ ▁LAST -7.775449752807617
393
+ ▁NEW -7.78277063369751
394
+ ▁FACE -7.78385591506958
395
+ ▁HI -7.791258811950684
396
+ ▁WORD -7.8012003898620605
397
+ ▁FOUND -7.80479097366333
398
+ ▁COUNT -7.8051581382751465
399
+ ▁OB -7.805266380310059
400
+ ▁WHILE -7.807648658752441
401
+ ▁SHA -7.817192077636719
402
+ ▁MEAN -7.83618688583374
403
+ ▁SAW -7.836764335632324
404
+ ▁PEOPLE -7.837661266326904
405
+ ▁FRIEND -7.85650110244751
406
+ ▁THREE -7.868136882781982
407
+ ▁ROOM -7.875853538513184
408
+ ▁SAME -7.887514114379883
409
+ ▁THOUGH -7.892477035522461
410
+ ▁RIGHT -7.896188259124756
411
+ ▁CHILD -7.897783279418945
412
+ ▁FATHER -7.903822898864746
413
+ ▁ANOTHER -7.905872821807861
414
+ ▁HEART -7.912759304046631
415
+ ▁WANT -7.922352313995361
416
+ ▁TOOK -7.94252872467041
417
+ OOK -7.9485063552856445
418
+ ▁LIGHT -7.961446285247803
419
+ ▁MISSUS -7.978604316711426
420
+ ▁OPEN -7.985271453857422
421
+ ▁JU -7.989404678344727
422
+ ▁ASKED -7.9909563064575195
423
+ PORT -8.001195907592773
424
+ ▁LEFT -8.001866340637207
425
+ ▁JA -8.029788970947266
426
+ ▁WORLD -8.0399169921875
427
+ ▁HOME -8.049389839172363
428
+ ▁WHY -8.061796188354492
429
+ ▁ALWAYS -8.065637588500977
430
+ ▁ANSWER -8.073901176452637
431
+ ▁SEEMED -8.087997436523438
432
+ ▁SOMETHING -8.089508056640625
433
+ ▁GIRL -8.09334945678711
434
+ ▁BECAUSE -8.106149673461914
435
+ ▁NAME -8.107681274414062
436
+ ▁TOLD -8.11745548248291
437
+ ▁NI -8.1217622756958
438
+ ▁HIGH -8.121779441833496
439
+ IZE -8.138053894042969
440
+ ▁WOMAN -8.145215034484863
441
+ ▁FOLLOW -8.151243209838867
442
+ ▁RETURN -8.171257019042969
443
+ ▁KNEW -8.175785064697266
444
+ ▁EACH -8.180315971374512
445
+ ▁KIND -8.187873840332031
446
+ ▁JE -8.19006633758545
447
+ ▁ACT -8.200040817260742
448
+ ▁LU -8.205354690551758
449
+ ▁CERTAIN -8.210489273071289
450
+ ▁YEARS -8.227497100830078
451
+ ▁QUITE -8.228480339050293
452
+ ▁APPEAR -8.234442710876465
453
+ ▁BETTER -8.248871803283691
454
+ ▁HALF -8.25101089477539
455
+ ▁PRESENT -8.251077651977539
456
+ ▁PRINCE -8.262996673583984
457
+ SHIP -8.266542434692383
458
+ ▁ALSO -8.270049095153809
459
+ ▁BEGAN -8.274964332580566
460
+ ▁HAVING -8.284735679626465
461
+ ▁ENOUGH -8.286083221435547
462
+ ▁PERSON -8.28836441040039
463
+ ▁LADY -8.294978141784668
464
+ ▁WHITE -8.311501502990723
465
+ ▁COURSE -8.316527366638184
466
+ ▁VOICE -8.319303512573242
467
+ ▁SPEAK -8.327986717224121
468
+ ▁POWER -8.352112770080566
469
+ ▁MORNING -8.355817794799805
470
+ ▁BETWEEN -8.356502532958984
471
+ ▁AMONG -8.359968185424805
472
+ ▁KEEP -8.362163543701172
473
+ ▁WALK -8.368597984313965
474
+ ▁MATTER -8.370609283447266
475
+ ▁TEA -8.378629684448242
476
+ ▁BELIEVE -8.37922477722168
477
+ ▁SMALL -8.381397247314453
478
+ ▁TALK -8.389386177062988
479
+ ▁FELT -8.394773483276367
480
+ ▁HORSE -8.39834213256836
481
+ ▁MYSELF -8.400507926940918
482
+ ▁SIX -8.400691032409668
483
+ ▁HOWEVER -8.403042793273926
484
+ ▁FULL -8.403987884521484
485
+ ▁HERSELF -8.407135009765625
486
+ ▁POINT -8.412476539611816
487
+ ▁STOOD -8.413363456726074
488
+ ▁HUNDRED -8.414043426513672
489
+ ▁ALMOST -8.42801570892334
490
+ ▁SINCE -8.436264991760254
491
+ ▁LARGE -8.44206714630127
492
+ ▁LEAVE -8.446986198425293
493
+ ▁PERHAPS -8.457595825195312
494
+ ▁DARK -8.468853950500488
495
+ ▁SUDDEN -8.469058990478516
496
+ ▁REPLIED -8.475360870361328
497
+ ▁ANYTHING -8.48241138458252
498
+ ▁WONDER -8.48791790008545
499
+ ▁UNTIL -8.489263534545898
500
+ Q -9.788320541381836