From 363f589c91baa3ba91e5002686a614ef8cec0d3d Mon Sep 17 00:00:00 2001
From: 游雁 <zhifu.gzf@alibaba-inc.com>
Date: 星期三, 22 二月 2023 20:27:05 +0800
Subject: [PATCH] fbank online
---
funasr/runtime/python/onnxruntime/rapid_paraformer/utils/frontend.py | 31 +++++++++++++++++++++++++------
1 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/funasr/runtime/python/onnxruntime/rapid_paraformer/utils/frontend.py b/funasr/runtime/python/onnxruntime/rapid_paraformer/utils/frontend.py
index 0b1531b..fb386de 100644
--- a/funasr/runtime/python/onnxruntime/rapid_paraformer/utils/frontend.py
+++ b/funasr/runtime/python/onnxruntime/rapid_paraformer/utils/frontend.py
@@ -23,11 +23,10 @@
n_mels: int = 80,
frame_length: int = 25,
frame_shift: int = 10,
- filter_length_min: int = -1,
- filter_length_max: float = -1,
lfr_m: int = 1,
lfr_n: int = 1,
- dither: float = 1.0
+ dither: float = 1.0,
+ **kwargs,
) -> None:
check_argument_types()
@@ -43,8 +42,6 @@
opts.mel_opts.debug_mel = False
self.opts = opts
- self.filter_length_min = filter_length_min
- self.filter_length_max = filter_length_max
self.lfr_m = lfr_m
self.lfr_n = lfr_n
self.cmvn_file = cmvn_file
@@ -53,6 +50,7 @@
self.cmvn = self.load_cmvn()
self.fbank_fn = None
self.fbank_beg_idx = 0
+ self.reset_status()
def fbank(self,
waveform: np.ndarray) -> Tuple[np.ndarray, np.ndarray]:
@@ -168,4 +166,25 @@
abs_max = 2 ** (i.bits - 1)
offset = i.min + abs_max
array = np.frombuffer((middle_data.astype(dtype) - offset) / abs_max, dtype=np.float32)
- return array
\ No newline at end of file
+ return array
+
+
+def test():
+ path = "/nfs/zhifu.gzf/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/example/asr_example.wav"
+ import librosa
+ cmvn_file = "/nfs/zhifu.gzf/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/am.mvn"
+ config_file = "/nfs/zhifu.gzf/export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/config.yaml"
+ from funasr.runtime.python.onnxruntime.rapid_paraformer.utils.utils import read_yaml
+ config = read_yaml(config_file)
+ waveform, _ = librosa.load(path, sr=None)
+ frontend = WavFrontend(
+ cmvn_file=cmvn_file,
+ **config['frontend_conf'],
+ )
+ speech, _ = frontend.fbank_online(waveform)
+ feat, feat_len = frontend.lfr_cmvn(speech)
+ frontend.reset_status() # clear cache
+ return feat, feat_len
+
+if __name__ == '__main__':
+ test()
\ No newline at end of file
--
Gitblit v1.9.1