{"id":13537601,"url":"https://github.com/wenet-e2e/wekws","last_synced_at":"2025-05-15T10:03:41.283Z","repository":{"id":38383883,"uuid":"425209123","full_name":"wenet-e2e/wekws","owner":"wenet-e2e","description":"Production First and Production Ready End-to-End Keyword Spotting Toolkit","archived":false,"fork":false,"pushed_at":"2025-02-24T06:51:20.000Z","size":416,"stargazers_count":529,"open_issues_count":34,"forks_count":119,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-04-08T02:38:29.538Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wenet-e2e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-06T09:56:48.000Z","updated_at":"2025-04-06T14:15:28.000Z","dependencies_parsed_at":"2024-08-03T16:27:34.322Z","dependency_job_id":"f2c4352a-b0bd-4988-8e1f-9389f67d27b9","html_url":"https://github.com/wenet-e2e/wekws","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenet-e2e%2Fwekws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenet-e2e%2Fwekws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenet-e2e%2Fwekws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenet-e2e%2Fwekws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wenet-e2e","download_url":"https://codeload.github.com/wenet-e2e/wekws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254319716,"owners_count":22051072,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T09:01:00.934Z","updated_at":"2025-05-15T10:03:36.208Z","avatar_url":"https://github.com/wenet-e2e.png","language":"Python","funding_links":[],"categories":["Software"],"sub_categories":["Others"],"readme":"# WeKws\n\n[**Roadmap**](https://github.com/wenet-e2e/wekws/issues/121)\n| [**Paper**](https://arxiv.org/pdf/2210.16743.pdf)\n\n\nProduction First and Production Ready End-to-End Keyword Spotting Toolkit.\n\nThe goal of this toolkit it to...\n\nSmall 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.\n\n\n## Typical Scenario\n\nWe are going to support the following typical applications of wakeup word:\n\n* Single wake-up word\n* Multiple wake-up words\n* Customizable wake-up word\n* Personalized wake-up word, i.e. combination of wake-up word detection and voiceprint\n\n## Installation\n\n- Clone the repo\n``` sh\ngit clone https://github.com/wenet-e2e/wekws.git\n```\n\n- Install Conda: please see https://docs.conda.io/en/latest/miniconda.html\n- Create Conda env:\n\n``` sh\nconda create -n wekws python=3.10\nconda activate wekws\nconda install conda-forge::sox\n```\n- Install torch and torchaudio, It's recommended to use torch 2.5.1 with CUDA 12.4 (for other versions of CUDA, please see https://pytorch.org/get-started/locally/)\n\n``` sh\npip install torch torchaudio\n```\n\n- Install other python packages\n\n``` sh\npip install -r requirements.txt\npre-commit install  # for clean and tidy code\n```\n\n## Dataset\n\nWe plan to support a variaty of open source wake-up word datasets, include but not limited to:\n\n* [Hey Snips](https://github.com/sonos/keyword-spotting-research-datasets)\n* [Google Speech Command](https://arxiv.org/pdf/1804.03209.pdf)\n* [Hi Miya(你好米雅)](http://www.aishelltech.com/wakeup_data)\n* [Hi Xiaowen(你好小问)](http://openslr.org/87/)\n\nAll the well-trained models on these dataset will be made public avaliable.\n\n\n## Runtime\n\nWe plan to support a variaty of hardwares and platforms, including:\n\n* Web browser\n* x86\n* Android\n* Raspberry Pi\n\n## Discussion\n\nFor Chinese users, you can scan the QR code on the left to follow our offical account of WeNet.\nWe also created a WeChat group for better discussion and quicker response.\nPlease scan the QR code on the right to join the chat group.\n\n| \u003cimg src=\"https://github.com/wenet-e2e/wenet-contributors/blob/main/wenet_official.jpeg\" width=\"250px\"\u003e | \u003cimg src=\"https://github.com/wenet-e2e/wenet-contributors/blob/main/wekws/menglong.jpg\" width=\"250px\"\u003e |\n| ---- | ---- |\n\n## Reference\n\n* Mining Effective Negative Training Samples for Keyword Spotting\n  ([github]( https://github.com/jingyonghou/KWS_Max-pooling_RHE),\n   [paper](https://www.microsoft.com/en-us/research/uploads/prod/2020/04/ICASSP2020_Max_pooling_KWS.pdf))\n* Max-pooling Loss Training of Long Short-term Memory Networks for Small-footprint Keyword Spotting\n  ([paper](https://arxiv.org/pdf/1705.02411.pdf))\n* A depthwise separable convolutional neural network for keyword spotting on an embedded system\n  ([github](https://github.com/PeterMS123/KWS-DS-CNN-for-embedded),\n   [paper](https://asmp-eurasipjournals.springeropen.com/track/pdf/10.1186/s13636-020-00176-2.pdf))\n* Hello Edge: Keyword Spotting on Microcontrollers\n  ([github](https://github.com/ARM-software/ML-KWS-for-MCU),\n   [paper](https://arxiv.org/pdf/1711.07128.pdf))\n* An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling\n  ([github](http://github.com/locuslab/TCN),\n   [paper](https://arxiv.org/pdf/1803.01271.pdf))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenet-e2e%2Fwekws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwenet-e2e%2Fwekws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenet-e2e%2Fwekws/lists"}