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
- MediaPipe Holistic extracts 21 right-hand landmarks per frame.
- The last 30 frames of
(x, y, z)keypoints form a sequence. - An LSTM classifies the sequence into one of 26 letters.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c36ed3ac1e44c69fbd611ac6dddc5bc356f47999298d93d5847eb29701f15aed
|
|
| MD5 |
8625099fa5611334c2fd99e904450db3
|
|
| BLAKE2b-256 |
0d7ff5e0311dac63d8f68e6bfe5d542ee68534862fe4ccc182914cbecb9d4dd4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c2feb0c313acfa30d65d620e11be9669fc2e4b92a36245f9146578293b48475
|
|
| MD5 |
17b4e83d2cff7cb8b7017f11c954d9bf
|
|
| BLAKE2b-256 |
58276b646e544c212dfb16b5360d6939d1bb5e4c1e9a0315360cbf730e78bb34
|