Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wenet-e2e/wekws
Production First and Production Ready End-to-End Keyword Spotting Toolkit
https://github.com/wenet-e2e/wekws
Last synced: about 12 hours ago
JSON representation
Production First and Production Ready End-to-End Keyword Spotting Toolkit
- Host: GitHub
- URL: https://github.com/wenet-e2e/wekws
- Owner: wenet-e2e
- License: apache-2.0
- Created: 2021-11-06T09:56:48.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-03T15:08:31.000Z (5 months ago)
- Last Synced: 2024-12-14T15:03:03.938Z (8 days ago)
- Language: Python
- Size: 361 KB
- Stars: 478
- Watchers: 16
- Forks: 113
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-keyword-spotting - WeKws (Production First and Production Ready End-to-End Keyword Spotting Toolkit)
README
# WeKws
[**Roadmap**](https://github.com/wenet-e2e/wekws/issues/121)
| [**Paper**](https://arxiv.org/pdf/2210.16743.pdf)Production First and Production Ready End-to-End Keyword Spotting Toolkit.
The goal of this toolkit it to...
Small footprint keyword spotting (KWS), or specifically wake-up word (WuW) detection is a typical and important module in internet of things (IoT) devices. It provides a way for users to control IoT devices with a hands-free experience. A WuW detection system usually runs locally and persistently on IoT devices, which requires low consumptional power, less model parameters, low computational comlexity and to detect predefined keyword in a streaming way, i.e., requires low latency.
## Typical Scenario
We are going to support the following typical applications of wakeup word:
* Single wake-up word
* Multiple wake-up words
* Customizable wake-up word
* Personalized wake-up word, i.e. combination of wake-up word detection and voiceprint## Installation
- Clone the repo
``` sh
git clone https://github.com/wenet-e2e/wekws.git
```- Install Conda: please see https://docs.conda.io/en/latest/miniconda.html
- Create Conda env:``` sh
conda create -n wekws python=3.8
conda activate wekws
pip install -r requirements.txt
conda install pytorch=1.10.0 torchaudio=0.10.0 cudatoolkit=11.1 -c pytorch -c conda-forge
```## Dataset
We plan to support a variaty of open source wake-up word datasets, include but not limited to:
* [Hey Snips](https://github.com/sonos/keyword-spotting-research-datasets)
* [Google Speech Command](https://arxiv.org/pdf/1804.03209.pdf)
* [Hi Miya(你好米雅)](http://www.aishelltech.com/wakeup_data)
* [Hi Xiaowen(你好小问)](http://openslr.org/87/)All the well-trained models on these dataset will be made public avaliable.
## Runtime
We plan to support a variaty of hardwares and platforms, including:
* Web browser
* x86
* Android
* Raspberry Pi## Discussion
For Chinese users, you can scan the QR code on the left to follow our offical account of WeNet.
We also created a WeChat group for better discussion and quicker response.
Please scan the QR code on the right to join the chat group.| | |
| ---- | ---- |## Reference
* Mining Effective Negative Training Samples for Keyword Spotting
([github]( https://github.com/jingyonghou/KWS_Max-pooling_RHE),
[paper](https://www.microsoft.com/en-us/research/uploads/prod/2020/04/ICASSP2020_Max_pooling_KWS.pdf))
* Max-pooling Loss Training of Long Short-term Memory Networks for Small-footprint Keyword Spotting
([paper](https://arxiv.org/pdf/1705.02411.pdf))
* A depthwise separable convolutional neural network for keyword spotting on an embedded system
([github](https://github.com/PeterMS123/KWS-DS-CNN-for-embedded),
[paper](https://asmp-eurasipjournals.springeropen.com/track/pdf/10.1186/s13636-020-00176-2.pdf))
* Hello Edge: Keyword Spotting on Microcontrollers
([github](https://github.com/ARM-software/ML-KWS-for-MCU),
[paper](https://arxiv.org/pdf/1711.07128.pdf))
* An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling
([github](http://github.com/locuslab/TCN),
[paper](https://arxiv.org/pdf/1803.01271.pdf))