voiceCmdr is a library for adding voice commands to your website. It is build on top of Webkit Speech API.
- Google Chrome 31+
Install with npm:
npm install voice-cmdr
Install with bower:
bower install voice-cmdr
Run http server (can be installed with npm install -g http-server
):
http-server
Then open localhost:8080 in your browser and navigate to examples directory.
(*) Voice recognition works only through http protocol. That's why you have to serve static files through the server instead of just opening them in the browser.
(**) Pages hosted on HTTPS do not need to ask repeatedly for permission, whereas HTTP hosted pages do.
-
Add command:
voiceCmdr.addCommand("command", callbackFunction);
Example:
voiceCmdr.addCommand("home", function () { // navigate to home page }); voiceCmdr.addCommand("search", function (param) { console.log("Searching for:", param); });
-
Remove command:
voiceCmdr.removeCommand("command");
-
Start listening (continuously):
voiceCmdr.start();
-
Stop listening:
voiceCmdr.stop();
-
Get single command:
voiceCmdr.getCommand();
-
Turn debug mode on/off:
voiceCmdr.debug(true|false);
www.bookslib.azurewebsites.net
Available commands:
books
favorites
top 10
search [string]
- lowercase commands
- Stop restarting after 5 tries (if user set deny the restarting will work infinitely)
- Add setting language
- Tests (???):
- addCommand
- Works
- Can overwrite existing without error
- removeCommand
- Remove existing returns true
- Remove non-existing returns false
- in browser with karma (???)
- Jasmine vs Mocha+Chai+Sinon with mocking window + webkitSpeechRecognition (???)
- addCommand