/ Модель

Характеристики

Размер весов
33,4 МБ
Лицензия
CC BY 4.0
Архитектура
pyannote-community-1-coreml · dense
Базовая модель
speaker-diarization-community-1
Библиотека
coremltools
Опубликована
14 июл 2026

Pyannote-Community-1-CoreML

Классификация аудиоАудио → label3 профессии

Pyannote-Community-1-CoreML — это пакет компонентов Core ML для офлайн-диаризации речи, то есть определения участков речи и разделения их по говорящим.

2 594скачиваний за 30 дней1лайквеса обновлены14 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Пакет опубликован aufklarer и основан на pipeline pyannote/speaker-diarization-community-1; он входит в речевой инструментарий soniqo.audio и предназначен для работы на устройствах Apple с Apple Silicon. Это не единая сквозная модель: принимающее приложение должно выполнять powerset-декодирование, оценку числа говорящих, выбор масок с учётом перекрытий, кластеризацию VBx и восстановление временной шкалы.

В состав входят сегментационная модель PyanNet на 1,49 млн параметров и модель Masked WeSpeaker на 6,86 млн параметров, обе в формате скомпилированных Core ML и с точностью FP32. Сегментация обрабатывает монофонические аудиоданные 16 кГц окнами по 10 секунд, а WeSpeaker использует такие же окна и три маски по 589 кадров. Дополнительно поставляются преобразования PLDA в формате safetensors для перехода от 256 к 128 измерениям и кластеризации VBx. Графы работают с фиксированным размером батча 1 и требуют iOS 17 или macOS 14 либо более новых версий. Поддерживается многоязычная речь.

Сильные стороны пакета — автономная работа без Python, интеграция с нативным Swift runtime и высокая скорость на Apple M5 Pro: около 25-кратного ускорения относительно реального времени в заявленном тесте. На подмножестве VoxConverse получены DER 4,65% и JER 21,42%, что совпало с исходным Community-1, однако проверка охватывала только пять записей. Точность может заметно зависеть от записи: на одной встрече AMI DER составил 23%, а оценка числа говорящих была точной только для трёх из пяти записей, поэтому рекомендуется задавать известное или ограниченное число участников. Идентификаторы говорящих локальны для результата; для сопоставления личности можно использовать 256-мерные центроиды.

Лицензия пакета — CC BY 4.0 с указанием авторства и происхождения компонентов.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Pyannote Community-1 Core ML

Precompiled Core ML neural stages and native VBx data for the offline Pyannote Community-1 speaker-diarization pipeline on Apple platforms.

Part of the soniqo.audio speech toolkit. See the speaker-diarization guide, inspect the native Swift Community-1 runtime, or browse the Core ML Speech Models collection.

This is a pipeline bundle, not one end-to-end model. The host must run powerset decoding, speaker counting, overlap-aware mask selection, VBx clustering, and timeline reconstruction exactly as described by config.json.

Model

ComponentParametersPrecisionFormatSizeContext / sample rate
PyanNet segmentation1.49MFP32compiled Core ML5.7 MiB10 s / 16 kHz mono
Masked WeSpeaker6.86MFP32compiled Core ML26.2 MiB10 s + three 589-frame masks
PLDA transforms—FP32safetensors0.19 MiB256 to 128 dimensions

The WeSpeaker graph includes the exact Kaldi filterbank and weighted statistics pooling used by Community-1. Its vectors are intentionally not normalized before PLDA. Both Core ML graphs use fixed batch size one and require iOS 17 or macOS 14 or later.

Files

FileSizeDescription
segmentation.mlmodelc/5.7 MiBPrecompiled PyanNet segmentation graph
embedding.mlmodelc/26.2 MiBPrecompiled filterbank and masked WeSpeaker graph
plda.safetensors0.19 MiBPrecomputed x-vector and PLDA transforms for VBx
config.json—Tensor interfaces, pipeline constants, hashes, and conversion checks
benchmark.json—Sanitized aggregate and per-recording benchmark results
LICENSE—CC BY 4.0 notice and upstream attribution

