Skip to content

WebThingsIO/voice-addon

Repository files navigation

voice-addon

A voice add-on for the WebThings Gateway which uses DeepSpeech as the speech-to-text (STT) engine.

The add-on uses a microphone attached to the gateway host.

Requirements

  • On Linux, arecord is required, typically provided by the alsa-utils package.
  • On macOS, sox is required.

Usage

  • Open up the gateway's UI in a browser.
  • Navigate to Settings -> Add-ons.
  • Click Configure on Voice Addon and follow the instructions to get a token.
  • Speak commands into the microphone attached to your Raspberry Pi.

Supported Commands

NOTE: <tag> refers to the device name.

  • turn the <tag> light <on|off>
  • turn <tag> <on|off>
  • turn <on|off> the <tag> light
  • turn <on|off> <tag>
  • shut the <tag> light off
  • shut <tag> off
  • switch the <tag> light <on|off>
  • switch <tag> <on|off>
  • switch <on|off> the <tag> light
  • switch <on|off> <tag>
  • make the <tag> light <cooler|warmer>
  • make <tag> <cooler|warmer>
  • set the <tag> light to <color temperature number> kelvin
  • set <tag> to <color temperature number> kelvin
  • set the <tag> light to <color temperature>
  • set <tag> to <color temperature>
  • change the <tag> light to <color temperature>
  • change <tag> to <color temperature>
  • make the <tag> light <brighter|dimmer>
  • make <tag> <brighter|dimmer>
  • <brighten|dim> the <tag> light
  • <brighten|dim> <tag>
  • set the <tag> light to <percentage number> percent
  • set <tag> to <percentage number> percent
  • change the <tag> light to <percentage number> percent
  • change <tag> to <percentage number> percent
  • turn the <tag> light <color>
  • turn <tag> <color>
  • make the <tag> light <color>
  • make <tag> <color>
  • set the <tag> light to <color>
  • set <tag> to <color>
  • change the <tag> light to <color>
  • change <tag> to <color>
  • is <tag> <boolean>
  • is <tag> not <boolean>

Credits

This add-on was originally created by André Natal (@andrenatal). DeepSpeech support was initially added by Alexandre Lissy (@lissyx).