A Progressive Web App for exploring IPA (International Phonetic Alphabet) phonemes with speech synthesis support. Perfect for language learners, teachers, and speech professionals.
- Multiple Modes: Build, Search, Babble, Edit, and Game modes
- Interactive IPA Keyboard: Customizable phoneme buttons with audio feedback
- Speech Synthesis: Azure TTS integration with high-quality voices
- Flexible UI: Multiple interface modes (full, simplified, minimal, kiosk)
- Configuration Loading: Load settings from URLs or files
- Accessibility: Touch dwell, haptic feedback, and keyboard shortcuts
- Responsive Design: Works on desktop, tablet, and mobile devices
- PWA Support: Install as a Progressive Web App
- Install dependencies:
npm install
- Configure Azure Speech Services:
- Create a
.env
file in the root directory - Add your Azure credentials:
- Create a
REACT_APP_AZURE_KEY=your_azure_speech_key_here
REACT_APP_AZURE_REGION=your_azure_region_here
- Start the development server:
npm run dev
The app will be available at http://localhost:3000 (frontend) and the API at http://localhost:3001 (backend).
- User Guide - Complete user documentation
- Development Guide - Setup and development instructions
- UI Modes - Interface customization options
https://yourapp.com/ # Full interface
https://yourapp.com/?ui=simplified # Simplified interface
https://yourapp.com/?ui=kiosk # Kiosk mode
https://yourapp.com/?config=example1 # Local config
https://yourapp.com/?config=https://example.com/my.json # Remote config
https://yourapp.com/?toolbar=build,settings,search # Specific buttons only
This repository includes a GitHub Actions workflow that deploys every pull request to a temporary DigitalOcean App Platform app. The workflow comments on the PR with the preview URL.
To enable preview deployments:
- Create a DigitalOcean API token with access to manage apps.
- Add it to the repository secrets as
DO_API_TOKEN
. - Add the existing Azure environment values as GitHub repository secrets. These
should match the values already configured in the DigitalOcean app:
REACT_APP_AZURE_KEY
REACT_APP_AZURE_REGION
REACT_APP_PHONEMIZE_API
No changes are required to the production app. Preview apps are created with a unique name per pull request and removed when the PR is closed.
Each IPA button can be customized with:
- Custom images
- Hidden labels
- Different colors or styles
Four sample configurations are bundled with the app. You can load any of these from the Settings screen or the onboarding dialog to quickly explore different phoneme layouts.
- React 18
- Material-UI
- Azure Cognitive Services Speech SDK
- Web Speech API (fallback)