Skip to content

⏰ Hands-free "always on" offline HTML5-based multilingual timer and alarm clock

Notifications You must be signed in to change notification settings

Kaljurand/touchless-timer

Repository files navigation

Touchless Timer

Hands-free "always on" offline HTML5-based multilingual timer / alarm clock. The application can be installed from https://touchless-timer.appspot.com. If this page does not open (due to exceeded quota) then try again tomorrow.

The application is currently available in Estonian and English. (The Estonian version works a lot better.)

Running the webapp locally

To run the webapp locally open a new terminal and start an HTTP server, e.g.

python -m SimpleHTTPServer

Then load the webapp, e.g.

google-chrome http://localhost:8000/webapp/et.html

Browser support

  • Chromium 31.0.1650.63 Ubuntu 13.10
  • Chrome Beta 32.0.1700.99 Android 4.1.2 (but audio feedback does not work)

Building the models

The acoustic models and grammars for Estonian and English have been included in the repository. In case you want to build your own models (e.g. to port the application to a new language) then follow the instructions below.

TODO: improve the instructions

Acoustic models

Pull the following Git projects:

Define the corresponding environment variables, e.g.

export POCKETSPHINX_JS=${HOME}/myapps/pocketsphinx.js/
export EMSCRIPTEN=${HOME}/myapps/emscripten/
export POCKETSPHINX_HMM_ET=${HOME}/myapps/et-pocketsphinx-tutorial/models/hmm/

Install some dependencies:

sudo apt-get install cmake clang llvm nodejs

Declare the location of node.js for emscripten:

export NODE=/usr/bin/nodejs

See also: https://earthserver.com/Setting_up_emscripten_development_environment_on_Linux to get everything needed by emscripten installed.

Now run the script build-pocketsphinx-js.sh, e.g.

sh build-pocketsphinx-js.sh et

or

sh build-pocketsphinx-js.sh en

This creates a new directory build and builds in it the file pocketsphinx.js, based on the instructions in build.sh.

Copy pocketsphinx.js to your application, e.g.

cp build/pocketsphinx.js webapp/acoustic/et_EE/

Also, if the pocketsphinx.js project has updated its demo code then sync this as well, i.e. copy the Javascript files from webapp/js/ of pocketsphinx.js.

Grammar/dictionary

In order to create the grammar and dictionary files in webapp/grammars/, you need to install the following software and place it on the PATH.

Now generate the grammar files using e.g.:

bash build-grammar-simple.bash Alarm Est ${HOME}/myapps/Grammars/gf/ webapp/grammars/

About

⏰ Hands-free "always on" offline HTML5-based multilingual timer and alarm clock

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages