Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding
This report summarizes scanner evidence for pyannote/pyannote-audio, a Jupyter Notebook project with 10,781 GitHub stars. SynthScan examined 25,298 lines of code across 136 source files, recording 351 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 19.7 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-11-11.
Can maintainers explain intent, assumptions, and trade-offs? 225 finding(s).
Are imports declared and package/API names verified? 68 finding(s).
Are wrappers, guards, and repeated structures necessary? 166 finding(s).
Which changes need focused human review? 351 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 351 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/pyannote/audio/models/blocks/sincnet.py | 0 | compute number of output frames parameters ---------- num_samples : int number of input samples. returns ------- num_fra | STRING |
| HIGH | src/pyannote/audio/models/segmentation/SSeRiouSS.py | 0 | compute number of output frames parameters ---------- num_samples : int number of input samples. returns ------- num_fra | STRING |
| HIGH | src/pyannote/audio/models/embedding/xvector.py | 0 | compute number of output frames parameters ---------- num_samples : int number of input samples. returns ------- num_fra | STRING |
| HIGH | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 0 | compute number of output frames parameters ---------- num_samples : int number of input samples. returns ------- num_fra | STRING |
| HIGH | src/pyannote/audio/models/embedding/wespeaker/resnet.py | 0 | compute number of output frames parameters ---------- num_samples : int number of input samples. returns ------- num_fra | STRING |
| HIGH | src/pyannote/audio/models/separation/ToTaToNet.py | 0 | compute number of output frames parameters ---------- num_samples : int number of input samples. returns ------- num_fra | STRING |
| HIGH | src/pyannote/audio/models/blocks/sincnet.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | src/pyannote/audio/models/segmentation/debug.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | src/pyannote/audio/models/segmentation/SSeRiouSS.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | src/pyannote/audio/models/segmentation/PyanNet.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | src/pyannote/audio/models/embedding/debug.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | src/pyannote/audio/models/embedding/xvector.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | src/pyannote/audio/models/embedding/wespeaker/resnet.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | src/pyannote/audio/models/separation/ToTaToNet.py | 0 | compute size of receptive field parameters ---------- num_frames : int, optional number of frames in the output signal r | STRING |
| HIGH | src/pyannote/audio/models/blocks/sincnet.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | src/pyannote/audio/models/segmentation/debug.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | src/pyannote/audio/models/segmentation/SSeRiouSS.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | src/pyannote/audio/models/segmentation/PyanNet.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | src/pyannote/audio/models/embedding/debug.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | src/pyannote/audio/models/embedding/xvector.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | src/pyannote/audio/models/embedding/wespeaker/resnet.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | src/pyannote/audio/models/separation/ToTaToNet.py | 0 | compute center of receptive field parameters ---------- frame : int, optional frame index returns ------- receptive_fiel | STRING |
| HIGH | src/pyannote/audio/models/segmentation/debug.py | 0 | compute number of output frames for a given number of input samples parameters ---------- num_samples : int number of in | STRING |
| HIGH | src/pyannote/audio/models/embedding/debug.py | 0 | compute number of output frames for a given number of input samples parameters ---------- num_samples : int number of in | STRING |
| HIGH | src/pyannote/audio/models/segmentation/PyanNet.py | 0 | compute number of output frames for a given number of input samples parameters ---------- num_samples : int number of in | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 1 | # MIT License | COMMENT |
| LOW | tests/test_totatonet.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | tests/test_cli_optimize.py | 1 | # MIT License | COMMENT |
| LOW | tests/test_sample.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | tests/test_metrics.py | 1 | # MIT License | COMMENT |
| LOW | tests/test_train.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | tests/test_stats_pool.py | 1 | # MIT License | COMMENT |
| LOW | tests/test_pipeline_subfolder.py | 1 | # MIT License | COMMENT |
| LOW | tests/utils/test_powerset.py | 1 | # MIT License | COMMENT |
| LOW | tests/utils/test_diarization.py | 1 | # MIT License | COMMENT |
| LOW | doc/source/conf.py | 1 | # | COMMENT |
| LOW | doc/source/conf.py | 81 | # The full version, including alpha/beta/rc tags. | COMMENT |
| LOW | doc/source/conf.py | 101 | COMMENT | |
| LOW | doc/source/conf.py | 121 | COMMENT | |
| LOW | src/pyannote/audio/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/__main__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/augmentation/registry.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/augmentation/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/augmentation/mix.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/segmentation/mixins.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/segmentation/mixins.py | 321 | COMMENT | |
| LOW | …e/audio/tasks/segmentation/voice_activity_detection.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/segmentation/multilabel.py | 1 | # MIT License | COMMENT |
| LOW | …annote/audio/tasks/segmentation/speaker_diarization.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/segmentation/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/embedding/mixins.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/embedding/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/embedding/arcface.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/separation/PixIT.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/tasks/separation/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/callback.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/task.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/plda.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/io.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/model.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/pipeline.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/inference.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/core/calibration.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/pipelines/speech_separation.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | …c/pyannote/audio/pipelines/voice_activity_detection.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/pipelines/clustering.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | src/pyannote/audio/pipelines/multilabel.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | src/pyannote/audio/pipelines/speaker_diarization.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | src/pyannote/audio/pipelines/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/pipelines/speaker_verification.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/pipelines/utils/hook.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/pipelines/utils/diarization.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/pipelines/utils/getter.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | src/pyannote/audio/pipelines/utils/oracle.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/pipelines/pyannoteai/sdk.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | src/pyannote/audio/pipelines/pyannoteai/local.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | src/pyannote/audio/pipelines/pyannoteai/__init__.py | 1 | # The MIT License (MIT) | COMMENT |
| LOW | src/pyannote/audio/utils/preview.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/utils/multi_task.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/utils/signal.py | 1 | # | COMMENT |
| LOW | src/pyannote/audio/utils/hf_hub.py | 1 | # MIT License | COMMENT |
| LOW | src/pyannote/audio/utils/reproducibility.py | 1 | # MIT License | COMMENT |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_cli_benchmark.py | 19 | def test_benchmark_configurations(tmp_path, monkeypatch, selected, per_file): | CODE |
| LOW | tests/test_totatonet.py | 42 | def test_totatonet_linear_configuration(linear): | CODE |
| LOW | tests/test_cli_optimize.py | 65 | def test_optimize_cli_with_single_objective(tmp_path, monkeypatch): | CODE |
| LOW | tests/test_cli_optimize.py | 108 | def test_optimize_cli_with_multiple_objectives(tmp_path, monkeypatch): | CODE |
| LOW | tests/test_cli_optimize.py | 165 | def test_multi_objective_export_refreshes_pareto_front(tmp_path, monkeypatch): | CODE |
| LOW | tests/test_cli_optimize.py | 247 | def test_optimize_cli_with_speaker_count_error(tmp_path, monkeypatch, multi_objective): | CODE |
| LOW | tests/test_metrics.py | 126 | def test_batch_der_with_components(target, prediction): | CODE |
| LOW | tests/test_metrics.py | 159 | def test_discrete_der_does_not_saturate(num_frames: int): | CODE |
| LOW | tests/test_train.py | 80 | def test_train_segmentation_with_balance(protocol): | CODE |
| LOW | tests/test_train.py | 87 | def test_train_segmentation_with_cached_data_mono_device(protocol, cache): | CODE |
| LOW | tests/test_train.py | 99 | def test_train_multilabel_segmentation(gender_protocol): | CODE |
| LOW | tests/test_train.py | 106 | def test_train_multilabel_segmentation_with_cached_data_mono_device( | CODE |
| LOW⚡ | tests/test_train.py | 120 | def test_train_supervised_representation_with_arcface(protocol): | CODE |
| LOW⚡ | tests/test_train.py | 129 | def test_train_voice_activity_detection(protocol): | CODE |
| LOW⚡ | tests/test_train.py | 136 | def test_train_voice_activity_detection_with_cached_data_mono_device(protocol, cache): | CODE |
| LOW | tests/test_train.py | 148 | def test_finetune_with_task_that_does_not_need_setup_for_specs(protocol): | CODE |
| LOW | tests/test_train.py | 160 | def test_finetune_with_task_that_needs_setup_for_specs(protocol): | CODE |
| LOW | tests/test_train.py | 172 | def test_finetune_with_task_that_needs_setup_for_specs_and_with_cache(protocol, cache): | CODE |
| LOW | tests/test_train.py | 184 | def test_transfer_with_task_that_does_not_need_setup_for_specs(protocol): | CODE |
| LOW | tests/test_train.py | 196 | def test_transfer_with_task_that_needs_setup_for_specs(protocol): | CODE |
| LOW | tests/test_train.py | 208 | def test_finetune_freeze_with_task_that_needs_setup_for_specs(protocol): | CODE |
| LOW | tests/test_train.py | 221 | def test_finetune_freeze_with_task_that_needs_setup_for_specs_and_with_cache( | CODE |
| LOW | tests/test_train.py | 236 | def test_finetune_freeze_with_task_that_does_not_need_setup_for_specs(protocol): | CODE |
| LOW | tests/test_train.py | 249 | def test_finetune_freeze_with_task_that_does_not_need_setup_for_specs_and_with_cache( | CODE |
| LOW | tests/test_train.py | 265 | def test_transfer_freeze_with_task_that_does_not_need_setup_for_specs(protocol): | CODE |
| LOW | tests/test_train.py | 278 | def test_transfer_freeze_with_task_that_needs_setup_for_specs(protocol): | CODE |
| LOW | tests/inference_test.py | 16 | def test_hf_download_inference(): | CODE |
| LOW | tests/inference_test.py | 68 | def test_invalid_window_fails(trained): | CODE |
| LOW | tests/inference_test.py | 74 | def test_invalid_resolution_fails(trained): | CODE |
| LOW | tests/test_stats_pool.py | 28 | def test_stats_pool_weightless(): | CODE |
| LOW | tests/test_stats_pool.py | 43 | def test_stats_pool_one_speaker(): | CODE |
| LOW | tests/test_stats_pool.py | 66 | def test_stats_pool_multi_speaker(): | CODE |
| LOW | tests/test_stats_pool.py | 89 | def test_stats_pool_frame_mismatch(): | CODE |
| LOW | tests/test_stats_pool.py | 111 | def test_stats_pool_all_zero_weights(): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 128 | def test_dict_model_reference_with_explicit_revision(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 135 | def test_dict_model_reference_inherits_parent_revision(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 140 | def test_list_model_reference_no_parent_subfolder(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 146 | def test_list_model_reference_with_parent_subfolder(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 152 | def test_nested_dict_model_references(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 158 | def test_nested_list_model_references(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 165 | def test_no_model_id_leaves_checkpoint_as_none(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 171 | def test_parent_subfolder_combined_with_explicit_revision(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 195 | def test_loads_config_from_root_without_subfolder(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 201 | def test_loads_config_from_subfolder(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 207 | def test_subfolder_does_not_exist_raises(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 213 | def test_model_refs_resolved_under_subfolder(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 226 | def test_nested_subfolder_path(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 232 | def test_model_refs_resolved_under_nested_subfolder(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 241 | def test_revision_raises_with_local_directory(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 298 | def test_parent_is_correct_type(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 304 | def test_subpipeline_is_registered(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 310 | def test_subpipeline_is_correct_type(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 316 | def test_grandchild_pipeline_is_registered(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 322 | def test_grandchild_pipeline_is_leaf_type(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 328 | def test_without_subfolder_loads_from_root(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 358 | def test_dict_checkpoint_with_subfolder_does_not_double_prefix(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 368 | def test_file_checkpoint_with_subfolder_raises(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 375 | def test_file_checkpoint_without_subfolder_loads(self, tmp_path): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 382 | def test_dict_checkpoint_with_subfolder_raises(self): | CODE |
| LOW⚡ | tests/test_pipeline_subfolder.py | 388 | def test_dict_checkpoint_end_to_end(self, tmp_path, monkeypatch): | CODE |
| 26 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/pyannote/audio/__init__.py | 28 | CODE | |
| LOW | src/pyannote/audio/__init__.py | 29 | CODE | |
| LOW | src/pyannote/audio/__init__.py | 30 | CODE | |
| LOW | src/pyannote/audio/__init__.py | 31 | CODE | |
| LOW | src/pyannote/audio/augmentation/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/tasks/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/tasks/__init__.py | 25 | CODE | |
| LOW | src/pyannote/audio/tasks/__init__.py | 26 | CODE | |
| LOW | src/pyannote/audio/tasks/__init__.py | 27 | CODE | |
| LOW | src/pyannote/audio/tasks/embedding/arcface.py | 24 | CODE | |
| LOW | src/pyannote/audio/core/model.py | 24 | CODE | |
| LOW | src/pyannote/audio/core/pipeline.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/__init__.py | 25 | CODE | |
| LOW | src/pyannote/audio/pipelines/__init__.py | 26 | CODE | |
| LOW | src/pyannote/audio/pipelines/__init__.py | 27 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 23 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 35 | CODE | |
| LOW | src/pyannote/audio/models/segmentation/__init__.py | 23 | CODE | |
| LOW | src/pyannote/audio/models/segmentation/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/models/embedding/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/models/embedding/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/models/embedding/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/models/embedding/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/models/embedding/__init__.py | 30 | CODE | |
| LOW | src/pyannote/audio/models/embedding/__init__.py | 30 | CODE | |
| LOW | src/pyannote/audio/models/separation/__init__.py | 23 | CODE | |
| LOW | src/pyannote/audio/telemetry/metrics.py | 17 | CODE | |
| LOW | src/pyannote/audio/telemetry/__init__.py | 1 | CODE | |
| LOW | src/pyannote/audio/telemetry/__init__.py | 1 | CODE | |
| LOW | src/pyannote/audio/telemetry/__init__.py | 1 | CODE | |
| LOW | src/pyannote/audio/telemetry/__init__.py | 1 | CODE | |
| LOW | src/pyannote/audio/telemetry/__init__.py | 1 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 24 | CODE | |
| LOW | …pyannote/audio/torchmetrics/classification/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/audio/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/audio/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/audio/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/audio/__init__.py | 24 | CODE | |
| LOW | src/pyannote/audio/torchmetrics/audio/__init__.py | 24 | CODE | |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_pipeline_subfolder.py | 184 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_pipeline_subfolder.py | 186 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_pipeline_subfolder.py | 248 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_pipeline_subfolder.py | 250 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_pipeline_subfolder.py | 347 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_pipeline_subfolder.py | 349 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_pipeline_subfolder.py | 32 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_pipeline_subfolder.py | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_pipeline_subfolder.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_pipeline_subfolder.py | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/ci.yml | 16 | # build ──┬──► test ──────────┬──► publish (release only) | COMMENT |
| MEDIUM | src/pyannote/audio/augmentation/registry.py | 157 | # ============================================================================= | COMMENT |
| MEDIUM | src/pyannote/audio/augmentation/registry.py | 159 | # ============================================================================= | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/pyannote/audio/__main__.py | 670 | CODE | |
| LOW | src/pyannote/audio/augmentation/mix.py | 57 | CODE | |
| LOW | …e/audio/tasks/segmentation/voice_activity_detection.py | 87 | CODE | |
| LOW | src/pyannote/audio/tasks/segmentation/multilabel.py | 93 | CODE | |
| LOW | …annote/audio/tasks/segmentation/speaker_diarization.py | 114 | CODE | |
| LOW | src/pyannote/audio/tasks/embedding/arcface.py | 82 | CODE | |
| LOW | src/pyannote/audio/tasks/separation/PixIT.py | 156 | CODE | |
| LOW | src/pyannote/audio/core/task.py | 253 | CODE | |
| LOW | src/pyannote/audio/core/inference.py | 79 | CODE | |
| LOW | src/pyannote/audio/pipelines/speech_separation.py | 128 | CODE | |
| LOW | src/pyannote/audio/pipelines/speaker_diarization.py | 194 | CODE | |
| LOW | src/pyannote/audio/utils/vbx.py | 27 | CODE | |
| LOW | src/pyannote/audio/models/segmentation/SSeRiouSS.py | 83 | CODE | |
| LOW | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 56 | CODE | |
| LOW | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 320 | CODE | |
| LOW | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 349 | CODE | |
| LOW | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 378 | CODE | |
| LOW | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 407 | CODE | |
| LOW | src/pyannote/audio/models/embedding/wespeaker/resnet.py | 144 | CODE | |
| LOW | src/pyannote/audio/models/embedding/wespeaker/resnet.py | 211 | CODE | |
| LOW | src/pyannote/audio/models/embedding/wespeaker/resnet.py | 367 | CODE | |
| LOW | src/pyannote/audio/models/separation/ToTaToNet.py | 131 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/pyannote/audio/__main__.py | 272 | CODE | |
| LOW | src/pyannote/audio/__main__.py | 793 | CODE | |
| LOW | src/pyannote/audio/tasks/segmentation/multilabel.py | 133 | CODE | |
| LOW | …annote/audio/tasks/segmentation/speaker_diarization.py | 168 | CODE | |
| LOW | src/pyannote/audio/tasks/embedding/mixins.py | 131 | CODE | |
| LOW | src/pyannote/audio/tasks/separation/PixIT.py | 224 | CODE | |
| LOW | src/pyannote/audio/tasks/separation/PixIT.py | 479 | CODE | |
| LOW | src/pyannote/audio/core/task.py | 322 | CODE | |
| LOW | src/pyannote/audio/core/pipeline.py | 51 | CODE | |
| LOW | src/pyannote/audio/core/pipeline.py | 161 | CODE | |
| LOW | src/pyannote/audio/pipelines/speaker_verification.py | 717 | CODE | |
| LOW | src/pyannote/audio/pipelines/utils/getter.py | 38 | CODE | |
| LOW | src/pyannote/audio/utils/preview.py | 90 | CODE | |
| LOW | src/pyannote/audio/utils/preview.py | 196 | CODE | |
| LOW | src/pyannote/audio/utils/signal.py | 251 | CODE | |
| LOW | src/pyannote/audio/utils/metric.py | 168 | CODE | |
| LOW | src/pyannote/audio/utils/permutation.py | 106 | CODE | |
| LOW | src/pyannote/audio/utils/permutation.py | 205 | CODE | |
| LOW | src/pyannote/audio/utils/dependencies.py | 59 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/pyannote/audio/__init__.py | 33 | __all__ = ["Audio", "Inference", "Model", "Pipeline"] | CODE |
| LOW | src/pyannote/audio/augmentation/__init__.py | 26 | __all__ = ["MixSpeakerDiarization"] | CODE |
| LOW | src/pyannote/audio/tasks/__init__.py | 33 | __all__ = [ | CODE |
| LOW | src/pyannote/audio/pipelines/__init__.py | 29 | __all__ = [ | CODE |
| LOW | src/pyannote/audio/pipelines/utils/__init__.py | 37 | __all__ = [ | CODE |
| LOW | src/pyannote/audio/models/segmentation/__init__.py | 26 | __all__ = ["PyanNet", "SSeRiouSS"] | CODE |
| LOW | src/pyannote/audio/models/embedding/__init__.py | 32 | __all__ = [ | CODE |
| LOW | …/pyannote/audio/models/embedding/wespeaker/__init__.py | 435 | __all__ = [ | CODE |
| LOW | src/pyannote/audio/models/separation/__init__.py | 25 | __all__ = ["ToTaToNet"] | CODE |
| LOW | src/pyannote/audio/telemetry/metrics.py | 188 | def set_telemetry_metrics(enabled: bool, save_choice_as_default: bool = False) -> None: | CODE |
| LOW | src/pyannote/audio/telemetry/metrics.py | 205 | def set_opentelemetry_log_level(level: str) -> None: | CODE |
| LOW | src/pyannote/audio/telemetry/__init__.py | 9 | __all__ = [ | CODE |
| LOW | src/pyannote/audio/torchmetrics/__init__.py | 39 | __all__ = [ | CODE |
| LOW | …pyannote/audio/torchmetrics/classification/__init__.py | 26 | __all__ = [ | CODE |
| LOW | src/pyannote/audio/torchmetrics/audio/__init__.py | 40 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | doc/source/conf.py | 5 | # This file is execfile()d with the current directory set to its | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/pyannote/audio/__main__.py | 1066 | except Exception as e: | CODE |
| LOW | src/pyannote/audio/core/io.py | 47 | except Exception as e: | CODE |
| LOW | src/pyannote/audio/pipelines/speaker_verification.py | 695 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/pyannote/audio/tasks/segmentation/mixins.py | 361 | # TODO: implement when pyannote.audio gets its first mono-label segmentation task | COMMENT |