From e33bb15d269bb3e2e41f7a3540d9b92703bb5c50 Mon Sep 17 00:00:00 2001
From: aky15 <ankeyu.aky@11.17.44.249>
Date: 星期三, 15 三月 2023 10:51:52 +0800
Subject: [PATCH] Merge branch 'main' into dev_aky

---
 egs_modelscope/vad/speech_fsmn_vad_zh-cn-16k-common/infer_online.py |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/egs_modelscope/vad/speech_fsmn_vad_zh-cn-16k-common/infer_online.py b/egs_modelscope/vad/speech_fsmn_vad_zh-cn-16k-common/infer_online.py
new file mode 100644
index 0000000..66b8161
--- /dev/null
+++ b/egs_modelscope/vad/speech_fsmn_vad_zh-cn-16k-common/infer_online.py
@@ -0,0 +1,33 @@
+from modelscope.pipelines import pipeline
+from modelscope.utils.constant import Tasks
+import soundfile
+
+
+if __name__ == '__main__':
+    output_dir = None
+    inference_pipline = pipeline(
+        task=Tasks.voice_activity_detection,
+        model="damo/speech_fsmn_vad_zh-cn-16k-common-pytorch",
+        model_revision='v1.2.0',
+        output_dir=output_dir,
+        batch_size=1,
+        mode='online',
+    )
+    speech, sample_rate = soundfile.read("./vad_example_16k.wav")
+    speech_length = speech.shape[0]
+    
+    sample_offset = 0
+    
+    step = 160 * 10
+    param_dict = {'in_cache': dict()}
+    for sample_offset in range(0, speech_length, min(step, speech_length - sample_offset)):
+        if sample_offset + step >= speech_length - 1:
+            step = speech_length - sample_offset
+            is_final = True
+        else:
+            is_final = False
+        param_dict['is_final'] = is_final
+        segments_result = inference_pipline(audio_in=speech[sample_offset: sample_offset + step],
+                                            param_dict=param_dict)
+        print(segments_result)
+

--
Gitblit v1.9.1