Feb 2025 edit: I’ve switched all my android devices to use wyoming satellite/wakeword through termux (see info on this method here: GitHub - pantherale0/wyoming-satellite-termux: A set of scripts allowing you to run wyoming-satellite on Android with Termux (modified for service usage)). I’ll leave everything else as-is below in case there are others with a preference for this Tasker method.
Summary -
Combining the Hotword Plugin android app with Tasker (or Automate) allows an android tablet to run local wake word detection that drops seamlessly into the HA Assist service.
Using any android device that runs Android 10+:
- Install “Hotword Plugin” (link below)
- Install “Tasker” or “Automate” (link below)
- Create an automation routine to call the HA companion apps “assist” function whenever the wakeword is detected. (See replies below with detailed explanation/pics if you need help creating it)
Notes -
You can create custom wake words via multiple methods, the easiest being to just use this web-based tool maintained by the hotword plugin dev: https://snowboy.jolanrensen.nl/
(The key to making them accurate is to record a lot of audio samples (20+) in a perfectly quiet environment.)
There are a small selection of fairly accurate universal “.umdl” wake words that include:
Hey/Ok Google
Alexa
Jarvis
Computer
Snowboy
Smart Mirror ← my personal favorite
Etc
Link to wakeword repository: jarbas-wake-word-plugin-snowboy/jarbas_wake_word_plugin_snowboy/resources/models at master · poveteen/jarbas-wake-word-plugin-snowboy · GitHub
(The “.pmdl” file wake words in this repository may not be very high accuracy, you may want to make your own)
You can use any android device running at least android 10, earlier versions of android did not allow simultaneous mic access to multiple apps.
This method assumes you have the voice assistant pipeline setup already on your HA server and the HA companion app installed on your device. See the post below for details on how to setup a routine in Tasker/Automate that calls the HA apps assist service whenever Hotwork Plugin detects the wake word and triggers the routine.
Tip: In Tasker set it to launch a new assist service with every trigger so it will take consecutive commands. (Automate has a similar setting)
Links -
Tasker: https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm
(It’s a paid app, but well worth it considering what you get for $3.50)
Automate: https://play.google.com/store/apps/details?id=com.llamalab.automate
(A free alternative to Tasker, seems to work just as well, credit to NervousApps for finding this alternative, see his post below for a screenshot of his setup)
HotwordPlugin: https://play.google.com/store/apps/details?id=nl.jolanrensen.hotwordPlugin
(there is an ad supported free version as well)
Snowboy: GitHub - seasalt-ai/snowboy: DNN based hotword and wake word detection toolkit (model generation included)
(Nothing to install here, just linking this for background info)
ALTERNATIVE ANDROID WAKEWORD OPTIONS:
This is an alternative method that bypasses the HA companion app and just streams continuous audio to your HA server, where it can be handled like any other voice satellite.
This is an alternative method that runs wyoming satellite and wyoming openwakeword locally on the device through termux.