🤖 AI-powered English to Indian Sign Language (ISL) translator using Gemini AI and YouTube API integration.
This project translates English text into Indian Sign Language by converting English grammar to ISL grammar and finding corresponding sign language videos. It uses Google's Gemini AI for intelligent word matching and grammar conversion, and integrates with the ISL Dictionary YouTube channel for video demonstrations.
- 🔄 Real-time English to ISL grammar conversion
- 🎥 Automatic video lookup from ISL Dictionary
- 🧠 Smart word matching with Gemini AI
- 📝 Comprehensive logging system
- 🌐 User-friendly Streamlit interface
- 🔐 Secure API key management
- Python
- Streamlit
- Google Gemini AI
- YouTube Data API
- Environment-based configuration
This project uses data and resources from:
- Indian Sign Language Dictionary - For ISL word mappings and grammar rules
- ISL Dictionary YouTube Channel - For sign language video demonstrations
This project is for educational and non-commercial purposes only. All sign language videos and content are sourced from the ISL Dictionary YouTube channel and are used with the intent of promoting accessibility and learning. This project is not affiliated with or endorsed by indiansignlanguage.org or the ISL Dictionary YouTube channel.
- Python 3.9 or higher
- Google Gemini API key
- YouTube Data API key
-
Clone the repository:
git clone <repository-url> cd Indian-Sign-Language
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.envfile in the project root with your API keys:GEMINI_API_KEY=your_gemini_api_key_here YOUTUBE_API_KEY=your_youtube_api_key_here -
(Optional) Install Watchdog for better performance:
xcode-select --install # macOS only pip install watchdog
-
Start the Streamlit app:
streamlit run app.py
-
Open your browser and navigate to the provided URL (typically http://localhost:8501)
-
Enter English text in the input field
-
Click "Translate" to:
- Convert the text to ISL grammar
- Find matching sign videos
- Display the translation and videos
- Text Input: User enters English text
- Grammar Conversion: Gemini AI converts text to ISL grammar
- Word Matching:
- First tries exact match in mapping.json
- If not found, uses Gemini to find similar words
- Falls back to original word if no match found
- Video Lookup:
- Searches ISL Dictionary YouTube channel
- Returns first matching video
- Handles errors gracefully with logging
- Display: Shows translation and videos in sequence
The application uses several configuration options in config.py:
DB_PATH: Path to the ISL databaseISL_WEBSITE: Base URL for ISL websiteSIMILARITY_THRESHOLD: Minimum similarity score for word matching
The application maintains detailed logs in output.log:
- Translation process
- Word matching attempts
- Video search results
- Error handling
This is a production-ready version with:
- Proper error handling
- Environment-based configuration
- Comprehensive logging
- API key security
- Performance optimizations
Feel free to submit issues and enhancement requests!
