JavaScript API (node-addon) for speaker diarization (#1408)
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
const addon = require('./addon.js');
|
||||
|
||||
class OfflineSpeakerDiarization {
|
||||
constructor(config) {
|
||||
this.handle = addon.createOfflineSpeakerDiarization(config);
|
||||
this.config = config;
|
||||
|
||||
this.sampleRate = addon.getOfflineSpeakerDiarizationSampleRate(this.handle);
|
||||
}
|
||||
|
||||
/**
|
||||
* samples is a 1-d float32 array. Each element of the array should be
|
||||
* in the range [-1, 1].
|
||||
*
|
||||
* We assume its sample rate equals to this.sampleRate.
|
||||
*
|
||||
* Returns an array of object, where an object is
|
||||
*
|
||||
* {
|
||||
* "start": start_time_in_seconds,
|
||||
* "end": end_time_in_seconds,
|
||||
* "speaker": an_integer,
|
||||
* }
|
||||
*/
|
||||
process(samples) {
|
||||
return addon.offlineSpeakerDiarizationProcess(this.handle, samples);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
OfflineSpeakerDiarization,
|
||||
}
|
||||
@@ -8,6 +8,7 @@ const sid = require('./speaker-identification.js');
|
||||
const at = require('./audio-tagg.js');
|
||||
const punct = require('./punctuation.js');
|
||||
const kws = require('./keyword-spotter.js');
|
||||
const sd = require('./non-streaming-speaker-diarization.js');
|
||||
|
||||
module.exports = {
|
||||
OnlineRecognizer: streaming_asr.OnlineRecognizer,
|
||||
@@ -24,4 +25,5 @@ module.exports = {
|
||||
AudioTagging: at.AudioTagging,
|
||||
Punctuation: punct.Punctuation,
|
||||
KeywordSpotter: kws.KeywordSpotter,
|
||||
OfflineSpeakerDiarization: sd.OfflineSpeakerDiarization,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user