xCORE-based voice controllers for the IoT
We are rapidly approaching an inflection point with regard to embedded speech and embedded vision. In the not-so-distant future, each of us will interact with hundreds of electronic devices throughout the course of the day at home, in our cars, and in the office — just about everywhere we go, actually.
Do you remember the frustration of trying to set the time on a VCR circa the mid-1980s? I don’t think my parents ever successfully managed to do so under their own steam. And once you had set the time, you were faced with the daunting task of actually recording a program. I cannot recall how many times I recorded the right channel at the wrong time or the wrong channel at the right time. Sometimes I excelled myself by recording the wrong channel at the wrong time. It was a rare fiesta day indeed when I managed to capture a program I actually wanted to view.
The point of all this is that our ability (or lack thereof) to configure, control, and interface with the myriad devices that will soon surround us will directly affect our quality of life. In the case of embedded speech, natural language interfaces (NLIs) are expected to revolutionize the way in which we interact with the technology that surrounds us.
Of course, speech recognition in potentially noisy environments is a tricky beast that requires a lot of compute power. All of which leads us to the xCORE devices from XMOS. These little beauties feature multiple deterministic processor cores that can execute multiple tasks simultaneously and independently. Furthermore, external interfaces and peripherals are implemented in software, thereby allowing embedded systems developers to implement the exact combination of required interfaces.
The reason I'm waffling on about all of this here is that I just ran across a 26-page whitepaper on the XMOS website. This little rascal examines the DSP capabilities of the recently introduced xCORE-200 architecture.

(Source: XMOS)
Based on the example of a voice interface front-end using Pulse Density Modulation (PDM) microphones, the paper analyzes how low-latency DSP processing can be implemented on the xCORE-200 architecture, while still leaving significant resources for system control and custom functions.
I don’t know about you, but I am more than ready for the advent of true speech recognition and natural language interfaces. It's not like I want to rule the world — I just would like to be able to do simple things like climb into bed and say “wake me up at six-thirty” and have the alarm clock make the assumption that I'm talking to it, even if my wife has the television set running in the background while she's telling the cats how beautiful they are.
As a small postscript to the above, I currently use my iPad as an alarm clock because the convoluted controls on the cheap-and-cheerful bedside clock I purchased a couple of years ago defy human understanding. It's currently running 10 minutes fast, but I no longer trust my ability to change the time, and as for using it as an alarm clock… suffice it to say that after multiple rude awakenings in the wee hours of the morning, I've been banned from further experimentation. Thus, the clock's only remaining role is to give me something to look at if I wake up in the middle of the night. Am I the only one who has these problems, or do you have your own appliance woes?
“I use my phone as my alarm too. The desk clock I have on my dresser is actually reasonably easy to set. It even has individual buttons for forward and backward. But… whomever designed it neglected to care about key debounce. The exercise of getting the
“MaxnnYour bedside clock wouldn't be a Sony would it? Your woes sound just like mine.nnRecording TV? Did you see my blog on “Made by Monkeys” called “Cable Box Causes Bigger Headache Than Daytime TV” nnhttp://www.designnews.com/author.asp?doc_
“I once had a brilliant alarm clock in the UK — lots of buttons (one button per task) — both forward and backward buttons for both hour and minute (which was great) — pressing and holding them started slow and then increased in speed.nnNo debounce pro
“I should add that they “upgraded” the software on the cable box. Now if you select “record series (only new episodes)” it is incapable of distinguishing which is which so it records all occurrences of the program including past episodes. It recorded 9
“”Pushing the power button turns one off and the other on.”nnArrgghhhh — I have that problem with the TV in the bedroom — the real problem is that my wife doesn't hold the Power-Off state long enough in the morning after I've set off for work, so the
“”And there is no obvious way of even figuring out how to stop recording the series.”nnYes! I have exactly the same problem — my wife set the system recording “Dallas Cowboy Cheerleaders” (or something) and “Little People” — but she somehow set i
“@Max… “… but I couldn't bring it with me to the USA.”nnMax, Max, Max…haven't you heard of phase locked loops? Derive 50 Hz from the US 60Hz, put it into a power amp and a transformer and get a 230V 50Hz output that will keep your clock running
“Speech recognition has come a long way in the last few years, but it still has a log way to go. Cynthia sends a lot of text messages and I noticed that she is careful to hold the phone directly in front of her mouth and speak in a slow, almost robotic so
“Darn, foiled! All the way through reading your comment I was planning on including a link to the Scottish Elevator video — then right at the end I realized you'd beaten me to it!”
“So can I expect that your Cunning Chronograph will include user friendly alarm setting?”
“The friendliest of all … there is no alarm and it doesn't wake you up LOL”
“I have an intense dislike for loud noises early in the morning so I was thinking about making an alarm that gradually increases the LED brightness to cause me to think that the sun was coming up.nnMy current “alarm” is a lamp on a timer…”
“The Dragon software on the PC is pretty amazing — but I think we still have a ways to go”
“Actually, Gina didn't like the sound of my alarm, so I stopped using one (unless it's a special occasion like having to get to the airport to fly somewhere). I just get up when I wake up which, thanks to the stupid doc, is typically around 6:30am”