| 38 | class BaseMfccOpModel : public SingleOpModel { |
| 39 | public: |
| 40 | BaseMfccOpModel(const TensorData& input1, const TensorData& input2, |
| 41 | const TensorData& output) { |
| 42 | input1_ = AddInput(input1); |
| 43 | input2_ = AddInput(input2); |
| 44 | output_ = AddOutput(output); |
| 45 | |
| 46 | flexbuffers::Builder fbb; |
| 47 | fbb.Map([&]() { |
| 48 | fbb.Int("upper_frequency_limit", 4000); |
| 49 | fbb.Int("lower_frequency_limit", 20); |
| 50 | fbb.Int("filterbank_channel_count", 40); |
| 51 | fbb.Int("dct_coefficient_count", 13); |
| 52 | }); |
| 53 | fbb.Finish(); |
| 54 | SetCustomOp("Mfcc", fbb.GetBuffer(), Register_MFCC); |
| 55 | |
| 56 | BuildInterpreter({GetShape(input1_), GetShape(input2_)}); |
| 57 | } |
| 58 | |
| 59 | int input1() { return input1_; } |
| 60 | int input2() { return input2_; } |