Skip to content

Latest commit

 

History

History
106 lines (79 loc) · 5.07 KB

README.md

File metadata and controls

106 lines (79 loc) · 5.07 KB

🗣 hotword - listen for commands

Processes sound and recognizes hotwords from a specified model. This container may be run locally using Docker, pushed to a Docker registry, and published to any Open Horizon exchange.

Status

Supports amd64 Architecture Docker Pulls

Supports arm Architecture Docker Pulls

Supports arm64 Architecture Docker Pulls

Service discovery

  • org - github@dcmartin.com
  • url - com.github.dcmartin.open-horizon.hotword
  • version - 0.0.1

Service variables

  • HOTWORD_GROUP - group name (aka top-level topic); defaults to "hotword"
  • HOTWORD_CLIENT - client name; default: ""; set to HZN_DEVICE_ID or hostname
  • HOTWORD_EVENT - topic for sound event detected; default: "+/+/+/event/start"
  • HOTWORD_PAYLOAD - extension to event topic to collect payload; default: "sound"
  • HOTWORD_MODEL - default: "alexa"
  • HOTWORD_INCLUDE_WAV - include audio as base64 encoded WAV; default: false
  • LOGTO - specify place to log; default: "/dev/stderr"; use "" for ${TMPDIR}/${0##*/}.log
  • LOG_LEVEL - specify level of logging; default info; options include (debug and none; currently ignored)
  • DEBUG - default: false

Required Services

  • MQTT_PORT - port number; defaults to 1883
  • MQTT_USERNAME - MQTT username; defaults to ""
  • MQTT_PASSWORD - MQTT password; defaults to ""

How To Use

Copy this repository, change to the hotword directory, then use the make command; see below:

% mkdir ~/gitdir
% cd ~/gitdir
% git clone http://github.com/dcmartin/open-horizon
% cd open-horizon/hotword
% make
...

The hotword value will initially be incomplete until the service completes its initial execution. Subsequent tests should return a completed payload, see below:

% make check

EXAMPLE

Changelog & Releases

Releases are based on Semantic Versioning, and use the format of MAJOR.MINOR.PATCH. In a nutshell, the version will be incremented based on the following:

  • MAJOR: Incompatible or major changes.
  • MINOR: Backwards-compatible new features and enhancements.
  • PATCH: Backwards-compatible bugfixes and package updates.

Authors & contributors

David C Martin (github@dcmartin.com)