element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Blog Pi for Keyword Detection
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
GPIO Pinout
Raspberry Pi Wishlist
Comparison Chart
Quiz
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: vidyamohanan
  • Date Created: 16 Mar 2020 1:01 AM Date Created
  • Views 1554 views
  • Likes 3 likes
  • Comments 2 comments
Related
Recommended
  • pocketsphinx
  • nlp
  • raspberry pi
  • pi day 2020

Pi for Keyword Detection

vidyamohanan
vidyamohanan
16 Mar 2020

On this Pi day, towards its ending, I would also like to share some of my experience of working with Raspberry Pi, back in college days. I was on one of the project groups which was assigned to do a portable keyword detection module. The end goal of the project was to develop an offline natural language keyword detector that can be carried around in our bags (later to be made compact in future researches). The background research on possible hardware and software and to suggest a suitable viable solution for the same was on me.

 

Hardware: While searching for the hardware, I came across a particular one which is actually an Arduino compatible hardware from Geetech. This Voice Recognition Module could be interfaced with Arduino and train and detect various commands up to 15 commands. The list of 15 is divided into 3 groups of 5 and the setup was a little messier. It lacked the scalability as an external PC was required to program it. Also the overhead of programming the Arduino explicitly every time a change was required. So as Raspberry Pi is a widely recognized and scalable platform, I changed my focus on something that would be possible with a Raspberry Pi rather than sticking to a limited module. The advantage was that we can set up the pi once and tinker with it infinite times without much effort.

 

Software: Those were the times where there were no Snips or Tensorflow around. So we had to rely on limited available resources for proceeding. The search bought me to the CMU Sphinx Toolkit - An Open Source Speech Recognition application developed by the Carnegie Mellon University. The advantage of this system was that it contained a specific module known as 'Pocketsphinx' capable of doing offline speech recognition. It accompanies a variety of packages such as sphinxbase and sphinxtrain, capable of training our own voice models. It also hosts resources with pre-trained voice models which could be run out of the box with minor tweaks. But the accent was a major issue here and its always advisable to train our own models which is a huge task and time-consuming.

 

The advantages of using this toolkit compared to the hardware module from Geetech was that this is more customizable, easily available in multiple platforms such as Java and python, and can be trained to detect a variety of keywords as compared to a limited 15 on the latter. The only shortfall was the need to train our own voice model which is a one time task, but time-consuming. Even then, the pocketsphinx was very easy to set up on the Raspberry Pi.

 

So my final verdict was in favor of Raspberry Pi + Pocketsphinx image

 

Additionally, I came across a variety of other applications such as Kaldi, Julius, HTK, etc which also had offline recognition, but were discarded due to poor documentation and not so easy setup. Also, applications such as AT&T Watson, Microsoft Speech Server, Google speech API, Nuance recognizer, etc were totally kept apart due to their inability to perform offline recognition. If I was asked to do the same task today, there would be a variety of options such as Snips, At the edge processing, Tensor flow, Wavenet and a lot more NLP packages to choose from.

 

Resources:

https://cmusphinx.github.io/

https://www.geeetech.com/wiki/index.php/Arduino_Voice_Recognition_Module   (Seems to be broken currently)

  • Sign in to reply

Top Comments

  • DAB
    DAB over 5 years ago +1
    The RPi has opened up a lot of potential engineering applications for an advanced but low cost single-board computer. This past year I experimented with RPi triggering GoPro cameras. We learned a lot,…
  • vidyamohanan
    vidyamohanan over 5 years ago in reply to DAB +1
    You are right DAB. Rpi is a serious piece of hardware. And, a quick search on the GoPro Interfaces took me here . Might be resourceful
  • vidyamohanan
    vidyamohanan over 5 years ago in reply to DAB

    You are right DAB. Rpi is a serious piece of hardware.

     

    And, a quick search on the GoPro Interfaces took me here. Might be resourceful image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 5 years ago

    The RPi has opened up a lot of potential engineering applications for an advanced but low cost single-board computer.

     

    This past year I experimented with RPi triggering GoPro cameras. We learned a lot, found the Rpi very flexible, but the GoPro interface sucked.

     

    DAB

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube