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.
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
- 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
Release files for signspell 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| signspell-2.0.1.tar.gz | 2.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| signspell-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.3 MB
Release files / signspell-2.0.1.tar.gz
| Download URL | signspell-2.0.1.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39497ab90d541e57ec8596cfadba271f030aa937a75a855bdfc649398c0c7e7b
|
|
BLAKE2b-256 checksum How to use checksums |
8b293e1a85c4a45508160b2fe1b7200c91f1a6b42a51fded9818ed921ffb6d90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Release files / signspell-2.0.1-py3-none-any.whl
| Download URL | signspell-2.0.1-py3-none-any.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3efea2ed5a41fd191d4b6f68374756109ec1d64423624a424b39252534768099
|
|
BLAKE2b-256 checksum How to use checksums |
e2301e98c372b5db1c76eca6a4c52241a6439e88dc7bf47351f8f6ddabc0ecdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|