Skip to content

Releases: Iyanuoluwa007/Signlytic_AI

Signlytic AI v1.2.0 - Reliable gloss-to-English, and an install that works

Choose a tag to compare

@Iyanuoluwa007 Iyanuoluwa007 released this 13 Aug 10:14

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.

Signlytic AI v1.1.0 - Live recognition and sentence assembly

Choose a tag to compare

@Iyanuoluwa007 Iyanuoluwa007 released this 12 Aug 12:29

The Signlytic AI application: the local FastAPI dashboard that runs the full translation pipeline on your own GPU, with live BSL recognition, sentence assembly and speech output.

This is the release to track for the main app. Newer versions will follow here.

Running it

conda activate BSL
cd <repo>
python app_server.py

Then open http://localhost:8000

app.py is the combined Gradio application; app_server.py is the FastAPI
dashboard that serves the live view and the API.

New in v1.1.0

Live recognition view. Recognised glosses accumulate as you sign, commit
with a fade once settled, and show a confidence readout for the word being
recognised.

Sentence assembly. /api/live/assemble takes the accumulated glosses and
returns a natural English sentence, with speech output.

Emotion detection. Face-api runs alongside recognition and maps
expression onto the signing view.

Faster first frame. Models are warmed on startup, so the first live frame
no longer pays the model load cost.

Cerebras primary for gloss to English. Assembly now tries Cerebras
gpt-oss-120b first and falls back to Groq llama-3.3-70b-versatile on error,
timeout, or a missing key, with a short timeout so a hang cannot stall the
pipeline. Measured at 450-720 ms per sentence on the primary path, and all
three fallback paths verified. Key values are never logged.

API

GET  /api/health              backend and model status
POST /api/d1/video            BSL video to English
POST /api/d1/glosses          BSL glosses to English
POST /api/d2/text             English text to BSL glosses
POST /api/d2/audio            speech to BSL glosses
POST /api/live/frame          one live frame, returns recognised gloss
POST /api/live/assemble       accumulated glosses to sentence and speech
GET  /api/signs/{gloss}       pose frames for a gloss
GET  /api/avatar/{name}       avatar model

Requirements

  • An NVIDIA GPU for recognition and speech synthesis
  • The BSL conda environment
  • GROQ_API_KEY, and CEREBRAS_API_KEY for the primary assembly path

Related releases

Known limitations

  • In 3D mode the avatar's hands sit lower than they should. 2D is unaffected.
  • Recognition and speech need a local GPU; the hosted site runs text
    translation only.

Signlytic AI v1.0.0

Choose a tag to compare

@Iyanuoluwa007 Iyanuoluwa007 released this 12 Aug 12:25

First tagged release of the Signlytic AI system: the source of record for everything shipped so far, across the website, the Chrome extension, the desktop app and the local translation pipeline.

What is in this release

Website (live)

https://signlytic-ai-website.vercel.app

  • BSL translation layer across the site. Hovering or focusing a wrapped
    sentence highlights it and offers playback; clicking anywhere on it plays
    the translation. 40 signable sentences across the home, demo and extension
    pages.
  • One shared player per page rather than an avatar per sentence, with 2D
    skeleton by default and a 3D avatar on demand, so the default path
    downloads neither the WebGL engine nor a large model.
  • Site-wide on/off toggle, persisted per visitor.
  • API routes: English to glosses, glosses to English, per-gloss sign data,
    and avatar model delivery.

Chrome extension v0.3.6

Detects live captions on YouTube, BBC iPlayer, Netflix and more and signs
them in a floating panel.

Download: https://github.com/Iyanuoluwa007/Signlytic-Overlay/releases/tag/v0.3.6

Desktop app v0.3.1 (Windows beta)

Reads Windows 11 Live Captions and signs whatever the computer is saying, in
any application. Transparent always-on-top overlay with corner or floating
placement.

Download: https://github.com/Iyanuoluwa007/Signlytic-Overlay/releases/tag/desktop-v0.3.1

Translation pipeline

  • Video-SWIN-T sign recognition over 5,203 BSL signs
  • Gloss to English assembly with Cerebras primary and Groq as fallback
  • Coqui XTTS v2 speech synthesis
  • 2D skeleton and 3D avatar animation from pose frames

Notable engineering in this release

  • The 2D renderer, the 3D avatar engine, the pose normaliser and the gloss
    converter are shared: the extension's overlay/ folder is the single
    source of truth, and the website and desktop app sync from it rather than
    keeping their own copies.
  • Caption text is normalised before it drives anything. The Live Captions
    buffer is a rolling window that is revised in place after the fact, so
    sentences are only released once they settle.
  • Sign data is served through a proxy that keeps the access token
    server-side and adds the CORS header GitHub's asset hosts do not send.

Known limitations

  • In 3D mode the avatar's hands sit lower than they should. 2D is the
    default everywhere and is unaffected.
  • macOS caption capture is not built. The desktop app runs on macOS through
    manual text entry, but macOS exposes captions through a different system
    interface that needs a separate signed helper.
  • Desktop installers are unsigned, so Windows SmartScreen warns on first run.

Downloads

This repository is private, so its release assets are not publicly
downloadable. Public downloads live on the overlay repository:
https://github.com/Iyanuoluwa007/Signlytic-Overlay/releases