Speech commands are all the rage on everything from digital assistants to cars. Adding it to your own projects is a lot of work, right? Maybe not. [Electronoobs] shows a speech board that lets you easily integrate 255 voice commands via serial communications with a host computer. You can see the review in the video below.
He had actually used a similar board before, but that version was a few years ago, and the new module has, of course, many new features. As of version 3.1, the board can handle 255 commands in a more flexible way than the older versions.
Although the board can handle 255 commands, it only listens for 7 of those at one time, which is an odd limitation. However, the older board had even stricter limits where you could only listen to one of three groups and each group had 5 commands. With the new board, you can pick any 7 of the 255 commands to be active at once. You can then replace some of the 7 with other commands based on context. For example, you might listen for a main menu command and, based on that selection, listen for a different set of second-level commands.s
The interface is either serial or I2C. We couldn’t help but think that if you could listen to 12 or 15 commands at once, you could have a set for listening to numbers which might be handy. Maybe version 4?
You train the commands using a microphone with an interactive wizard-like setup. The eventual target for this is a robot, but for now [Electronoobs] is just lighting up LEDs on command. But it looks very easy to use for whatever purpose as long as you can work out the limit of 7 commands.
It is harder to do, but you can make an Arduino process speech by itself. Even easier, with a bigger processor.
I remember reading about the old version thinking it was pretty interesting. In theory it might be possible to add a sort of bootstrap operating system, so you can use voice commands to program further voice commands and menus. If several of these were combined, it could make for a pretty good offline home automation system. I do wonder how fast you could speak, perhaps using multiple boards each looking for a single word, perhaps automatically muting each others microphones to add artificial pauses, maybe it could be possible to have it recognize a fluid speech pattern. Combined with text to speech and some sort of AI, it could be a very interesting board to experiment with. Who knows what the next iterations will offer. Hopefully these boards will get cheap enough to have several incorporated into multiple devices around the house. Perhaps selectively filtering out certain audio, so they don’t get inadvertently activated by the television etc.
I’m thinking something like “new squelch” found on military radios might work in that case.
But instead the TVs would emit an ultrasonic tone with their audio which would signal the voice recognition board to ignore that audio.
Or just invert the audio and mix it.
Don’t you have to estimate the incoming copy’s volume, then, so that they exactly subtract out?
How to write code for more than 7 voice command
Of the 255 commands it can store it can load 7 at a single time. The max recording time is 1.5 seconds per command. If the main board you use to control everything (Arduino, RPi, ESP32, etc) includes branching logic (eg: an if…then or similar set of statements) then when one command is recognized your code can trigger the loading of additional commands, allowing you to create a “menu” with nested items (as you suggest). As long as you can fit everything into 255 commands you only need the single board (plus your main board that contains your main application).
For a robot , eh?
Hopefully 3 of those words are:
Klaatu barada nikto
I’d settle for “Get off my damn foot!”
LOL!
It’s likely this is just a speedy preprogrammed MCU on the board with some clever code rather than any kind of ASIC.
Sure, but it’s pre programmed and you can’t adjust it. It’s now application specific… So, ASIC?!
Comouter…. Arch ! …… Computer End Program ! ….. Nope still stuck in the Covid simulation
I tried using one of these. The problem was, if it didn’t recognize a correct word or words, it would pick the closest thing. I had hoped it would sent nothing or “not found”. Do the newer versions of these always return a value even if the word is not recognized?
That’s a hard thing to overcome. Did you manage to make something?
I wanted to build a “spirit radio” type of thing where it was hidden secretly in an old box with brass rods and tubelike parts. If anyone in the room says certain words, it would turn a brass rod ever so slightly with hidden servos. Just random movements for specific words. You program in a bunch of words or phrases and if it is detected returns the line number to arduino. That’s the problem … it returns a number when ANYTHING is spoken … it just picks the closest match. That sucks and causes movements all the time. A failed project.
I must be going blind, but I don’t see a manufacturer or part number for this board anywhere … ?
From the “Show More…” on the linked YouTube page : https://s.click.aliexpress.com/e/_983Hqq
Though that, and the AD_VR3 model number seem quite out of date – 2014. I don’t see anything on elechouse, Techtonics or anywhere else that purport to sell a V3.1 …
Hope the OP can clarify this. Alexa’s getting dumber by the day, and I sure would like a reasonable alternative for the home automations I’ve built.
Amazon calls it
Brand Name TECHTONICS
Part Number TECH1052-00
https://www.amazon.in/Techtonics-Recognition-Module-compatible-Arduino/dp/B07QGGMJZW
Okay, I’ll give it a rest, now. :-)