From d80ac2fd2df4e7fb8a28acfa512bb11472b5cc99 Mon Sep 17 00:00:00 2001
From: liugz18 <57401541+liugz18@users.noreply.github.com>
Date: 星期四, 18 七月 2024 21:34:55 +0800
Subject: [PATCH] Rename 'res' in line 514 to avoid with naming conflict with line 365

---
 funasr/models/campplus/utils.py |   20 +++++++++-----------
 1 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/funasr/models/campplus/utils.py b/funasr/models/campplus/utils.py
index cb8d4b3..4addd0a 100644
--- a/funasr/models/campplus/utils.py
+++ b/funasr/models/campplus/utils.py
@@ -169,7 +169,7 @@
     return res
 
 
-def smooth(res, mindur=1):
+def smooth(res, mindur=0.7):
     # if only one segment, return directly
     if len(res) < 2:
         return res
@@ -193,23 +193,21 @@
 
 
 def distribute_spk(sentence_list, sd_time_list):
-    sd_sentence_list = []
+    sd_time_list = [(spk_st * 1000, spk_ed * 1000, spk) for spk_st, spk_ed, spk in sd_time_list]
     for d in sentence_list:
-        sentence_start = d["start"]
-        sentence_end = d["end"]
+        sentence_start = d['start']
+        sentence_end = d['end']
         sentence_spk = 0
         max_overlap = 0
-        for sd_time in sd_time_list:
-            spk_st, spk_ed, spk = sd_time
-            spk_st = spk_st * 1000
-            spk_ed = spk_ed * 1000
+        for spk_st, spk_ed, spk in sd_time_list:
             overlap = max(min(sentence_end, spk_ed) - max(sentence_start, spk_st), 0)
             if overlap > max_overlap:
                 max_overlap = overlap
                 sentence_spk = spk
-        d["spk"] = int(sentence_spk)
-        sd_sentence_list.append(d)
-    return sd_sentence_list
+            if overlap > 0 and sentence_spk == spk:
+                max_overlap += overlap
+        d['spk'] = int(sentence_spk)
+    return sentence_list
 
 
 class Storage(metaclass=ABCMeta):

--
Gitblit v1.9.1