From b5b32d3e6188cc7126b3181e3be328d6583c5967 Mon Sep 17 00:00:00 2001 From: Liam Barry Date: Thu, 30 Dec 2021 11:35:00 +0000 Subject: MLECO-2835: Remove magic number for ASR-KWS Replaced ctx.set/get(keywordindex) with keyword itself as const std::string& Change-Id: I1811d93548105d6db58e57b88675f9b41e66d914 Signed-off-by: Liam Barry --- source/use_case/kws_asr/src/MainLoop.cc | 11 +++++++++-- source/use_case/kws_asr/src/UseCaseHandler.cc | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'source/use_case/kws_asr') diff --git a/source/use_case/kws_asr/src/MainLoop.cc b/source/use_case/kws_asr/src/MainLoop.cc index 30cb084..c7e977f 100644 --- a/source/use_case/kws_asr/src/MainLoop.cc +++ b/source/use_case/kws_asr/src/MainLoop.cc @@ -136,8 +136,15 @@ void main_loop(hal_platform& platform) caseContext.Set&>("asrlabels", asrLabels); caseContext.Set&>("kwslabels", kwsLabels); - /* Index of the kws outputs we trigger ASR on. */ - caseContext.Set("keywordindex", 9 ); + /* KWS keyword that triggers ASR and associated checks */ + std::string triggerKeyword = std::string("yes"); + if (std::find(kwsLabels.begin(), kwsLabels.end(), triggerKeyword) != kwsLabels.end()) { + caseContext.Set("triggerkeyword", triggerKeyword); + } + else { + printf_err("Selected trigger keyword not found in labels file\n"); + return; + } /* Loop. */ bool executionSuccessful = true; diff --git a/source/use_case/kws_asr/src/UseCaseHandler.cc b/source/use_case/kws_asr/src/UseCaseHandler.cc index c67be22..a3ebdb1 100644 --- a/source/use_case/kws_asr/src/UseCaseHandler.cc +++ b/source/use_case/kws_asr/src/UseCaseHandler.cc @@ -240,7 +240,7 @@ namespace app { ); /* Keyword detected. */ - if (kwsClassificationResult[0].m_labelIdx == ctx.Get("keywordindex")) { + if (kwsClassificationResult[0].m_label == ctx.Get("triggerkeyword")) { output.asrAudioStart = inferenceWindow + kwsAudioDataWindowSize; output.asrAudioSamples = get_audio_array_size(currentIndex) - (audioDataSlider.NextWindowStartIndex() - -- cgit v1.2.1