| | |
| | | from funasr.train_utils.set_all_random_seed import set_all_random_seed |
| | | from funasr.train_utils.load_pretrained_model import load_pretrained_model |
| | | from funasr.utils import export_utils |
| | | |
| | | try: |
| | | from funasr.models.campplus.utils import sv_chunk, postprocess, distribute_spk |
| | | from funasr.models.campplus.cluster_backend import ClusterBackend |
| | | except: |
| | | print("Notice: If you want to use the speaker diarization, please `pip install hdbscan`") |
| | | pass |
| | | |
| | | |
| | | def prepare_data_iterator(data_in, input_len=None, data_type=None, key=None): |
| | |
| | | if vad_model is not None: |
| | | logging.info("Building VAD model.") |
| | | vad_kwargs["model"] = vad_model |
| | | vad_kwargs["model_revision"] = kwargs.get("vad_model_revision", None) |
| | | vad_kwargs["model_revision"] = kwargs.get("vad_model_revision", "master") |
| | | vad_kwargs["device"] = kwargs["device"] |
| | | vad_model, vad_kwargs = self.build_model(**vad_kwargs) |
| | | |
| | |
| | | if punc_model is not None: |
| | | logging.info("Building punc model.") |
| | | punc_kwargs["model"] = punc_model |
| | | punc_kwargs["model_revision"] = kwargs.get("punc_model_revision", None) |
| | | punc_kwargs["model_revision"] = kwargs.get("punc_model_revision", "master") |
| | | punc_kwargs["device"] = kwargs["device"] |
| | | punc_model, punc_kwargs = self.build_model(**punc_kwargs) |
| | | |
| | |
| | | if spk_model is not None: |
| | | logging.info("Building SPK model.") |
| | | spk_kwargs["model"] = spk_model |
| | | spk_kwargs["model_revision"] = kwargs.get("spk_model_revision", None) |
| | | spk_kwargs["model_revision"] = kwargs.get("spk_model_revision", "master") |
| | | spk_kwargs["device"] = kwargs["device"] |
| | | spk_model, spk_kwargs = self.build_model(**spk_kwargs) |
| | | self.cb_model = ClusterBackend().to(kwargs["device"]) |
| | |
| | | key = res[i]["key"] |
| | | vadsegments = res[i]["value"] |
| | | input_i = data_list[i] |
| | | speech = load_audio_text_image_video(input_i, fs=kwargs["frontend"].fs, audio_fs=kwargs.get("fs", 16000)) |
| | | fs = kwargs["frontend"].fs if hasattr(kwargs["frontend"], "fs") else 16000 |
| | | speech = load_audio_text_image_video(input_i, fs=fs, audio_fs=kwargs.get("fs", 16000)) |
| | | speech_lengths = len(speech) |
| | | n = len(vadsegments) |
| | | data_with_index = [(vadsegments[i], i) for i in range(n)] |