Speech Events
A plugin for detecting speech events in audioContext instances
This library drives the speech events detected on Accent.ai.
Syntax
Constructor
var speechEvents = new speechEventsConst({
speechStatusCB: (status) => {
console.log(status);
},
speechDetectionAllowedDelay: 1000,
speechDetectionThreshold: 40,
speechDetectionMaximum: this.recordingMaxLength,
});
Creates a speech events analyzer instance.
- config - (optional) A configuration object (see Config section below)
Config
- speechStatusCB
- errorCB
- detectOnly
- concatenateMaxChunks
- speechDetectionAllowedDelay
- speechDetectionMinimum
- speechDetectionMaximum
- bufferSize
- analysisChunkLength
- inputSampleRate
- speechDetectionThreshold
- compressPauses
Instance Methods
/**
* Connect audio context and media stream to this speech analysis class instance.
* @param {AudioContext} audioContext The audio context gotten from `getUserMedia` caller.
* @param {MediaStream} realAudioInput Media stream node.
*/
speechEvents.connectStreamSourceProcessor(audioContext, realAudioInput);
speechEvents.startAnalysis();
speechEvents.stopAnalysis();
Bugs?
Submit issues to: https://github.com/accentdotai/speech-events/issues
Development
This package can be used both as an ES6 Node.js module and a Browser library.
Node.js imports use the file src/speech-events.js
.
NOTE: Currently this package can only be used under Node.js apps compatible with ES6.
Webpack is used to build the browser-compatible lib/speech-events.js
file which is later uglified (using uglify-js
) into dist/speech-events.min.js
.
Scripts
The following scripts are defined within package.json
for ease of development:
npm run lint
npm run build
For more info on how these work simply checkout the script definitions within package.json
.
TODO
- Add jasmine tests
- Make Node.js module version which is compatible with non ES6 apps.
License (MIT)
Copyright © 2017 Jean M. Lescure