| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| from omegaconf import OmegaConf |
| from pytorch_lightning import seed_everything |
|
|
| from nemo.collections.asr.models import ClusteringDiarizer |
| from nemo.core.config import hydra_runner |
| from nemo.utils import logging |
|
|
| """ |
| This script demonstrates how to use run speaker diarization. |
| Usage: |
| python offline_diar_infer.py \ |
| diarizer.manifest_filepath=<path to manifest file> \ |
| diarizer.out_dir='demo_output' \ |
| diarizer.speaker_embeddings.model_path=<pretrained modelname or path to .nemo> \ |
| diarizer.vad.model_path='vad_marblenet' \ |
| diarizer.speaker_embeddings.parameters.save_embeddings=False |
| |
| Check out whole parameters in ./conf/offline_diarization.yaml and their meanings. |
| For details, have a look at <NeMo_git_root>/tutorials/speaker_tasks/Speaker_Diarization_Inference.ipynb |
| """ |
|
|
| seed_everything(42) |
|
|
|
|
| @hydra_runner(config_path="../conf/inference", config_name="diar_infer_meeting.yaml") |
| def main(cfg): |
| logging.info(f'Hydra config: {OmegaConf.to_yaml(cfg)}') |
| sd_model = ClusteringDiarizer(cfg=cfg).to(cfg.device) |
| sd_model.diarize() |
|
|
|
|
| if __name__ == '__main__': |
| main() |
|
|