Support running sherpa-onnx with RK NPU on Android (#2124)

This commit is contained in:
Fangjun Kuang
2025-04-15 16:42:28 +08:00
committed by GitHub
parent 4ed8ec367e
commit e3bce847c0
10 changed files with 427 additions and 15 deletions

View File

@@ -22,22 +22,34 @@
namespace sherpa_onnx {
std::unique_ptr<VadModel> VadModel::Create(const VadModelConfig &config) {
#if SHERPA_ONNX_ENABLE_RKNN
if (config.provider == "rknn") {
#if SHERPA_ONNX_ENABLE_RKNN
return std::make_unique<SileroVadModelRknn>(config);
}
#else
SHERPA_ONNX_LOGE(
"Please rebuild sherpa-onnx with -DSHERPA_ONNX_ENABLE_RKNN=ON if you "
"want to use rknn.");
SHERPA_ONNX_EXIT(-1);
return nullptr;
#endif
}
return std::make_unique<SileroVadModel>(config);
}
template <typename Manager>
std::unique_ptr<VadModel> VadModel::Create(Manager *mgr,
const VadModelConfig &config) {
#if SHERPA_ONNX_ENABLE_RKNN
if (config.provider == "rknn") {
#if SHERPA_ONNX_ENABLE_RKNN
return std::make_unique<SileroVadModelRknn>(mgr, config);
}
#else
SHERPA_ONNX_LOGE(
"Please rebuild sherpa-onnx with -DSHERPA_ONNX_ENABLE_RKNN=ON if you "
"want to use rknn.");
SHERPA_ONNX_EXIT(-1);
return nullptr;
#endif
}
return std::make_unique<SileroVadModel>(mgr, config);
}