A desktop application for capturing and preserving indigenous language terms using AI-powered object recognition.
- Real-time object detection using Meta's Segment Anything Model (SAM)
- Voice recording for local term capture
- Support for South African languages
- Offline capability for areas with limited connectivity
- Visual dictionary of terms with object recognition
- Node.js v16 or higher
- Python 3.8 or higher
- Webcam for object detection
- Microphone for voice recording
git clone https://github.com/ZubeidHendricks/lingualearn-system.git
cd lingualearn-system
There are known dependency conflicts that need to be resolved during installation. Follow these steps in order:
# Install react-scripts with legacy peer deps
npm install react-scripts --legacy-peer-deps
# Install required babel plugin
npm install @babel/plugin-proposal-private-property-in-object --legacy-peer-deps
# Install Python dependencies
pip install -r requirements.txt
Download the required model files:
- Download the SAM model file from Meta
- Place it in the
models
directory - Update the model path in config if necessary
# Start the application (this will start both React and Electron)
npm start
If you encounter the error "'react-scripts' is not recognized", run:
npm install react-scripts --legacy-peer-deps
If you see dependency conflict errors, use the --legacy-peer-deps
flag:
npm install --legacy-peer-deps
- Camera access is required for object detection
- Microphone access is required for voice recording
- Ensure Python environment has all ML dependencies installed
lingualearn-system/
├── src/
│ ├── lingualearn/ # Python backend code
│ ├── main/ # Electron main process
│ └── components/ # React components
├── models/ # AI model files
├── tests/ # Test files
└── docs/ # Documentation
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Meta's Segment Anything Model (SAM)
- OpenAI's Whisper for voice recognition
- The indigenous language communities of South Africa