EfficientWordnet Offline is a privacy-first, 100% in-browser hotword (wake word) detection dashboard. It brings the power of EfficientWord-Net to the web, allowing users to test and create wake words entirely locally without any audio data ever leaving their device.
- Real-time Hotword Detection: Detect wake words like "Alexa" or "Mycroft" directly in your browser.
- Privacy by Design: Audio processing happens locally using ONNX Runtime Web. No cloud APIs, no data collection.
- Custom Hotword Factory: Record your own samples or upload audio files to generate custom hotword reference (
.json) files. - Cross-Platform: Works on any modern browser supporting Web Audio API and WASM.
- Adjustable Sensitivity: Fine-tune detection thresholds to balance between false triggers and accuracy.
- Framework: React 19 + TypeScript
- Build Tool: Vite
- Inference Engine: ONNX Runtime Web
- Audio Processing:
- Web Audio API (AudioWorklet)
- Mel-frequency Filterbank processing
fft.jsfor spectral analysis
- UI Components: Lucide React (Icons), Sonner (Toasts), Tailwind CSS
- Node.js (Latest LTS recommended)
- npm or yarn
-
Clone the repository:
git clone https://github.com/Ant-Row/EfficientWordnet-Frontend.git cd EfficientWordnet-Frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build for production:
npm run build
- Audio Capture: The browser captures audio at 16kHz via a dedicated
AudioWorklet. - Feature Extraction: Audio buffers are processed into log-mel spectrograms using a Mel-filterbank (64 filters, 512 NFFT).
- Inference: The processed features are fed into a ResNet-50 based Siamese Network (ONNX model).
- Comparison: The resulting embedding is compared against reference embeddings using Cosine Similarity.
- Detection: If the similarity score exceeds the user-defined threshold, a detection event is triggered.
src/components/: UI Tabs for testing and creating hotwords.src/lib/AudioUtils.ts: Core logic for Mel-filterbank and audio framing.public/audio-processor.js: AudioWorklet script for low-latency audio capture.public/models/: Contains the ONNX model and default reference files.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ and Gemini for privacy and the open-source community.