[Justin]’s friend [Steve] injured his spine a while ago, and after asking what would make [Steve]’s life simpler, the answer was easy. [Steve] missed reading books. Sure, e-readers exist, but you still need to turn the page. Now [Steve] can do that with his voice thanks to some microcontrollers, Bluetooth modules, and a voice recognition module.
A voice-activated page turner wasn’t the first attempt at giving [Steve] the ability to turn a page on a Kindle. The first prototype was a big blue button that sent a keyboard code for ‘right arrow’ over Bluetooth, turning a book one page at a time. This worked well until multiple pages turned, and with no back button it was a major nuisance.
After playing with the voice recognition in an Amazon Echo, [Steve] and [Justin] wondered if the same voice recognition technology could be applied to page turns on a Kindle. With a voice recognition Arduino shield from SparkFun it was easy to detect a ‘page down’ command. A Bluetooth module sends HID commands to a Kindle, allowing [Steve] to read a book with only his voice.
[Justin] put all the design files for this build up on Github.
[FreddySam] had an old Omnitech GPS which he decided was worthy of being taken apart to see what made it tick. While he was poking around the circuit board he found a couple solder pads labeled as ‘MIC1’. This GPS didn’t have a microphone. So, why would this unit have a mic input unless there is a possibility for accepting voice commands? [FreddySam] was about to find out.
The first step to get the system working was to add a physical microphone. For this project one was scavenged from an old headset. The mini microphone was removed from its housing and soldered to the GPS circuit board via a pair of wires. Just having the mic hanging out of the case would have been unsightly so it was tucked away in an otherwise unfilled portion of the case. A hole drilled in the case lets external sounds be easily picked up by the internalized microphone.
The hardware modification was the easy part. Getting the GPS software to recognize the newly added mic was a bit of a challenge. It turns out that there is only one map version that supports voice recognition, an old version; Navigon 2008 Q3. We suppose the next hack is making this work with new map packs. This project shows how a little motivation and time can quickly and significantly upgrade an otherwise normal piece of hardware. Kudos to [FreddySam] for a job well done.
Some citizens can control their language and others cannot. What is a civilized society to do? In a dystopian future you can count on electronic monitoring. But wait, the future is now… or it will be in a few weeks. [Tdicola] is building the verbal morality monitor from Demolition Man as his entry in Hackaday’s ongoing Sci-Fi Contest.
Currently the project is in the early planning phase, but holy cow this is a fantastic idea! For those that didn’t see the glorious 1993 feature film, the young [Stallone] pictured above is accepting a ticket (as in: he must pay for his violation) from the tattle-tale wall-mounted computer. Everything about this device is completely feasible using today’s tech. It needs voice recognition and a list of naughty words, a way to play a pre-recorded message, and a printer to spit out the tickets. The build log for the project outlines all of this, as well as possible cost and sources for each.
We’ve been wondering who it was that injected an Artificial Intelligence into our project hosting system. We see both [tdicola] and [colabot] are on the team for this build. The names are too conveniently similar to be a coincidence, don’t you think?
[Ben Yeh] wrote in to tell us about this voice-controlled chess robot he built along with three others as a final project for their Georgia Tech ECE 4180 Embedded Systems Design class.
To handle the speech recognition they grabbed an EasyVR board. This is a fine solution because it prevents the need for a computer to process voice commands (remember, it’s an embedded systems class). This concept breaks down when you find out that the desktop computer next to the robot is where the chess game is running. Perhaps that can be moved to a microcontroller by the next set of 4180 students.
The robot arm portion of the project is shown off well in the clip after the break. Normally we’d expect to see stepper motors driving the axes of a CNC machine but in this case they’re using servo motors with built-in encoders. The encoders are i2c devices which feed info back to the main controller. There was a parts ordering snafu and the z axis motor doesn’t have an encoder. No problem, they just added a distance sensor and a reflector to measure the up and down movement of the claw.
Continue reading “Voice controlled chess robot”
Speech recognition is usually the purview of fairly high-powered computers chugging along at hundreds of Megahertz with megabytes of RAM. Bringing speech recognition to the low-power microcontroller you’d find in an Arduino sounds like the work of a mad scientist or Ph.D. candidate, but that’s exactly what [Arjo Chakravarty] did. He developed the μSpeech library for the Arduino to allow for speech recognition for a limited set of voice commands.
Where most speech recognition systems use FFT and very fancy math to determine what phonemes a user is saying, [Arjo]’s system does away with this unnecessary complexity in favor of using very, very basic integral and differential calculus.
From [Arjo]’s user guide for μSpeech (PDF warning) we can see it’s possible to connect a small microphone to the analog input of an Arduino and accept voice commands such as ‘left’, ‘right’, and ‘stop’. The accuracy is pretty good, as well – 80% if μSpeech is trying to recognize words, and 30-40% if μSpeech is programmed to recognize single phonemes.
Sadly we couldn’t find a demo video of μSpeech in action, but you’re more than welcome to grab it via github for your own project. Send us a video of μSpeech in action and we’ll put it up.
It’s entirely possible to use a computer without the aid of a mouse or trackpad. Shift and arrow keys will get you very far, but that is entirely too taxing. [Stephen] came up with a really neat way to control a mouse with your voice, a project that is sure to find its way onto the desktops of those with mobility issues very quickly
The voice controlled mouse works in conjunction with the voice recognition built into OS X, a little AppleScript, and a touch of Python. When the user says, ‘show grid’ a 10 by 10 grid numbered 1 to 100 is displayed on the screen. By saying ‘thirty five,’ the cursor moves to the 35th cell in the grid. From there, the mouse can be controlled by speaking cardinal directions such as South and Northwest.
[Stephen] put up a very clever demo of his Voice Mouse project available after the break. Even though he did have a little difficulty with his mac recognizing a few of his spoken commands its light years ahead of trying to navigate the web with just shift and arrow keys.
Continue reading “Controlling a mouse with your voice”
[Youchun Zhang] and [Annie (Wei) Dai] found a way to differentiate vowel sounds using an ATmega644 as their final project for a microcontroller design class. Voice recognition is not out of the ordinary, but most of the time it uses a computer, smart phone, or specially designed hardware. This implementation uses an ATmega644, a microphone connected via an op-amp, and a few buttons. In the demonstration after the break you’ll see that they’re outputting status data to Putty via an RS232 connection, but that’s just so you can see what’s going on inside the chip. It’s what’s doing all of the hard work.
In order to tell the difference between vowels, the waveforms of each sound were analyzed using MATLAB during the research phase. That analysis allowed the team to assemble data for each sound that contained the peaks least often found in the other sounds. Now the microcontroller analyzes incoming sound, comparing it to that data set. The analysis is snappy, happening in real-time thanks to the team’s use of the Fast Walsh Transform. It turns the sound into a set of square waves and presents them as a 64 bit sample. The result can be used as a password protection scheme, but as far as we can tell this doesn’t key to just one person, anyone who knows the vowels of the password can use it.
Continue reading “Vowel recognition using an ATmega644”