Performance

Lower diarization error rate (DER) and Jaccard error rate (JER) are better. Throughput above 1x means faster than realtime.

EvaluationDERJERThroughputInterpretation
VoxConverse dev, five-file subset, 0.25 s collar, overlap included4.65%21.42%25.0xBelow 10% DER and exactly matches upstream Community-1
speech-swift native runtime, same five files and scorer4.66%21.43%25.2x0.02 DER points from the published reference
Same five files, strict 0 s collar6.99%23.07%25.0xBoundary errors are fully counted
AMI ES2004a single-meeting diagnostic, known 4 speakers23.00%23.62%24.0xExact upstream match; weak absolute accuracy on this meeting

Tested on Apple M5 Pro with cpu-and-neural-engine. Peak process memory was 863 MiB. The five-file speaker-count estimate was exact for 3 of 5 recordings, so callers should allow a known or bounded count when available.

The neural stages themselves processed one 10-second window in a median 7.44 ms for segmentation and 33.24 ms for all three masked embeddings. The benchmark used the official Community-1 host processing and revision 3533c8cf8e369892e6b79ff1bf80f7b0286a54ee. Scores and speaker counts matched the upstream PyTorch/MPS run for every evaluated recording.

The VoxConverse result is a small five-recording release check, not a claim over the full dataset. The AMI row is one meeting and is shown as a limitation, not a representative AMI score.

Swift runtime integration

The matching native runtime is available in soniqo/speech-swift on feat/community1-coreml at commit a6ed5a5. It runs both Core ML graphs, powerset decoding, speaker counting, PLDA, VBx, constrained assignment, and timeline reconstruction without Python.

speech diarize meeting.wav --engine community1
speech diarize meeting.wav --engine community1 --num-speakers 2
speech diarize meeting.wav --engine community1 --min-speakers 2 --max-speakers 6
let diarizer = try await Community1DiarizationPipeline.fromPretrained()
try diarizer.prewarm()

let result = try diarizer.diarize(
    audio: samples,
    sampleRate: 16_000,
    speakerBounds: Community1SpeakerBounds(minimum: 2, maximum: 6)
)

The runtime returns diarized segments plus one 256-dimensional centroid for each detected speaker. Speaker IDs are local to one result; use the centroids for recording-local or persistent identity matching.

Download

hf download aufklarer/Pyannote-Community-1-CoreML --local-dir Pyannote-Community-1-CoreML

Python example

The following runs the segmentation stage. Complete diarization also needs the host steps and PLDA data described in config.json.

import json
from pathlib import Path

import coremltools as ct
import numpy as np

root = Path("Pyannote-Community-1-CoreML")
config = json.loads((root / "config.json").read_text())
model = ct.models.CompiledMLModel(
    str(root / config["segmentation"]["model"]),
    compute_units=ct.ComputeUnit.CPU_AND_NE,
)

# One 10-second, 16 kHz mono window in [-1, 1].
waveform = np.zeros((1, 1, 160_000), dtype=np.float32)
log_probabilities = model.predict({"waveform": waveform})["log_probabilities"]
print(log_probabilities.shape)  # (1, 589, 7)

On Apple platforms, load the .mlmodelc directories directly. Do not compile an .mlpackage at runtime; compiled artifacts are provided to keep behavior stable across macOS, iOS, and simulator runtimes.

Source and license

Derived from pyannote/speaker-diarization-community-1 at revision 3533c8cf8e369892e6b79ff1bf80f7b0286a54ee. Community-1 combines Pyannote segmentation, WeSpeaker embeddings, and VBx clustering and is distributed under CC BY 4.0. Preserve this attribution when redistributing the bundle.

Links

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · coremltools

Нельзя запустить

Библиотека «coremltools» рантаймом не поддерживается.

Ревизия весов
a14e6c4

0 моделей