speech recognition and speech synthesis
npm install speech-js --save
or yarn add speech-js
import speech from 'speech-js'
speech.synthesis('hello world', 'en-US') // speech synthesis module
const recognition = speech.recognition('en-US') // speech recognition module
recognition.start()
recognition.onresult = e => {
let result = e.results[0][0].transcript
speech.synthesis(result, 'en-US')
}
speech.synthesis(text, voice, rate, volume, pitch)
Properties | Default value | Type | Range |
---|---|---|---|
text | ' ' | String | |
voice | system lang | String or Object | |
reate | 1 | Number | 0.1 - 10 |
volume | 1 | Number | 0 - 1 |
pitch | 1 | Number | 0 - 2 |
Voice properties can by String
or Object
If you use String
properties for voice
, speech set lang properties. For example:
speech.synthesis('Hello World', 'en-US')
Or if you want use the other voices on your computer, code will be looks like this:
speechSynthesis.onvoiceschanged = () => {
const voices = window.speechSynthesis.getVoices()
speech.synthesis('hello world', voices[0])
}
where voices
is an array with voices installed on your computer
speechSynthesis.cancel()
speechSynthesis.pause()
speechSynthesis.resume()
speech.recognition(lang, alternatives, grammar)
Properties | Default value | Type | Range |
---|---|---|---|
lang | system lang | String | |
alternatives | 5 | Number | infinity |
grammar | ' ' | String |
The grammars property of the SpeechRecognition interface returns and sets a collection of SpeechGrammar objects that represent the grammars that will be understood by the current SpeechRecognition.
Example:
const grammar = #JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;
speech.recognition().start()
speech.recognition().stop()
speech.recognition().abort()