dictate.js is a small Javascript library for browser-based real-time speech recognition. It uses Recorderjs for audio capture, and a WebSocket connection to the Kaldi GStreamer server for speech recognition.
The API is modeled after Android's SpeechRecognizer. See the source code of lib/dictate.js and the usage in demos/demo.js.
The demos connect to the public services running on wss://bark.phon.ioc.ee
that offer Estonian and English speech recognition.
The demos are available here. (Note that in order to use a wss-service the HTML-pages must be loaded over https.)
To run the demos on localhost, start a local HTTP server, e.g.:
python3 -m http.server 8081
and then open e.g. http://localhost:8081/demos/mob.html.
Known to work in:
- Mozilla Firefox 73.0.1 on Ubuntu 19.10
- Chrome 80 on Android 10
- Opera 56.1 on Android 10
- various iOS and Windows devices (see #27)
Issues:
- Google Chrome 81.0 on Ubuntu 19.10 (
WebSocket connection to 'wss://...' failed: Error in connection establishment: net::ERR_SSL_OBSOLETE_VERSION
)
- Dikteeri is an Estonian dictation demo by the Laboratory of Phonetics and Speech Technology (in Estonian). Uses
dictate.js
. - Kõnele contains an Android front-end to the Kaldi GStreamer server