From 35caed5dbc9eb83efab3051ed6b7504d42ae652b Mon Sep 17 00:00:00 2001
From: Lizerui9926 <110582652+Lizerui9926@users.noreply.github.com>
Date: 星期二, 10 十月 2023 16:00:50 +0800
Subject: [PATCH] Merge pull request #996 from alibaba-damo-academy/dev_lzr_en

---
 funasr/bin/asr_inference_launch.py |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/funasr/bin/asr_inference_launch.py b/funasr/bin/asr_inference_launch.py
index 15dbdd4..1288777 100644
--- a/funasr/bin/asr_inference_launch.py
+++ b/funasr/bin/asr_inference_launch.py
@@ -498,6 +498,7 @@
 ):
     ncpu = kwargs.get("ncpu", 1)
     torch.set_num_threads(ncpu)
+    language = kwargs.get("model_lang", None)
 
     if word_lm_train_config is not None:
         raise NotImplementedError("Word LM is not implemented")
@@ -704,10 +705,13 @@
             text, token, token_int = result[0], result[1], result[2]
             time_stamp = result[4] if len(result[4]) > 0 else None
 
-            if use_timestamp and time_stamp is not None and len(time_stamp):
-                postprocessed_result = postprocess_utils.sentence_postprocess(token, time_stamp)
+            if language == "en-bpe":
+                postprocessed_result = postprocess_utils.sentence_postprocess_sentencepiece(token)
             else:
-                postprocessed_result = postprocess_utils.sentence_postprocess(token)
+                if use_timestamp and time_stamp is not None and len(time_stamp):
+                    postprocessed_result = postprocess_utils.sentence_postprocess(token, time_stamp)
+                else:
+                    postprocessed_result = postprocess_utils.sentence_postprocess(token)
             text_postprocessed = ""
             time_stamp_postprocessed = ""
             text_postprocessed_punc = postprocessed_result
@@ -787,7 +791,7 @@
         time_stamp_writer: bool = True,
         punc_infer_config: Optional[str] = None,
         punc_model_file: Optional[str] = None,
-        sv_model_file: Optional[str] = None,
+        sv_model_file: Optional[str] = "~/.cache/modelscope/hub/damo/speech_paraformer-large-vad-punc-spk_asr_nat-zh-cn/campplus_cn_common.bin",
         streaming: bool = False,
         embedding_node: str = "resnet1_dense",
         sv_threshold: float = 0.9465,
@@ -933,7 +937,7 @@
             #####  speaker_verification  #####
             ##################################
             # load sv model
-            sv_model_dict = torch.load(sv_model_file, map_location=torch.device('cpu'))
+            sv_model_dict = torch.load(sv_model_file.replace("~", os.environ['HOME']), map_location=torch.device('cpu'))
             sv_model = CAMPPlus()
             sv_model.load_state_dict(sv_model_dict)
             sv_model.eval()
@@ -1084,7 +1088,6 @@
             logging.info("decoding, utt: {}, predictions: {}".format(key, text_postprocessed_punc))
         torch.cuda.empty_cache()
         distribute_spk(asr_result_list[0]['sentences'], sv_output)
-        import pdb; pdb.set_trace()
         return asr_result_list
 
     return _forward
@@ -2030,7 +2033,7 @@
         return inference_paraformer(**kwargs)
     elif mode == "paraformer_streaming":
         return inference_paraformer_online(**kwargs)
-    elif mode == "paraformer_vad_speaker":
+    elif mode.startswith("paraformer_vad_speaker"):
         return inference_paraformer_vad_speaker(**kwargs)
     elif mode.startswith("paraformer_vad"):
         return inference_paraformer_vad_punc(**kwargs)

--
Gitblit v1.9.1