Skip to content

Web interface for creating snowboy personal wake words locally

License

Notifications You must be signed in to change notification settings

solidssss/snowboy-seasalt

 
 

Repository files navigation

Snowboy Personal Wake Word Recorder

Docker-based web interface for generating .pmdl files from audio examples for snowboy.

Credit to seasalt-ai

Docker Image

To get started, run the pre-built Docker image:

$ docker run -it -p 8000:8000 rhasspy/snowboy-seasalt

The web interface will now be available at http://localhost:8000

If you'd like to build the Docker image yourself, see scripts/build-docker.sh

Web Interface

Examples can be recorded and submitted directly in a web browser. Once you've enabled your microphone (required by Chrome), each example can be recorded by:

  1. Clicking the "Record" button and waiting until it's ready
  2. Speaking the wake word and then quietly waiting until it's done

The timeouts here are used to avoid needing to trim out button clicks from the audio.

Once you have 3 examples, click "Submit" and you should see a "Save Model" button appear. Save the .pmdl file somewhere and enjoy your new wake word!

Screen shot of web interface

Audio visualization is provided by wavesurfer-js

HTTP API

You can also POST your audio examples to the web server directly and get a .pmdl file back!

The /generate endpoint expects form data with:

  • A modelName field with your wake word name
  • At least 3 files with audio samples
    • These will be converted to the appropriate format with ffmpeg
    • Unless ?noTrim=true is given, silence is automatically trimmed from the beginning and end of each example
$ curl \
    -X POST \
    -F modelName=okay-rhasspy \
    -F [email protected] \
    -F [email protected] \
    -F [email protected] \
    --output okay-rhasspy.pmdl \
    localhost:8000/generate

About

Web interface for creating snowboy personal wake words locally

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 77.8%
  • Python 14.4%
  • HTML 5.4%
  • Shell 1.7%
  • Other 0.7%