speech recognition cli and api for node using electron
npm install electron-speech> Speech recognition in node and the browser using Electron.
It
seems
that Google
has
shut down the Chrome Speech API for use in shell environments like Electron, which electron-speech relies on.
Google does offer a general speech api, which you can access using a module like google-speech-api. Unfortunately, you will require ffmpeg, a Google API key, and internet connectivity.
Intrepid developers! A purely local, open, offline-friendly solution like jasper may be the road forward! Go forth and write some awesome node modules around it!
If you want to use the API from a script using Node, you will need to launch
your script using theelectron-spawn command instead
of the node command:
``sh
$ npm install -g electron-spawn
$ electron-spawn example.js
`
This module installs the electron-speech command:
``
$ electron-speech
listening..
(whatever is said is written here, to stdout)
-q|--quiet to omit the listening.. message. (it's on stderr anyways though)
-c|--continuous to keep on listening after each result.
`javascript
var Speech = require('electron-speech')
var recog = Speech({
lang: 'en-US',
continuous: true
})
recog.on('text', function (text) {
console.log(text)
});
recog.listen()
`
#### var speech = Speech(opts)
Returns speech, an EventEmitter and Readable stream.
opts accepts multiple keys:
- opts.lang - recognize speech in the language lang. Defaults to 'en-US'.opts.continuous
- - if true, text events will keep on being emitted as recognition
occurs.
#### speech.listen()
Starts listening to speech via the microphone. 'ready' will be emitted once speech
recognition has begun.
#### speech.pipe(stream)
Uses speech as a readable stream for text rather than an event emitter.
Results have newlines appended to them for parsing convenience.
#### speech.on('ready')
Emitted when the microphone has begun to listen for speech.
#### speech.on('text', function (text) {})
Emitted when speech has been recognized.
#### speech.on('error', function (err) {})
Emitted when an error has occurred in recognition.
#### speech.on('close')
Emitted when recognition has ended. Does not fire if continuous was set to
true.
ISC