Cylon.js (http://cylonjs.com) is a JavaScript framework for robotics and physical computing using Node.js.
This module provides an adaptor/driver for text to speech based on eSpeak (https://en.wikipedia.org/wiki/ESpeak).
For more information about Cylon, check out the repo at https://github.com/hybridgroup/cylon
Install the module via NPM:
$ npm install cylon cylon-speech
After the module is installed, but before you run any scripts using it, ensure the espeak
utility is installed on your computer.
There are packages available for Linux, OS X, and Windows.
On most Linux distros, there should already be a package you can install. If you use Aptitude Package Manager (apt-get), just install it with:
$ sudo apt-get install espeak
This is also true for Single-Board Linux Computers like the Raspberry-Pi and the Beaglebone Black.
Once the package has finished installing, try this command to verify everything is working as expected:
$ espeak "This is awesome, Linux speaking"
If you hear your computer talking to you, everything is working as expected. If not, please refer to the espeak docs for more help.
Install espeak through Homebrew.
$ brew install espeak
After installing, test it out:
$ espeak "This is awesome, OS X speaking"
For Windows systems there is a .exe
file you can download from SourceForge.
Same as with the above operating systems, make sure it works as advertized when the instalation has completed.
$ espeak "This is awesome, Windows OS speaking!"
var Cylon = require("cylon");
Cylon.robot({
connections: {
speech: { adaptor: "speech"}
},
devices: {
voice: { driver: "speech", voice: "en+f3" }
},
work: function(my) {
my.voice.say("I'm a Cylon.JS robot, and I'm talking!");
}
}).start();
You can choose which voice to use for the speech synthesizer, by passing parameters to the driver.
This example uses an "English" dictionary, with a "female" voice register that is the 3rd voice option variant out of 5, at a speed of 130 words per minute:
devices: {
voice: {
driver: "speech"
language: "english",
gender: "f",
variant: "3",
speed: 130
}
}
Here is a shorter way to specify the same voice as above:
devices: {
voice1: {
voice: "en+f3", speed: 130
}
}
We're busy adding documentation to our web site at http://cylonjs.com/ please check there as we continue to work on Cylon.js
Thank you!
For our contribution guidelines, please go to https://github.com/hybridgroup/cylon/blob/master/CONTRIBUTING.md.
For the release history, please go to https://github.com/hybridgroup/cylon-speech/blob/master/RELEASES.md.
Copyright (c) 2014-2016 The Hybrid Group. Licensed under the Apache 2.0 license.