Skip to main content

Live ASL fingerspelling alphabet recognition with a polished webcam UI.

Project description

signspell

Live ASL fingerspelling alphabet recognition — straight from your webcam.

signspell recognises the American Sign Language manual alphabet (A–Z) in real time using MediaPipe hand tracking and an LSTM model trained on 30-frame keypoint sequences. It ships with a pretrained model and a polished webcam UI, and it works both as a command-line tool and an importable library.

ASL fingerspelling alphabet chart

The American Sign Language fingerspelling alphabet that signspell recognises.


Install

pip install signspell

Requires Python 3.9–3.12. A webcam is required for live recognition.

Run it (CLI)

signspell                  # default webcam, bundled model, pro UI
signspell --camera 1       # pick a different camera
signspell --threshold 0.6  # require higher confidence
signspell --no-mirror      # disable mirrored view

In-window keys: q quit · c clear sentence · SPACE add a space.

Use it (library)

Run the full UI from code:

import signspell
signspell.run()

Or drive recognition yourself, frame by frame:

import cv2
import signspell

rec = signspell.Recognizer()
cap = cv2.VideoCapture(0)

while True:
    ok, frame = cap.read()
    if not ok:
        break
    letter, confidence, probs = rec.predict(frame)
    if letter:
        print(letter, f"{confidence:.2f}")

The Recognizer keeps a rolling 30-frame buffer internally, so you just feed frames and read predictions. letter is None until the buffer fills or when confidence is below the threshold.

How it works

  1. MediaPipe Holistic extracts 21 right-hand landmarks per frame.
  2. The last 30 frames of (x, y, z) keypoints form a sequence.
  3. An LSTM classifies the sequence into one of 26 letters.
  4. A short stability window prevents flicker before a letter is committed.

Bring your own model

signspell --model path/to/your_model.h5
signspell.Recognizer(model_path="path/to/your_model.h5")

Your model must accept input shape (1, 30, 63) and output 26 class scores.

License

MIT © Sundar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signspell-2.0.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signspell-2.0.0-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file signspell-2.0.0.tar.gz.

File metadata

  • Download URL: signspell-2.0.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for signspell-2.0.0.tar.gz
Algorithm Hash digest
SHA256 646e7e7a649b89b7bf5eae02f3a37d8aaca39dd94a2d77fe8c4b15fa7e2ce986
MD5 c65c3caa8181f96bc0ff44da42d6d948
BLAKE2b-256 89337cf3910a57dba3cd2821f5c288110d05a1127e912f5e60f7692d91ce059a

See more details on using hashes here.

File details

Details for the file signspell-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: signspell-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for signspell-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 debece6674adad201dbbb64eddab3b9f7b1659edd51d7554550bacf76b1fdb56
MD5 515db20bac7dbec24a9492f3ae167bd4
BLAKE2b-256 24373db1834e964b2277becbda33986a10cea1d038325c349ba6d31b84049c14

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page