Screenshot_2013-06-21-02-46-53Tasker’s Say action allows you to use a Text To Speech engine to generate speech based on text input. It’s one of the most useful Tasker actions out there, as it can be used to give you all sorts of spoken feedback in a variety of situations. Unlike most apps that use Android’s TTS system, however, the Say action can actually use TTS engines that are installed, but not set as the default/active TTS engine.

TTS is a system-wide feature of Android, and in most cases, apps that use TTS will use whatever TTS engine is set as the active one in the system settings. This can be problematic for a lot of reasons; first off, for bilingual users like myself, it forces a monolingual restriction on the user that is just outright annoying. Second, later versions of Android have a beyond ridiculous restriction to where you cannot change accessibility settings if the TTS language and system language are different, even if the difference is as simple as US vs. UK English. Third, some voice engines have issues on some Android versions, and so are unreliable and probably shouldn’t be used as the default. There are likely other issues too, but those three are ones I’ve personally experienced.

Tasker’s Say action however can use any installed TTS engine, even if it’s not set as the default in system settings. This may be OS/device dependent, but on my device at least, all I need to do is to use the TTS engine picker when configuring the Say action and pick whatever specific TTS engine I want, instead of leaving it as default.

You can even use variables for the TTS engine, meaning that you could do something like create an AutoVoice-based translation service where you say something like “translate how much does this cost into german”, have it translate it, and actually speak it back to you in German (obviously you’d need to have a German TTS installed and create the task for translating and outputting in the right language).