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.


Install

pip install signspell

Requires Python 3.9–3.11. 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-1.0.0.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

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

signspell-1.0.0-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for signspell-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c36ed3ac1e44c69fbd611ac6dddc5bc356f47999298d93d5847eb29701f15aed
MD5 8625099fa5611334c2fd99e904450db3
BLAKE2b-256 0d7ff5e0311dac63d8f68e6bfe5d542ee68534862fe4ccc182914cbecb9d4dd4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for signspell-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c2feb0c313acfa30d65d620e11be9669fc2e4b92a36245f9146578293b48475
MD5 17b4e83d2cff7cb8b7017f11c954d9bf
BLAKE2b-256 58276b646e544c212dfb16b5360d6939d1bb5e4c1e9a0315360cbf730e78bb34

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