pyannote / pyannote-audio

Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding
http://pyannote.github.io
MIT License
6.41k stars 790 forks source link

Question about speaker diarization pipeline #105

Closed kam1107 closed 6 years ago

kam1107 commented 6 years ago

Hi, I tried to follow the tutorial of speaker diarization on AMI dataset. I have gone through the other tutorials and the results applied were stored in tutorials/pipeline/sad etc. However, when I try pyannote-pipeline train --forever ${EXPERIMENT_DIR} AMI.SpeakerDiarization.MixHeadset it gave the error: File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/bin/pyannote-pipeline", line 11, in sys.exit(main()) File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/pyannote/audio/applications/pipeline.py", line 260, in main application.train(protocol_name, subset=subset, n_calls=trials) File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/pyannote/audio/applications/pipeline.py", line 167, in train for s, status in enumerate(iterations): File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/pyannote/audio/pipeline/base.py", line 236, in tune_iter protocol, subset=subset, learning=True) File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/pyannote/audio/pipeline/base.py", line 98, in objective hypothesis = self.apply(current_file) File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/pyannote/audio/pipeline/speaker_diarization.py", line 232, in apply speech_turns = super().apply(current_file) File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/pyannote/audio/pipeline/speaker_diarization.py", line 90, in apply softsad = self.sad(current_file) File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/pyannote/audio/features/utils.py", line 279, in call data = np.load(path, mmap_mode='r') File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/numpy/lib/npyio.py", line 418, in load return format.open_memmap(file, mode=mmap_mode) File "/data/greyostrich/aims/aimsre/xxlu/packages/miniconda3/envs/pyannote/lib/python3.6/site-packages/numpy/lib/format.py", line 747, in open_memmap raise ValueError("Filename must be a string. Memmap cannot use" ValueError: Filename must be a string. Memmap cannot use existing file handles. I am not sure what caused this error. Could you please help with this?

Many thanks, Kam

hbredin commented 6 years ago

I cannot reproduce this error.

kam1107 commented 6 years ago

Just to confirm, by saying: "This configuration file assumes that you have already been through the other tutorials and applied speech activity detection (into tutorials/pipeline/sad) speaker change detection (into tutorials/pipeline/scd) speaker embedding (into tutorials/pipeline/emb)"

Does that mean to put the scores of : "$ pyannote-change-detection apply ${TRAIN_DIR}/weights/0050.pt AMI.SpeakerDiarization.MixHeadset /path/to/scd" for example, to tutorials/pipeline/scd?

Many thanks.

hbredin commented 6 years ago

Yes. /path/to/scd should be replaced by /absolute/path/to/tutorials/pipeline/scd.

hbredin commented 6 years ago

This should be fixed in latest release (1.0.1).