{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/hello-edge-keyword-spotting-on","title":"Hello Edge: Keyword Spotting on Microcontrollers","arxiv_id":"1711.07128","date":"2017-11-20","proceeding":null,"authors":["Yundong Zhang","Naveen Suda","Liangzhen Lai","Vikas Chandra"],"abstract":"Keyword spotting (KWS) is a critical component for enabling speech based user\ninteractions on smart devices. It requires real-time response and high accuracy\nfor good user experience. Recently, neural networks have become an attractive\nchoice for KWS architecture because of their superior accuracy compared to\ntraditional speech processing algorithms. Due to its always-on nature, KWS\napplication has highly constrained power budget and typically runs on tiny\nmicrocontrollers with limited memory and compute capability. The design of\nneural network architecture for KWS must consider these constraints. In this\nwork, we perform neural network architecture evaluation and exploration for\nrunning KWS on resource-constrained microcontrollers. We train various neural\nnetwork architectures for keyword spotting published in literature to compare\ntheir accuracy and memory/compute requirements. We show that it is possible to\noptimize these neural network architectures to fit within the memory and\ncompute constraints of microcontrollers without sacrificing accuracy. We\nfurther explore the depthwise separable convolutional neural network (DS-CNN)\nand compare it against other neural network architectures. DS-CNN achieves an\naccuracy of 95.4%, which is ~10% higher than the DNN model with similar number\nof parameters.","url_abs":"http://arxiv.org/abs/1711.07128v3","url_pdf":"http://arxiv.org/pdf/1711.07128v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/ARM-software/ML-KWS-for-MCU","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/Anustup900/Tensorflow-Speech-Recognition","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/BgLoveXixi/Keyword_recognition","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/FraCorti/Deep_Subnetworks_for_Dynamic_Resource_Constraints","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/Jaskaran197/KWS-TF-MCU","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/Lebhoryi/ML-KWS-for-MCU","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/Paulonso/ARM-software","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/Paulonso/ML-KWS-for-MCU","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/UT2UH/ML-KWS-for-ESP32","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/etrommer/dcsr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/fracorti/reds","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/hustxsl/C-ML-KWS-for-MCU","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/jayant766/MIDAS-IIITD","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/magahub/KWS-ARM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/robin-ai-ml/ML-KWS-for-MCU","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/widzemin/audio_project","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/google-research/google-research/tree/master/kws_streaming","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"hello-edge-keyword-spotting-on","repo_url":"https://github.com/mindspore-ai/models/tree/master/research/nlp/dscnn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"keyword-spotting","task_name":"Keyword Spotting"}],"methods":[{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"dilated-convolution","method_name":"Dilated Convolution"},{"method_slug":"residual-connection","method_name":"Residual Connection"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/keyword-spotting-on-google-speech-commands","task":"Keyword Spotting","dataset":"Google Speech Commands","model":"DS-CNN","rank_in_archive_order":14,"of":42,"metrics":{"Google Speech Commands V1 12":"94.4"},"uses_additional_data":false},{"leaderboard":"/sota/keyword-spotting-on-google-speech-commands","task":"Keyword Spotting","dataset":"Google Speech Commands","model":"GRU","rank_in_archive_order":15,"of":42,"metrics":{"Google Speech Commands V1 12":"93.5"},"uses_additional_data":true},{"leaderboard":"/sota/keyword-spotting-on-google-speech-commands","task":"Keyword Spotting","dataset":"Google Speech Commands","model":"LSTM","rank_in_archive_order":16,"of":42,"metrics":{"Google Speech Commands V1 12":"92.9"},"uses_additional_data":true},{"leaderboard":"/sota/keyword-spotting-on-google-speech-commands","task":"Keyword Spotting","dataset":"Google Speech Commands","model":"Basic LSTM","rank_in_archive_order":17,"of":42,"metrics":{"Google Speech Commands V1 12":"92.0"},"uses_additional_data":false},{"leaderboard":"/sota/keyword-spotting-on-google-speech-commands","task":"Keyword Spotting","dataset":"Google Speech Commands","model":"DNN","rank_in_archive_order":18,"of":42,"metrics":{"Google Speech Commands V1 12":"91.6"},"uses_additional_data":false},{"leaderboard":"/sota/keyword-spotting-on-google-speech-commands","task":"Keyword Spotting","dataset":"Google Speech Commands","model":"CNN","rank_in_archive_order":19,"of":42,"metrics":{"Google Speech Commands V1 12":"84.6"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1711.07128","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}