irobot58
Tired of yelling at your robot? Getting the silent treatment and dumb stare? Windows VR to my knowledge does not have a verbal "that was unintelligent" response for "garbled/low volume/high volume speak" . It does try or guess what we want it to say when accepting dictation or commands but I want something better!
With the help of a few cheap parts and a few ADC ports I believe I (we) can achieve some satisfying results. Two cheap sound boards , two ADC ports and a few easy ( thank you Rich and others) scripts, plus using the sound Movement Panel with it' s accessible variable would enable the robot to give out a variety of verbal responses. Using a random script generator a long list of responses can be rewarding, such as " what did you say... speak more clearly....WTF?....speak louder!....Stop mumbling.. etc ." So that's the vision/desire! Now for the block solution (I hope) .
Starting with a sound detector something like this(http://www.pololu.com/product/1620 ) placed close to the PC microphone/headset and wired to an ADC port. With a Command script that monitors voice levels and a sleep function which would.... IF GETADC(adc0) 10)... turnoff the first incoming ADC command script. When you don' t want the robot to "listen" , use another script to stop it. When you want the robot to start listening, turning on the outside sound sensor can be achieved with a digital port and say a touch sensor placed on the "ear" or head! Of course use the MS VR to "start listening " as well! IVR's used in telephone systems and other automated VR's " what where you trying to say, etc " to help with understanding what the user wants is kind of where I am going with this, but without the guessing!
Perhaps ...a further command script could be developed by @DJ that would achieve this concept. Maybe call it " unintelligent Response" similar to sound movement or personality generator with a few user inputs . IE number of failed times and responses to failed " VR " light turns on or verbal response.
This whole concept seems a bit "much" but it can add another dimension and more personality to a robot. I welcome and encourage comments and other simpler ideas to give this concept a chance!
Brain storming, Glen (IRobot 58)
Irobot58, I agree that would definitely add another dimension to a robot. If it could be accomplished without adding too much to the robot file size when loading or saving to cloud without timeouts. You are saying if VR does not trigger, then some response. My old Covox voicemaster that I used on Commadore 64, would indicate if a VR command was close (a rating number), otherwise you could just program it to say "please repeat". With a very small sample rate, it too often would say that! In my old "Basic" robot program I could "peek" the output code, then using IF/then statements verbalize a response. If you could "peek" the VR output number code on Windows (if there is one), then that value could trigger an appropriate verbal response. Steve S
@Steve ahhh the Commodore 64, those were the days! Wow, how " advanced was that" with the Covox voicemaster being able to verbalize a response! I fear the Windows VR will not be able to "peak" which is why I am suggesting a couple of sound detectors and a few well written scripts! Thanks for the reply Glen
The EZ-Script command WaitForSpeech() will return "timeout" if nothing is heard in the set timeout period, this could be used to trigger the "sorry I didn't get that" responses with a simple IF statement.
Personally I don't use ARC for the voice recognition side of things, I use VoxCommando, it isn't free but it is much more powerful since it can use payloads from xml files which could be automatically generated. This is the same process I use on Jarvis to save me having to add anything to anything when I add new artists to my music library, new films to my movie library, new TV shows to the library - I even have him set up now to add groceries to the payload file if I haven't previously told him we are out of something.
VoxCommando can communicate with ARC through Telnet and can therefore trigger scripts or responses. It can also communicate with EventGhost (free software) which basically means it can communicate and control pretty much anything that is accessible from the PC it is running on.
If you are open to play and learn with other software give VoxCommando and EventGhost a try. You can get a trial of VoxCommando for free which is fully functional but limited to a few commands before it needs to be reset, so you can at least have a look at it without spending anything. Just be aware that EventGhost isn't exactly well documented and has a steep learning curve.
Thank you once again @Rich! ( I hope your hitting the "Easy Button" ) Your first paragraph was the answer! I wrote a short script which illustrates that command script.. A speech recognition control is opened and programmed for "yes" and a generic script command with the following ...
$value=Waitforspeech(5,"yes") Waitforspeech(5,"yes") If ($value = "timeout") say("what was that") else () endif
I will explore VoxCommando and Telnet and EventGhost...though I am unsure of what the difference is between Telnet and EventGhost and how they interact with ARC . I appreciate your advice Glen EDIT: @Steve I hope your reading this! and @Rich I am sorry I didn't flag this thread as " require assistance" and you would have received an acknowledgement!( a formal one I mean)
Stick with ARC for now then, it's capable of what you are looking for I do plan a tutorial for using EventGhost & VoxCommando when I get time.
As for acknowledgement, last I checked I was on 148 resolved questions so I can let one or two slide (although acknowledgement that it helped is always nice to receive in any form)