In Sherpa, features are extracted with Kaldifeat and it is dependent on Torch. How can I calculate fbanks without Kaldifeat? Should I use kaldi scripts? To give fbanks to onnx model, I should obtain inputs as std::vector<float>
like
size_t feature_size = 1 * 600 * 80; // TODO: dynamic shape
std::vector<float> features(feature_size);
std::vector<int64_t> feature_dims = {1, 600, 80};
size_t feature_length_size = 1;
std::vector<int64_t> features_lengths = {600}; // TODO: dynamic shape
std::vector<int64_t> feature_length_dims = {1};
std::vector<const char*> output_node_names = {"encoder_out"};
// create input tensor object from data values
auto memory_info = Ort::MemoryInfo::CreateCpu(OrtArenaAllocator, OrtMemTypeDefault);
Ort::Value feature_tensor = Ort::Value::CreateTensor<float>(memory_info, features.data(), feature_size, feature_dims.data(), 3);
Ort::Value feature_tensor_length = Ort::Value::CreateTensor<int64_t>(memory_info, features_lengths.data(), feature_length_size, feature_length_dims.data(), 1);