update preset_spk_num

This commit is contained in:
shixian.shi 2024-02-05 11:15:06 +08:00
parent 9c5f00794e
commit 94f7bd079c
2 changed files with 8 additions and 7 deletions

View File

@ -11,18 +11,22 @@ model = AutoModel(model="iic/speech_seaco_paraformer_large_asr_nat-zh-cn-16k-com
vad_model_revision="v2.0.4",
punc_model="damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
punc_model_revision="v2.0.4",
# spk_model="damo/speech_campplus_sv_zh-cn_16k-common",
# spk_model_revision="v2.0.2",
spk_model="damo/speech_campplus_sv_zh-cn_16k-common",
spk_model_revision="v2.0.2",
)
# example1
res = model.generate(input="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
hotword='达摩院 魔搭',
# preset_spk_num=2,
# sentence_timestamp=True, # return sentence level information when spk_model is not given
)
print(res)
'''
# tensor or numpy as input
# example2
import torchaudio
import os
@ -38,4 +42,4 @@ import soundfile
wav_file = os.path.join(model.model_path, "example/asr_example.wav")
speech, sample_rate = soundfile.read(wav_file)
res = model.generate(input=[speech], batch_size_s=300, is_final=True)
'''

View File

@ -121,9 +121,6 @@ class AutoModel:
if spk_mode not in ["default", "vad_segment", "punc_segment"]:
logging.error("spk_mode should be one of default, vad_segment and punc_segment.")
self.spk_mode = spk_mode
self.preset_spk_num = kwargs.get("preset_spk_num", None)
if self.preset_spk_num:
logging.warning("Using preset speaker number: {}".format(self.preset_spk_num))
self.kwargs = kwargs
self.model = model
@ -391,7 +388,7 @@ class AutoModel:
if self.spk_model is not None:
all_segments = sorted(all_segments, key=lambda x: x[0])
spk_embedding = result['spk_embedding']
labels = self.cb_model(spk_embedding.cpu(), oracle_num=self.preset_spk_num)
labels = self.cb_model(spk_embedding.cpu(), oracle_num=kwargs['preset_spk_num'])
del result['spk_embedding']
sv_output = postprocess(all_segments, None, labels, spk_embedding.cpu())
if self.spk_mode == 'vad_segment': # recover sentence_list