|
16 | 16 |
|
17 | 17 | #include "sherpa-onnx/csrc/file-utils.h" |
18 | 18 | #include "sherpa-onnx/csrc/macros.h" |
| 19 | +#include "sherpa-onnx/csrc/offline-whisper-model.h" |
19 | 20 | #include "sherpa-onnx/csrc/online-lm.h" |
20 | 21 | #include "sherpa-onnx/csrc/online-recognizer-impl.h" |
21 | 22 | #include "sherpa-onnx/csrc/online-recognizer.h" |
@@ -133,6 +134,10 @@ class OnlineRecognizerTransducerImpl : public OnlineRecognizerImpl { |
133 | 134 | config.decoding_method.c_str()); |
134 | 135 | exit(-1); |
135 | 136 | } |
| 137 | + |
| 138 | + if (model_->UseWhisperFeature()) { |
| 139 | + config_.feat_config.is_whisper = true; |
| 140 | + } |
136 | 141 | } |
137 | 142 |
|
138 | 143 | template <typename Manager> |
@@ -182,6 +187,10 @@ class OnlineRecognizerTransducerImpl : public OnlineRecognizerImpl { |
182 | 187 | config.decoding_method.c_str()); |
183 | 188 | exit(-1); |
184 | 189 | } |
| 190 | + |
| 191 | + if (model_->UseWhisperFeature()) { |
| 192 | + config_.feat_config.is_whisper = true; |
| 193 | + } |
185 | 194 | } |
186 | 195 |
|
187 | 196 | std::unique_ptr<OnlineStream> CreateStream() const override { |
@@ -292,6 +301,11 @@ class OnlineRecognizerTransducerImpl : public OnlineRecognizerImpl { |
292 | 301 | std::vector<float> features = |
293 | 302 | ss[i]->GetFrames(num_processed_frames, chunk_size); |
294 | 303 |
|
| 304 | + if (config_.feat_config.is_whisper) { |
| 305 | + OfflineWhisperModel::NormalizeFeatures(features.data(), chunk_size, |
| 306 | + feature_dim); |
| 307 | + } |
| 308 | + |
295 | 309 | // Question: should num_processed_frames include chunk_shift? |
296 | 310 | ss[i]->GetNumProcessedFrames() += chunk_shift; |
297 | 311 |
|
|
0 commit comments