Update: Whistled platform upgraded for simple word recognition

Some people may remember the whistled platform I [limpkin] designed a while back, which recognizes different whistles to control your lighting. Recently, I designed a firmware that transforms the board into a word recognition device, as the 50MHz ARM Cortex M4′s processing capabilities are good enough to do so.

The simple algorithm works by correlating successive Fast Fourier Transforms (FFT) of the amplified microphone output with the FFTs of a template word previously stored in memory. Simply connect the Whistled to your power supply, say the word you’d like it to recognize and you’re good to go.

As you will see in the video embedded after the break (sorry for the accent…), I briefly explain basic principles about word/sound recognition and what you can do to improve your algorithm performances. The source files can be downloaded, as well as the code for my whistle detection algorithm which wasn’t available the first time we looked at the project.

Comments

  1. trandi says:

    wow… trop balaise !

  2. Ellen says:

    No need to apologize for your accent… Great explanation video :)

    The quality of HaD posts is indeed rising since the new overloads came to power.

  3. Eatith Mee says:

    As if they COULD defend themselves indeed… Some of the stuff that comes out of the heads of the editors of this site is at times pretty lacking. Having a look-see at the backgrounds of these guys explains a lot. A non-realworld-education in electronics for one. Yes even the guy thats going to school for engineering, as engineers from my experience have a lot of books smarts for crap that they’ll never use in the real world. I guess I’m biased by the fact I have 30+ years experience with electronics and I am a tech, and the fact I spend most days re-teaching engineers electronics so they don’t hurt themselves or worse yet, millions of dollars of equipment. If you are an engineering student – TAKE A LAB OR TWO FOR GODS SAKES!!! Too many just take the core and never learn past anything past useless theory.

    A lot of people are “google smart” or “arduino smart” as well. They don’t know enough to come up with an original idea or look a schematic and figure out the T.O., but give them google and they “can do anything!” or a library to steal code from, but have them try to write a simple piece of code and watch out! sparks will fly…

  4. Tinkerer says:

    Hey Mathieu,
    Very nice work, very good short explanation. Would you like to do a more detailed explanation of the matching algorithms you mentioned in the last minute of your video, preferably in a new video?

  5. Whatnot says:

    The nice thing here is that when you completely make and control it yourself the thing is unlikely to become a damn NSA (and such) spying device and it allows you to have a mic in use without such shenanigans. Unlike the xbox one (I think ONE might be an acronym for Open NSA Exploration, that’s why everything is dubbed ‘one’ these days.)

  6. Jonnyw2k says:

    Hello Moto X8!

  7. hugowesseling says:

    Hi Mathieu,

    Very nice to see this works on such a relatively low speed chip.

    To improve the algorithm, you could try and calculate the mel-frequency cepstrum (see wikipedia) and use the first 12 or so values and use that to match trained utterances.The complexity is equal to applying a log and cos (maybe lookup tables for speedup) and then running another fft over the fft result.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s