Skip to content

Commit a7f7267

Browse files
committed
put word_alternatives and keywords_results on correct result in speaker stream's splitting
1 parent 1fceb0b commit a7f7267

File tree

5 files changed

+7779
-2021
lines changed

5 files changed

+7779
-2021
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
### v0.28.3
4+
* Made SpeakerStream put keywords_result and word_alternatives on the correct result
5+
36
### v0.28.2
47
* Fix regression introduced in v0.23 with playback-error change - transcription now continues after a playback error.
58

dist/watson-speech.js

Lines changed: 14 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

speech-to-text/speaker-stream.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,34 @@ SpeakerStream.prototype.buildMessage = function() {
210210
alt.timestamps = utterance.timestamps;
211211
// overwrite the final value
212212
result.final = final;
213-
// todo: split up words_alternatives, keywords, etc and copy to appropriate result for time
213+
214+
var start = utterance.timestamps[0][1];
215+
var end = utterance.timestamps[utterance.timestamps.length - 1][2];
216+
217+
// overwrite the word_alternatives
218+
if (utterance.result.word_alternatives) {
219+
var alts = utterance.result.word_alternatives.filter(function(walt) {
220+
return walt.start_time >= start && walt.end_time <= end;
221+
});
222+
result.word_alternatives = alts;
223+
}
224+
225+
// overwrite the keywords spotted
226+
/* eslint-disable camelcase */
227+
var original_keywords_result = utterance.result.keywords_result;
228+
if (original_keywords_result) {
229+
var keywords_result = {};
230+
Object.keys(original_keywords_result).forEach(function(keyword) {
231+
var spottings = original_keywords_result[keyword].filter(function(spotting) {
232+
return spotting.start_time >= start && spotting.end_time <= end;
233+
});
234+
if (spottings.length) {
235+
keywords_result[keyword] = spottings;
236+
}
237+
});
238+
result.keywords_result = keywords_result;
239+
}
240+
/* eslint-enable camelcase */
214241

215242
return result;
216243
});

0 commit comments

Comments
 (0)