Android -- Voice Control with Tasker and AutoVoice (cont.)
Let's go over command chaining this time.
First, some motivation for chaining. Again, feel free to skip my rambling as usual.
The holy grail of designing voice control is to have a conversationally interactive computer ala Star Trek's. That means your answers have to be natural conversation-wise. I don't know if you have noticed but conversations are really really difficult to nail down. We have a good intuition of what each other means when we say something, but to sit down and analyze why we know we mean it that way is nigh impossible.
AutoVoice has the same problem. It does not understand that "Yes" means "I do want to turn off the screen, go ahead and activate that task." Or maybe it does, but then it will be confused several hours later when, by "Yes", you actually mean "I do want to turn the volume down."
This is where command ID comes into play. "Yes" alone may activate a thousand profiles, but only the one(s) with the matching ID will get run.
Case study: GPS is one of the annoying things that you always forget to turn off. For me, I don't turn it on unless I absolutely need it, and then I turn it off multiple times (automatically of course) just to make sure it's dead. Let's say you want to open the Maps app with voice control, thing is, if you want to get driving directions or navigation to some place, GPS would be useful. But if you just want to look for the phone number of that GameStop store, it's not.
Let's then try to build a profile that will 1) turn on the Maps app, and 2) specifically ask if you want to turn on GPS.
Step 1: The map. It's relatively straight forward. Make a new profile, I call mine "Voice - Maps" for obvious reasons. It queries for my voice input and looks for "open map" as the keyphrase and "opening map" as the Command Id that uniquely identifies this particular profile. Then it launches the app Maps. Like so:
For the inexperienced, the context is:
State > Plugin > AutoVoice Recognized
Command Filter: "open map"
check the Event box (at the top)
Command Id: "opening map"
The task is:
App > Load App > Maps
Now, since Tasker has to ask us if we want to turn on GPS, Launch Maps (the Task) will also have to do that. Set it up as shown: + Action > Misc > Say > Text = "Do you want to
turn on GPS?"
After asking, Tasker should launch up the AutoVoice query task for you. If you forgot how to do this it's: Plugin > AutoVoice Recognize > Edit and then come back out.
Finally, you have the following result:
Now you have to respond to it. Let's make a GPS-on profile that specifically follows this Launch Maps task, then.
Step 2: Responding to the question
Profile Name: Voice - GPS On
Context: State > Plugin > AutoVoice Recognized > Event Behavior + Command Filter = "yes" + Last Command Id = "opening map"
Task: Misc > GPS > On
You should remember the last bit from the previous profile. This is how you link commands.
Comments
Post a Comment