SignSpeak is a real-time American Sign Language (ASL) alphabet translator that uses computer vision to detect and interpret hand gestures through your webcam. This web application helps users learn and practice the ASL alphabet by providing immediate visual feedback.
- Real-time hand gesture detection
- ASL alphabet recognition (A-Z)
- Visual feedback with hand landmark tracking
- Interactive gesture guide
- Clean and intuitive user interface
- Buffer system to prevent accidental detections
- Clear function to reset detected letters
- Frontend: HTML, CSS, JavaScript
- Computer Vision: MediaPipe Hands API
- Machine Learning: TensorFlow.js
- Video Processing: HTML5 Canvas
- Styling: Custom CSS with CSS Variables
- The application accesses your webcam feed
- MediaPipe Hands API tracks hand landmarks in real-time
- Custom algorithms compare hand positions against predefined ASL letter patterns
- Visual feedback is provided through:
- Green markers when a letter is recognized
- Red markers when no letter is detected
- Text display showing current detected letter
- Buffer display showing sequence of detected letters
The application includes a comprehensive guide for all 26 letters of the ASL alphabet, with descriptions of how to form each letter:
- A: Closed fist with thumb on side
- B: Flat hand, fingers together
- C: Curved hand in C shape
- ...and so on for all letters
- Clone the repository
- Open
index.html
in a modern web browser - Allow camera access when prompted
- Position your hand in front of the camera
- Practice ASL letters following the guide
- Modern web browser with JavaScript enabled
- Webcam
- Internet connection (for loading required libraries)
The application processes all video locally in your browser. No video data is transmitted or stored.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- MediaPipe for their excellent hand tracking solution
- TensorFlow.js team for their machine learning framework
- The ASL community for inspiration and guidance
If you encounter any issues or have questions, please open an issue in the GitHub repository.