olivierb commited on
Commit
39dd1fe
0 Parent(s):

initial commit

Browse files
Files changed (4) hide show
  1. .gitattributes +35 -0
  2. LICENSE +23 -0
  3. README.md +60 -0
  4. config.yaml +19 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
LICENSE ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2023 CNRS
4
+ Copyright (c) 2023 HeKA Research Team
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+
README.md ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - "fr"
4
+ tags:
5
+ - "audio"
6
+ - "speech"
7
+ - "speaker-diarization"
8
+ - "medkit"
9
+ - "pyannote-audio"
10
+ datasets:
11
+ - "common_voice"
12
+ - "pxcorpus"
13
+ - "simsamu"
14
+ metrics:
15
+ - "der"
16
+ ---
17
+
18
+ # Simsamu diarization pipeline
19
+
20
+ This repository contains a pretrained
21
+ [pyannote-audio](https://github.com/pyannote/pyannote-audio) diarization
22
+ pipeline that was fine-tuned on the
23
+ [Simsamu](https://huggingface.co/datasets/medkit/simsamu) dataset.
24
+
25
+ The pipeline uses a fine-tuned segmentation model based on
26
+ https://huggingface.co/pyannote/segmentation-3.0 and pretrained embeddings from
27
+ https://huggingface.co/pyannote/wespeaker-voxceleb-resnet34-LM. The pipeline
28
+ hyperparameters were optimized.
29
+
30
+ The pipeline can be used in [medkit](https://github.com/medkit-lib/medkit/) the
31
+ following way:
32
+
33
+ ```
34
+ from medkit.core.audio import AudioDocument
35
+ from medkit.audio.segmentation.pa_speaker_detector import PASpeakerDetector
36
+
37
+ # init speaker detector operation
38
+ speaker_detector = PASpeakerDetector(
39
+ model="medkit/simsamu-diarization",
40
+ device=0,
41
+ segmentation_batch_size=10,
42
+ embedding_batch_size=10,
43
+ )
44
+
45
+ # create audio document
46
+ audio_doc = AudioDocument.from_file("path/to/audio.wav")
47
+
48
+ # apply operation on audio document
49
+ speech_segments = speaker_detector.run([audio_doc.raw_segment])
50
+
51
+ # display each speech turn and corresponding speaker
52
+ for speech_seg in speech_segments:
53
+ speaker_attr = speech_seg.attrs.get(label="speaker")[0]
54
+ print(speech_seg.span.start, speech_seg.span.end, speaker_attr.value)
55
+ ```
56
+
57
+ More info at https://medkit.readthedocs.io/
58
+
59
+ See also: [Simsamu transcription
60
+ model](https://huggingface.co/medkit/simsamu-transcription)
config.yaml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: 3.1.0
2
+
3
+ pipeline:
4
+ name: pyannote.audio.pipelines.SpeakerDiarization
5
+ params:
6
+ clustering: AgglomerativeClustering
7
+ embedding: pyannote/wespeaker-voxceleb-resnet34-LM
8
+ embedding_batch_size: 1
9
+ embedding_exclude_overlap: true
10
+ segmentation: medkit/simsamu-segmentation
11
+ segmentation_batch_size: 32
12
+
13
+ params:
14
+ segmentation:
15
+ min_duration_off: 0.9559021479110187
16
+ clustering:
17
+ threshold: 0.7045654963945799
18
+ method: centroid
19
+ min_cluster_size: 12