Skip to content

Latest commit

 

History

History
105 lines (70 loc) · 3.08 KB

README.md

File metadata and controls

105 lines (70 loc) · 3.08 KB

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/