summaryrefslogtreecommitdiff
path: root/source/use_case/kws_asr/src/UseCaseHandler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'source/use_case/kws_asr/src/UseCaseHandler.cc')
-rw-r--r--source/use_case/kws_asr/src/UseCaseHandler.cc120
1 files changed, 57 insertions, 63 deletions
diff --git a/source/use_case/kws_asr/src/UseCaseHandler.cc b/source/use_case/kws_asr/src/UseCaseHandler.cc
index a428210..1edc7c4 100644
--- a/source/use_case/kws_asr/src/UseCaseHandler.cc
+++ b/source/use_case/kws_asr/src/UseCaseHandler.cc
@@ -52,13 +52,7 @@ namespace app {
* @brief Helper function to increment current audio clip index
* @param[in,out] ctx pointer to the application context object
**/
- static void _IncrementAppCtxClipIdx(ApplicationContext& ctx);
-
- /**
- * @brief Helper function to increment current audio clip index
- * @param[in,out] ctx pointer to the application context object
- **/
- static void _IncrementAppCtxClipIdx(ApplicationContext& ctx);
+ static void IncrementAppCtxClipIdx(ApplicationContext& ctx);
/**
* @brief Helper function to set the audio clip index
@@ -66,7 +60,7 @@ namespace app {
* @param[in] idx value to be set
* @return true if index is set, false otherwise
**/
- static bool _SetAppCtxClipIdx(ApplicationContext& ctx, uint32_t idx);
+ static bool SetAppCtxClipIdx(ApplicationContext& ctx, uint32_t idx);
/**
* @brief Presents kws inference results using the data presentation
@@ -77,7 +71,7 @@ namespace app {
* Otherwise, this can be passed in as 0.
* @return true if successful, false otherwise
**/
- static bool _PresentInferenceResult(hal_platform& platform, std::vector<arm::app::kws::KwsResult>& results);
+ static bool PresentInferenceResult(hal_platform& platform, std::vector<arm::app::kws::KwsResult>& results);
/**
* @brief Presents asr inference results using the data presentation
@@ -88,7 +82,7 @@ namespace app {
* Otherwise, this can be passed in as 0.
* @return true if successful, false otherwise
**/
- static bool _PresentInferenceResult(hal_platform& platform, std::vector<arm::app::asr::AsrResult>& results);
+ static bool PresentInferenceResult(hal_platform& platform, std::vector<arm::app::asr::AsrResult>& results);
/**
* @brief Returns a function to perform feature calculation and populates input tensor data with
@@ -212,7 +206,7 @@ namespace app {
std::string str_inf{"Running KWS inference... "};
platform.data_psn->present_data_text(
str_inf.c_str(), str_inf.size(),
- dataPsnTxtInfStartX, dataPsnTxtInfStartY, 0);
+ dataPsnTxtInfStartX, dataPsnTxtInfStartY, false);
info("Running KWS inference on audio clip %u => %s\n",
currentIndex, get_filename(currentIndex));
@@ -279,9 +273,9 @@ namespace app {
str_inf = std::string(str_inf.size(), ' ');
platform.data_psn->present_data_text(
str_inf.c_str(), str_inf.size(),
- dataPsnTxtInfStartX, dataPsnTxtInfStartY, 0);
+ dataPsnTxtInfStartX, dataPsnTxtInfStartY, false);
- if (!_PresentInferenceResult(platform, kwsResults)) {
+ if (!PresentInferenceResult(platform, kwsResults)) {
return output;
}
@@ -375,7 +369,7 @@ namespace app {
std::string str_inf{"Running ASR inference... "};
platform.data_psn->present_data_text(
str_inf.c_str(), str_inf.size(),
- dataPsnTxtInfStartX, dataPsnTxtInfStartY, 0);
+ dataPsnTxtInfStartX, dataPsnTxtInfStartY, false);
size_t asrInferenceWindowLen = asrAudioParamsWinLen;
@@ -425,7 +419,7 @@ namespace app {
str_inf.c_str(), str_inf.size(),
dataPsnTxtInfStartX, dataPsnTxtInfStartY, false);
}
- if (!_PresentInferenceResult(platform, asrResults)) {
+ if (!PresentInferenceResult(platform, asrResults)) {
return false;
}
@@ -442,7 +436,7 @@ namespace app {
/* If the request has a valid size, set the audio index. */
if (clipIndex < NUMBER_OF_FILES) {
- if (!_SetAppCtxClipIdx(ctx, clipIndex)) {
+ if (!SetAppCtxClipIdx(ctx, clipIndex)) {
return false;
}
}
@@ -463,14 +457,14 @@ namespace app {
}
}
- _IncrementAppCtxClipIdx(ctx);
+ IncrementAppCtxClipIdx(ctx);
} while (runAll && ctx.Get<uint32_t>("clipIndex") != startClipIdx);
return true;
}
- static void _IncrementAppCtxClipIdx(ApplicationContext& ctx)
+ static void IncrementAppCtxClipIdx(ApplicationContext& ctx)
{
auto curAudioIdx = ctx.Get<uint32_t>("clipIndex");
@@ -482,7 +476,7 @@ namespace app {
ctx.Set<uint32_t>("clipIndex", curAudioIdx);
}
- static bool _SetAppCtxClipIdx(ApplicationContext& ctx, const uint32_t idx)
+ static bool SetAppCtxClipIdx(ApplicationContext& ctx, uint32_t idx)
{
if (idx >= NUMBER_OF_FILES) {
printf_err("Invalid idx %u (expected less than %u)\n",
@@ -493,8 +487,8 @@ namespace app {
return true;
}
- static bool _PresentInferenceResult(hal_platform& platform,
- std::vector<arm::app::kws::KwsResult>& results)
+ static bool PresentInferenceResult(hal_platform& platform,
+ std::vector<arm::app::kws::KwsResult>& results)
{
constexpr uint32_t dataPsnTxtStartX1 = 20;
constexpr uint32_t dataPsnTxtStartY1 = 30;
@@ -510,7 +504,7 @@ namespace app {
std::string topKeyword{"<none>"};
float score = 0.f;
- if (results[i].m_resultVec.size()) {
+ if (!results[i].m_resultVec.empty()) {
topKeyword = results[i].m_resultVec[0].m_label;
score = results[i].m_resultVec[0].m_normalisedVal;
}
@@ -538,7 +532,7 @@ namespace app {
return true;
}
- static bool _PresentInferenceResult(hal_platform& platform, std::vector<arm::app::asr::AsrResult>& results)
+ static bool PresentInferenceResult(hal_platform& platform, std::vector<arm::app::asr::AsrResult>& results)
{
constexpr uint32_t dataPsnTxtStartX1 = 20;
constexpr uint32_t dataPsnTxtStartY1 = 80;
@@ -587,8 +581,8 @@ namespace app {
**/
template<class T>
std::function<void (std::vector<int16_t>&, size_t, bool, size_t)>
- _FeatureCalc(TfLiteTensor* inputTensor, size_t cacheSize,
- std::function<std::vector<T> (std::vector<int16_t>& )> compute)
+ FeatureCalc(TfLiteTensor* inputTensor, size_t cacheSize,
+ std::function<std::vector<T> (std::vector<int16_t>& )> compute)
{
/* Feature cache to be captured by lambda function. */
static std::vector<std::vector<T>> featureCache = std::vector<std::vector<T>>(cacheSize);
@@ -621,24 +615,24 @@ namespace app {
}
template std::function<void (std::vector<int16_t>&, size_t , bool, size_t)>
- _FeatureCalc<int8_t>(TfLiteTensor* inputTensor,
- size_t cacheSize,
- std::function<std::vector<int8_t> (std::vector<int16_t>& )> compute);
+ FeatureCalc<int8_t>(TfLiteTensor* inputTensor,
+ size_t cacheSize,
+ std::function<std::vector<int8_t> (std::vector<int16_t>& )> compute);
template std::function<void (std::vector<int16_t>&, size_t , bool, size_t)>
- _FeatureCalc<uint8_t>(TfLiteTensor* inputTensor,
- size_t cacheSize,
- std::function<std::vector<uint8_t> (std::vector<int16_t>& )> compute);
+ FeatureCalc<uint8_t>(TfLiteTensor* inputTensor,
+ size_t cacheSize,
+ std::function<std::vector<uint8_t> (std::vector<int16_t>& )> compute);
template std::function<void (std::vector<int16_t>&, size_t , bool, size_t)>
- _FeatureCalc<int16_t>(TfLiteTensor* inputTensor,
- size_t cacheSize,
- std::function<std::vector<int16_t> (std::vector<int16_t>& )> compute);
+ FeatureCalc<int16_t>(TfLiteTensor* inputTensor,
+ size_t cacheSize,
+ std::function<std::vector<int16_t> (std::vector<int16_t>& )> compute);
template std::function<void(std::vector<int16_t>&, size_t, bool, size_t)>
- _FeatureCalc<float>(TfLiteTensor* inputTensor,
- size_t cacheSize,
- std::function<std::vector<float>(std::vector<int16_t>&)> compute);
+ FeatureCalc<float>(TfLiteTensor* inputTensor,
+ size_t cacheSize,
+ std::function<std::vector<float>(std::vector<int16_t>&)> compute);
static std::function<void (std::vector<int16_t>&, int, bool, size_t)>
@@ -656,35 +650,35 @@ namespace app {
switch (inputTensor->type) {
case kTfLiteInt8: {
- mfccFeatureCalc = _FeatureCalc<int8_t>(inputTensor,
- cacheSize,
- [=, &mfcc](std::vector<int16_t>& audioDataWindow) {
- return mfcc.MfccComputeQuant<int8_t>(audioDataWindow,
- quantScale,
- quantOffset);
- }
+ mfccFeatureCalc = FeatureCalc<int8_t>(inputTensor,
+ cacheSize,
+ [=, &mfcc](std::vector<int16_t>& audioDataWindow) {
+ return mfcc.MfccComputeQuant<int8_t>(audioDataWindow,
+ quantScale,
+ quantOffset);
+ }
);
break;
}
case kTfLiteUInt8: {
- mfccFeatureCalc = _FeatureCalc<uint8_t>(inputTensor,
- cacheSize,
- [=, &mfcc](std::vector<int16_t>& audioDataWindow) {
- return mfcc.MfccComputeQuant<uint8_t>(audioDataWindow,
- quantScale,
- quantOffset);
- }
+ mfccFeatureCalc = FeatureCalc<uint8_t>(inputTensor,
+ cacheSize,
+ [=, &mfcc](std::vector<int16_t>& audioDataWindow) {
+ return mfcc.MfccComputeQuant<uint8_t>(audioDataWindow,
+ quantScale,
+ quantOffset);
+ }
);
break;
}
case kTfLiteInt16: {
- mfccFeatureCalc = _FeatureCalc<int16_t>(inputTensor,
- cacheSize,
- [=, &mfcc](std::vector<int16_t>& audioDataWindow) {
- return mfcc.MfccComputeQuant<int16_t>(audioDataWindow,
- quantScale,
- quantOffset);
- }
+ mfccFeatureCalc = FeatureCalc<int16_t>(inputTensor,
+ cacheSize,
+ [=, &mfcc](std::vector<int16_t>& audioDataWindow) {
+ return mfcc.MfccComputeQuant<int16_t>(audioDataWindow,
+ quantScale,
+ quantOffset);
+ }
);
break;
}
@@ -694,11 +688,11 @@ namespace app {
} else {
- mfccFeatureCalc = mfccFeatureCalc = _FeatureCalc<float>(inputTensor,
- cacheSize,
- [&mfcc](std::vector<int16_t>& audioDataWindow) {
- return mfcc.MfccCompute(audioDataWindow);
- });
+ mfccFeatureCalc = mfccFeatureCalc = FeatureCalc<float>(inputTensor,
+ cacheSize,
+ [&mfcc](std::vector<int16_t>& audioDataWindow) {
+ return mfcc.MfccCompute(audioDataWindow);
+ });
}
return mfccFeatureCalc;
}