You are probably familiar with how to use plugins, therefore I won’t bore you with the details and jump into the meaty part! AutoVoice is a powerful voice command plugin, that allows you to set custom voice commands and respond them in various ways. With a little patience and clever execution, you could have intelligent conversations with your phone.
AutoVoice comes with a set of variables that you can use. If spoken command is: ‘Google I like the notenoughtech’ these are as follows:
- %avcomm = Google I like the notenoughtech
- %avcommnofilter = if filter was set to Google , variable = I like the notenoughtech
- %avword() = (an array made of words) %avword1 = Google , %avword2 = I , %avword3 = like … etc
- the variables created by regex matching groups.
Regex variables are probably most useful, but also more complicated. You can use Regex rules to pick up part of the text and assign it to the matching group, which in turn will populate a new variable. Regex: I like (?<website>.+) will create a variable %website = notenoughtech
The plugin alone has few settings that need to be enabled. I would recommend enabling OK Google integration, which will allow you to use both AV and Google voice commands. Other options of the app allow you to set a hot phrase if you fancy referring to your phone per HAL, customise the timings or check the logs to troubleshoot commands that might give you some issues.
AutoVoice Conditions
Before you panic about which should be used: state or event, don’t worry, most of them work almost the same, and state conditions were kept mostly for compatibility issues. Aim for events whenever you can, as they work slightly faster according to the FAQ.
State Condition
BT Pressed
Two options that have the ability to respond to various buttons available on a BT headset, which is not associated with default voice recognition. Because BT headsets aren’t made the same, this will require some trial and error testing to see which button presses can be intercepted.
No Match
This condition will trigger when a command was spoken and it doesn’t have a matching profile. The command is recognized, therefore all AV variables will be populated accordingly. You can also use Command ID to filter which voice command chains you wish to monitor with this action. Unlike Rec Failed, voice recognition was able to understand your input.
Noise
This condition will respond to a specific level of noise. You can set a value or use the current reading to set the threshold.
Rec Failed
This condition will trigger when the command has failed to be recognized. Bear in mind this is different from no match, as, in this condition, voice recognition had a problem (could be due to network or ambient noise) to make up what you said.
Recognized
The condition will respond to a recognized voice command. We get a ton of options here to specify your filters. This way we can precisely describe what commands we want to respond. We have the ability to use RegEx, Commands ID and also add additional words that could be misunderstood by voice engine. We get the ability to respond to continuous commands only, or one’s issues by a specific device. This fine control allows you to set the AutoVoice just the way you want.
Event Condition
BT Pressed
Two options that have the ability to respond to various buttons available on a BT headset, which is not associated with default voice recognition. Because BT headsets aren’t made the same, this will require some trial and error testing to see which button presses can be intercepted.
Google Results
Depending on the device it is possible to use this event to react to Google results. On Nexus 6P I have ‘can’t reach google‘ and ‘song search‘ available
No Match
This condition will trigger when a command was spoken and it doesn’t have a matching profile. The command is recognized, therefore all AV variables will be populated accordingly. You can also use Command ID to filter which voice command chains you wish to monitor with this action. Unlike Rec Failed, voice recognition was able to understand your input.
OK Google Now
This condition will respond to our OK Google! voice command. We can react to it and do additional tasks.
Rec Failed
This condition will trigger when the command has failed to be recognized. Bear in mind this is different from no match, as, in this condition, voice recognition had a problem (could be due to network or ambient noise) to make up what you said.
Recognized
The condition will respond to a recognized voice command. We get a ton of options here to specify your filters. This way we can precisely describe to what commands we want to respond. We have the ability to use RegEx, Commands ID and also add additional words that could be misunderstood by voice engine. We get the ability to respond to continuous commands only, or one’s issues by a specific device. This fine control allows you to set the AutoVoice just the way you want.
AutoVoice Actions
Continuous
This action enables continuous voice recognition from AV, with an option to select a language and creating a custom notification.
Ctrl BT
This action changes the audio settings and sends all the system audio to the BT headset if connected.
Curr Noise
This action measures ambient noise for X seconds and provides results in %acnoiselevel
Noise
This action enables continuous ambient noise recognition. Starting this service is needed for AV Noise condition. You will get an option to create a notification for this fact as well.
Recognize
This action creates a notification and starts to listen to your voice input. You can specify a remote device it’s executing it on (subject to network connectivity), dress up the voice dialog with custom text, or hide the overlay window itself. ~You can specify the timeout, and input method (like a headset). You can select the language options as well. This action will generate a set of variables that will contain your command. Essentially action acts like the recognized condition, capturing your voice input according to predefined filters.
Set Cmd Id
This action allows to assign or clear the Command Id to your last voice recognition. When the command is recognized we can add an ID to it to allow chaining voice commands. However doing so, sometimes can cause issues, as Tasker runs your voice command against every single profile you have. This could lead to profiles without filters but with the same IDs being fired before the main profile. More info here.
Test Command
This action is mainly to test or troubleshoot the voice profiles. You can pass the command without saying it to the mic, perfect for the times when you are editing your profiles on a train or something. You get the ability to pass it as the continuous command or execute this on other devices.
Feel free to follow me on social media as it helps me grow, share it, and comment if you need any advice. You can also support me, and fund my projects directly.