Reliability release for the gloss-to-English stage, plus an install that
actually works on current Python.
Gloss to English
The primary provider was unreachable on many machines. In groq mode the
converter built the Groq client the moment it was constructed and raised
ImportError if that SDK was missing. Cerebras is the primary and speaks plain
HTTP, so a machine without the fallback's SDK could not use the primary at
all, even with a valid CEREBRAS_API_KEY. Groq is now built on demand.
Construction fails only when no provider at all is usable, and the error names
both routes.
Rate limiting is now handled properly. Cerebras allows 5 requests per
minute on this tier, and live captions produce sentences far faster than that,
so 429s are routine rather than exceptional. Each one previously cost 700-870ms
before the fallback was even tried. A 429 now starts a cooldown, taken from the
server's retry-after where given, and Cerebras is skipped until it clears.
Measured over a twelve-sentence burst: the throttled sentences went from
800-900ms each to 106-131ms.
Unrecognised glosses are no longer invented. ME WANT ZZZQQQ used to come
back as "I want to sleep." An unfamiliar sign became a confident wrong word,
which for a translation tool is worse than an obvious gap. It now returns
"I want ZZZQQQ.", and fingerspelled names are unaffected: ME NAME SARAH
still gives "My name is Sarah."
convert() also records last_unknown_glosses, the glosses with no sign clip,
so an interface can show which words were fingerspelled. It is reported only,
never used to filter what reaches the model, because that list records which
signs have a video clip rather than which glosses are valid: WHAT, WHERE,
PLEASE, DOCTOR and YESTERDAY are all absent from it.
When both providers are unavailable, the drop to rule-based output now says
so, instead of surfacing an unhelpful AttributeError and quietly returning a
much plainer sentence.
Install
pip install -r requirements.txt failed outright on any current Python. The
pinned TTS package is unmaintained and its last release caps out below Python
3.12, so pip reported No matching distribution found for TTS, which failed the
whole file. Replaced with the maintained coqui-tts fork, which keeps the same
import path, so from TTS.api import TTS is unchanged.
requests and groq were both used but never declared. A checkout that
installed only what was listed silently lost the Groq fallback, so any Cerebras
hiccup dropped straight to rule-based output.
Configuration
The README documented only GROQ_API_KEY, so anyone following it configured
the fallback and never the primary. It now documents CEREBRAS_API_KEY as well
and explains what each key alone gives you. The pipeline diagram and component
table, which still credited Groq for gloss-to-English, have been corrected.
Repository
The Mixamo avatar rigs are no longer tracked. They are licensed for use in this
project but not for redistribution, and both the apps and the website load the
model at runtime instead. Both repositories now carry the MIT licence with the
attribution terms that go with it.
Desktop and extension
Those ship separately from
https://github.com/Iyanuoluwa007/Signlytic-Overlay/releases, currently desktop
v0.3.6 and extension v0.3.7. This release does not change how you install them.
Attribution
Signlytic AI, by Oke Iyanuoluwa Enoch. If you use, fork or build on this work,
please keep the copyright notice and credit the project.