Disclaimer: First Test the wakeword with the default threshold and then adjust it, according to ur needs fr optimal performance
EfficientWordNet, originally developed by AntBrain, has been upgraded with a more advanced similarity measure to improve wakeword detection accuracy. The key enhancement focuses on noise-robust similarity matching, enabling smooth detection in real-world environments without requiring extensive retraining on noise-augmented datasets.
- Adaptive Similarity Metrics: Combines multiple similarity metrics to improve detection accuracy.
- Cosine similarity with a positive centroid
- Adaptive Gaussian kernel similarity
- Negative sample penalties
- Standard deviation-based outlier detection
- Learned Decision Boundaries: Utilizes negative samples to refine decision boundaries.
- Weighted Similarity Metrics: Dynamically adjusts the importance of different similarity measures based on conditions.
- Adaptive Gaussian Kernel with Noise-Dependent Sigma: Models the sensitivity parameter (sigma) as a function of noise levels.
- Noise Level Estimation: Extracts noise characteristics from audio signals to adjust similarity weights.
- Dynamic Weight Adjustment: In noisy environments, higher emphasis is placed on Gaussian kernel similarity to enhance detection robustness.
- Testings.py: Contains the main implementation of enhanced similarity matching with noise-based threshold adjustments.
- Detection.py: Implements the base model and alternative similarity operations for experimentation and research.
- Exploring neural network-based modeling of similarity adjustments for smoother performance.
- Further optimization to balance computational efficiency with detection accuracy.
- Expansion to support more adaptive similarity operations based on real-time environmental conditions.
- Clone the repository and install the required dependencies.
- run
pip install -r requirments.txt - its good to install
ffmpeg - Use
recording_audio.pyfor recording reference embeddings for ur wakeword. - Run
main.pyto test the improved similarity matching algorithm in realtime. - Use
TabulateTest.pyfor baseline model comparison and alternative similarity operations.
This upgrade aims to improve wakeword detection performance in noisy conditions while maintaining efficiency without requiring extensive retraining. Contributions and feedback are welcome!