Hands-free automation: Tasker and AutoVoice Part 1

Tasker does a lot. And it does even more with plugins, of which the unofficial king is AutoVoice. AutoVoice brings new worlds of functionality to Tasker and whatever device it runs on. On newer phones, AutoVoice can add to the hands-free functions of Google Now with little effort. On older phones, AutoVoice can replicate much of Google Now and its hands-free functions. And while I've covered it before, repeatedly, today, we're gonna dive a little deeper into Tasker and AutoVoice.

Okay, Google Now… let's begin.

AutoVoice is a Tasker plugin by Joao Dias, who has devoted a lot of time and energy to AutoVoice. He has also developed a number of tutorials and use cases for it, which you can find on his YouTube channel as well as his website. The playlist above showcases his introduction into his plugin and is definitely worth a quick look.

Triggering AutoVoice

Google Now settings in AutoVoice

There are two major methods for AutoVoice, the first being using the traditional AutoVoice Recognize, and the second being pulling commands as they're given to Google Now. On any phone with 'OK Google' functionality or Touchless Control (yay, Moto X), the second method is simpler and in some cases much quicker. I've outlined the steps for this in Tasker tips and tricks, but basically, once you turn on Google Now integration in the AutoVoice app (or AutoApps, the subscription app that gets you into all of Joao's plugins), and follow the in-app instructions to ensure that it is in fact receiving Google Now commands.

AutoVoice Recognize can hide in a lot of places if you can't use Google Now.

Without this, we'll have to use AutoVoice Recognize, which isn't necessarily that hard, but it does mean you have an extra step for this all in that you'll need to place AutoVoice Recognized either on the home screen on have it triggered somehow, be it a gesture action or a trigger like Pressy. On my old ICS phone, my AutoVoice Recognize trigger was long-pressing the search capacitive button.

AutoVoice Recognizing configuration. Not a lot needs doing here most times, but here it is if it comes down to it.

You'll also have to possibly configure the AutoVoice Recognize task depending on if you use a Bluetooth headset, length of listening time, language, et cetera. You hopefully won't need to tweak them, but they're here if you need them. For the purposes of this tutorial, I am not getting into Continuous Listening; we can save that for another day.

Creating an AutoVoice Profile

Some of my many AutoVoice profiles

As with all other profiles, we have a task and a context. The task isn't important right now, but the context certainly is. This will be an Event context called 'AutoVoice Recognized'. Here, we will set our command filter, which is how AutoVoice will decide which profile it's going to trigger. Now, this will trigger every time you speak this word into AutoVoice Recognize or into Google Now (if that's your trigger method), so I wouldn't pick something boring or something you'd say for multiple things. For my example, I'm using the Command Filter of 'Perfect Day' because that's not exactly a common thing.

The beginning of a long list of AutoVoice Recognized settings

Now, after opening the context to configure it, we'll input our command filter up top before moving into the various options. I'm going to explain each one now rather than make examples for them all.

  • Command Filter: This is where we choose the magic words that trigger the profile. The "Open Sesame" to the 40 thieves' den, if you will.
  • Command Filter Invert: This will invert it, so every command lacking this phrase will trigger this profile. I'm not entirely sure why you'd ever want that, but I'm sure there's a use case I just haven't discovered for it yet. Here it is if you have something you want to trigger a lot.
  • Speak Filter: If you don't trust the voice recognition that much, you can record your trigger here, so that — hopefully — it'll match up when you repeat your trigger in AutoVoice Recognize or Google Now. Also good for long triggers or lazy typers.
  • Clear Filter: This clears the Command Filter, spoken and written, so as to allow a clean slate upon which to set your command.
  • Exact Command: I must confess, I do not often use this. I especially do not use this when triggering through Google Now. For this setting, it means that this command will trigger once when the exact Command Filter and ONLY the exact Command Filter are spoken. Exact Command is also mutually exclusive to Contains All and Use Regex.
  • Use Regex: This will employ regex pattern matching to try and match the Command Filter. I used this more when I was employing AutoVoice Recognize, but since I moved to Google Now, it's been replaced by Contains All. Use Regex is mutually exclusive to Exact Command and Contains All.
  • Contains All: No matter what order or the length of the command, if all the words of the Command Filter are there, Contains All will ensure that it triggers and executes. I use this with Google Now triggering, and also because it gives me greater flexibility in my commands. Variety is the spice of life, after all.
  • Precision: This setting determines how many variants of your command will be drawn from AutoVoice Recognize to match to commands. It is preset to 5 and can be adjusted up or down depending on your command complexity.
  • Command ID: Command ID is one of the ways that Tasker can help keep itself from getting out of control with chained commands. The Command ID subsection is useful in precise sequences to ensure your voice commands don't skip steps without you. Here is where you set this profile's Command ID, and as this is something that will only be seen in the programming and never spoken aloud, feel free to get creative here.
  • Last Command ID: In order for this profile to be triggered, the command ID set by previous profiles/tasks (Set Command ID is also a standalone action, if you need to set it before a series of commands). If the Command ID set by the previous profile is 'bunny' and the one this profile is looking for is "fox," it won't trigger.
  • Last Command ID Regex: This will use regex pattern matching on the Last Command ID matching. Just in case you need it, but you probably won't.
  • Last Command ID Invert: This profile will be be triggered only if it does not match the current Last Command ID. Invert here makes a little more sense than in the initial command.
  • Trigger Word: This is the Trigger Word to activate the profile during Continuous listening in AutoVoice. Not being used today, but here's where it is, hiding at the bottom.
  • Trigger Word Exact: Just as before, the trigger word must be exact to trigger it in Continuous with this setting. This is slightly more helpful if you've set continuous settings for very long periods of time.
  • Trigger Word Regex: Use regex pattern matching for the trigger word, if needed.

You will not need all of these — or even most of these — in many cases. The Command ID section can help you group command together for things such as voice-replies to texts or email. The Trigger Word section can help Continuous listeners down the line. And the Command Filter is the regular trigger for the profile.

Our 'Perfect Day'. This is the easiest way to see how yours is set up, so if you ever need it diagnosed, this is what you'll share.

For our example, my Command Filter is "perfect day," I've enabled Contains All as I'm using Google Now, and I've set the command filter of 'at sea' for the upcoming profile that will follow this.

The context for our Sunset perofile. Note the 'Last Command ID' is indeed set!

Now, we make that next profile. The Command Filter this time is "sunset," and I don't mind using so generic a Command Filter because of the Last Command ID being set to "at sea." Contains All is still enabled, though on a one-word Command Filter that's not as much of a necessity. We choose our task for the profile, and now to test.

'Ok Google Now… Perfect Day to be at sea…'

If all went well, our first task was triggered. And now...

'Ok Google Now… I cannot wait for sunset...'

And if all went well, our second task executed. However, if we haven't used the first command, then it's still safe to ask Google Now how long it is until sunset.

And this is just the bare, basic beginnings. In our next Tasker foray, we'll get up to a new level of AutoVoice versatility: replying to Hangouts messages via voice, something not even Moto Assist can do right now. In this method, we'll also be playing with Joao Dias's newest Tasker plugin, AutoInput. Do you already have AutoVoice? Or have you shied away from one of Tasker's most popular (and somewhat daunting) plugins? Do you have any totally boss projects made with AutoVoice? Feel free to show them off in the comments, and as always, feel free to request something else for us to do with Tasker down the road.

Ara Wagoner

Ara Wagoner was a staff writer at Android Central. She themes phones and pokes YouTube Music with a stick. When she's not writing about cases, Chromebooks, or customization, she's wandering around Walt Disney World. If you see her without headphones, RUN. You can follow her on Twitter at @arawagco.

  • I feel so dumb when it comes to Tasker. I can't even follow along in the step by step video. I guess the UI and my brain just aren't compatible.
  • Same, I do all sorts of stuff to my phones and don't use Tasker because I'm not sure how to set it up Posted via the Android Central App
  • It's all programming, it's just learning the language. Parlez-vous Tasker?
  • Using an app for end users is not programming. Tasker is also not a programming language. Trigger has more than replaced all of my Tasker needs. Posted via the Android Central App
  • Omg this is to much thinking for a Monday Posted via Android Central App
  • Don't blame me, I wanted this pubbed on Saturday.
  • Awesome post! I've been wanting to learn how to use Tasker for awhile. Thanks, Ara!
  • Commander seems to have an easier implementation than autovoice... but I'm no pro. With Commander you can set any tasker task to run with a keyword after you say "OK Google Now..."
  • AutoVoice does this, too.
  • Yeah it does, but autovioce is extremely complicated compared to commandr
  • Commandr doesn't allow nearly as much flexibility as AutoVoice. For example, you can't do this with Commandr: https://www.youtube.com/watch?v=-4YN_Gy1SJ4&index=10&list=PLEywricjgUKxy... Essentially, with commandr you can only call tasks. With AutoVoice you can say stuff that affects what the tasks actually do. in the video above, what you say can be used to look up contacts, reply to messages or write some text. None of this is possible with commandr.
  • Wow that's pretty cool! Thanks for sharing that
  • Anyway to play certain playlist or send text messages with voice commands over Bluetooth? This is what I miss the most about iOS, Siri could do all of this. Posted via Android Central App on 1+1
  • Sending messages with voice commands is built in to Google Now, I do it all the time in my car over my bluetooth head unit that has a mic built in. Playing a certain playlist isn't likely though because that would require that sort of integration with the app that you use for music
  • If you wanted to play a certain playlist, or open any app and do anything on it for that matter, check out autoinput by the same app developer. You can say 'You too' to Google now, have auto voice recognize it, then use autoinput to open the app and start playing the album. And no, auto input doesn't require root. I use it to get my phone ready for watching Netflix on chromecast using auto input by simply saying the show name.
  • Yes, but I haven't done it myself.
  • Great article, thanks. I just got comfortable with time, state, and location based triggers for Tasker. Makes the phone a true smart phone. I'll give this one a closer look and see if it will add anything to what I already have. Nerd hug!!!
  • Nerd hug accepted!
  • To be honest, I really can't jump on the "talking to my device is efficient" bandwagon. How many people do you really see walking around telling their device to do stuff that can be accomplished with a discrete quick tap or turn of the device. Every time people do talk to their devices, they sound like they are talking to a hard of hearing 4 year old, repeating the same phrase aloud until something finally clicks. I love tasker (used it for years now) and look forward to your articles, but all these autovoice articles that you write, I just have to skim over. Just my $0.02. And I can't wait for you to tackle more than just intro articles to tasker, again, my $0.02 (I know these articles help the tasker timid demographic quite a bit, I'm just saying, I look forward to the main courses - variables, interdependent profiles, etc. and not appetizer 102 after appetizer 101.)
  • I for one think it's incredibly handy especially for reminders. While I'm driving, at the lockscreen I can just say "Ok Google" "Remind me to pickup my check at 10pm" and it creates a reminder. I would've had to have unlocked my phone>Swiped right into Google Now>Click add a reminder>Typed out my message>Set a time> Confirm.. Those are way too many steps. Something that would have taken me at least 1-3 minutes (driving looking at phone, looking back at road, putting phone down, looking back at phone..etc) Now takes just seconds thanks to voice automation, and doesn't put me in danger.
  • Do you use tasker to do this? It sounds like you're just using google now's features. It's true, google now does have some handy things going for it, but for me, a smart phone is something that allows me to accomplish things in life without be obtrusive to those around me... using a device safely while driving on the other hand does have advantages. But I find more often than not with tasker profiles, it takes a lot of testing to get a profile just right, and testing profiles for driving safety would require a lot of patience!
  • Yeah, it'll be a while for a bit of that, simply because most of this is about helping people get the basics of Tasker and learn to do more with it. Also, I haven't used that many variables myself yet. And I've been using Tasker for two years.
  • Oh! Variables are where it's at! So many more doors open when you start to get the hang of variables in tasker... I've easily doubled the amount of profiles I've made and used after having played around with variables and seeing what they can do... but I've only scratched the surface of all the things tasker can do w variables, I know there is much more tinkering and dabbling to be done to really start to use variables as they are meant to be used in tasker! Hence why I'm always eager to see more of your write-ups Ara!
  • Yup. Variables are the shit, but they still scare me a little. I'm sure I'll be getting more into them as I dive into AutoInput, though
  • I have a Nexus 7 2012 sitting on Charge in the Livingroom which means the always-on listening thing with Google Now works, So I can simply shout across the room "OK Google, turn on livingroom" and the livingroom lights turn on. I can't turn them on manually - the alternative is to pick up the phone, or laptop. Get past the lockscreen. Open an app on the phone or load an internet webpage on the laptop and then click the button to toggle the lights on or off. Next step is going to be OK Google, pause TV. Because if I get a phone call and I answer it - it's then awkward to pause the Chromecast while trying to have a conversation because you have to hold the phone at an odd angle to still hear what someone is saying while also having access to the notification bar to get to the Chromecast controls.
  • OK - here are my 2 favourite things I use Tasker, AutoVoice and some PHP for: 1) Voice control of the Logitech Media Server system - https://plus.google.com/114291878202038589039/posts/hPv2PzbjvNo
    2) Voice control of electrical devices (lights) and also voice requests for the status of different rooms or the whole building. https://plus.google.com/114291878202038589039/posts/WobTes5YoHs
  • If only the Ok Google hot word worked with anything but English US (Specifically English AU). Autovoice and the Google Now integration sounds great, but currently the Ok Google hotword only works in the Google Search app for English AU. Great article though! Sony Xperia Z2
    Nvidia Shield
  • Great article. Looking forward to the touchless hangouts one too :) Just to give you an example of a situation where you would use “Command Filter Invert”: touchless hangouts. When you’re chatting with voice, everything you say will be written in the hangout, unless you say “done”, which will exit the hangout. For this, you can use the command filter “Not ‘done’” :)
  • Has there been a follow up with the Hangouts integration yet? I searched the site and the authors articles and didn't' find anything with a similar title.
  • Thank you for this article Ara! I have been using Tasker and most of Joao's Autoapps for a year now. I did not understand all of the options in Autovoice before now. I have mostly found other porfiles and copied and tweaked them to fit my needs. Cannonboy wants to move on to variables and advanced things that I have used. Just not without copying and not understanding what I was really doing. I look forward to hopefully many more articles just like these! To anyone who might be thinking about trying Tasker and all of Joao Dias amazing pluggins . I encourge you to try. Just ask in Joao's Google Plus community and he or someone there will help you. Hands down there is not a better developer that supports their apps than him. https://plus.google.com/communities/110193399489813640793