For a project I need to start my PC using voice command. I thought to made up an voice controlled system to turn on my PC. As far as I know, when I press the turn on button-2 pin's on the motherboard get short and PC starts. I think a relay circuit may solve it, but how can I process the voice command?
-
1\$\begingroup\$ Would you be looking at any voice, or specific command words, or full language parsing? Also, have you searched for voice recognition modules (shields) for your platform of choice? \$\endgroup\$– Anindo GhoshMar 21, 2013 at 12:50
-
\$\begingroup\$ There are some shields out there that do VR, including multilanguage VR: Are you looking for something like that, or to roll your own? \$\endgroup\$– Anindo GhoshMar 21, 2013 at 12:51
-
\$\begingroup\$ for example,when i just say "on" that it will start working.i just need this one command. \$\endgroup\$– user20501Mar 21, 2013 at 12:54
-
\$\begingroup\$ Yes, then EasyVR will do your job, in several languages. Would you like me to make this into an answer? \$\endgroup\$– Anindo GhoshMar 21, 2013 at 12:56
-
\$\begingroup\$ @user20501 - the problem is not so much detecting "on" but distinguishing it from other words/sounds which you do not intended to have that affect, especially when "on" could be spoken by people with different voices/accents, under different conditions. \$\endgroup\$– Chris StrattonMar 21, 2013 at 15:10
2 Answers
An Arduino approach (because the question mentions Arduino) for achieving the result desired, i.e. an action triggered from a specific voice command:
- Buy the EasyVR voice recognition shield for the Arduino, install the example sketch, and modify it to turn one of the unused (by the shield) GPIO pins high when the "on" voice command is received.
- From prior voice control experience, it would be recommended to use a longer command word or phrase rather than a single syllable, else false positives will be too high.
- EasyVR needs to be trained to an individual's voice, and if that individual some day has a cold or laryngitis, results may be interesting.
- Wire up the GPIO pin being controlled in the first point, to either a transistor, a MOSFET, or some other switching device that can be operated by low current, ideally under 30 mA.
- With a suitable choice of MOSFET, a relay may not be needed at all, to connect / disconnect the "power-on" line on the PC.
- Relays that will operate directly off a microcontroller GPIO are expensive (certain Solid State Relays) or not common.
Ensure that the Arduino shares a common ground with the PC, or, if that is not an option, an optoisolator stage may be needed between the device and the PC, to avoid letting out the magic blue smoke due to mismatched grounds.