/ Модель

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

Лицензия
CC BY 4.0
Опубликована
8 сен 2026

pyannote-speaker-diarization.axera

Классификация аудиоАудио → label

Квантованный пакет диаризации pyannote для AXERA AX650N, который размечает аудиозаписи по говорящим и выдаёт временные метки RTTM.

35скачиваний за 30 дней1лайквеса обновлены9 окт 2026

Бенчмарки

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

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

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

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

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

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

pyannote-speaker-diarization.axera — пакет развертывания модели диаризации речи pyannote/speaker-diarization-community-1 для ускорителя AXERA AX650N. Он принимает монофоническую WAV-запись с частотой 16 кГц и формирует временные метки говорящих в формате RTTM, автоматически оценивая число участников или используя заданное значение. Обработка включает сегментацию речи, извлечение эмбеддингов говорящих и кластеризацию; пакет содержит восемь квантованных axmodel и варианты для NPU2 и NPU3.

Модель предназначена для разметки записей совещаний и другого многоголосого аудио. В описанном тесте 120-секундной записи C++-реализация на AX650N обработала аудио за 6,9 секунды, Python-реализация — за 19 секунд, без учёта загрузки модели. В README также приведены оценки DER на наборах AMI и AliMeeting; на AliMeeting результаты на устройстве уступают исходной GPU-версии community-1. Для запуска требуются компоненты axengine; Python-путь использует numpy, scipy, scikit-learn и soundfile. Производный пакет распространяется по лицензии CC BY 4.0.

Сценарии применения

  • Разметка участников в записях совещаний
  • Определение временных границ реплик разных говорящих
  • Автоматическая оценка числа говорящих в аудиозаписи
  • Подготовка RTTM-разметки для анализа многоголосых записей

Ограничения

Пакет рассчитан на монофонический WAV с частотой 16 кГц и требует аппаратуры AXERA AX650N с axengine. В тестах DER на AliMeeting выше, чем у исходной GPU-версии community-1; результаты зависят от настроек шага и конфигурации NPU.

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

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

Открыть на Hugging Face

pyannote-speaker-diarization.AXERA

pyannote/speaker-diarization-community-1(cc-by-4.0)说话人日志模型的 AX650N 量化部署包: 输入 16 kHz 单声道会议音频,输出 RTTM 说话人时序标签。

  • 模型: 8 个 axmodel(U16 激活 / S8 权重)
  • 依赖: Python 仅 numpy + scipy + scikit-learn + soundfile + axengine;C++ 为预编译 aarch64 可执行文件

目录

├── models/       # 8 个 axmodel + 主机参数(NPU3 三核版,推荐)
├── models_npu2/  # 同一组模型 NPU2 双核版(输出与 NPU3 一致,RTF 慢约 33%)
├── python/       # Python 推理入口(community1_sdk + example.py)
├── bin/          # C++ 可执行文件(aarch64):community1_diar_ax650
├── samples/      # 演示音频(2 人会议 120 s)
├── run_ax650.sh  run_cpp_ax650.sh   # 一键运行(Python / C++)
└── requirements.txt

Python 运行

pip install numpy scipy scikit-learn soundfile
# pyaxengine: https://github.com/AXERA-TECH/pyaxengine/releases/latest
pip3 install axengine-<version>-py3-none-any.whl
./run_ax650.sh                           # 自带样例 samples/sample_meeting.wav
./run_ax650.sh input.wav output.rttm     # 自定义输入

或:

from community1_sdk.pipeline import Pipeline, run_pipeline
pipeline = Pipeline(seg_a='models/segmentation_sincnet.axmodel', ...)
rttm = run_pipeline(pipeline, wav_16k_float32, uri='audio')

C++ 运行

export LD_LIBRARY_PATH=/soc/lib:${LD_LIBRARY_PATH:-}
./bin/community1_diar_ax650 --model-dir models --wav input.wav \
    --out output.rttm --step 2.0
# 或一键:./run_cpp_ax650.sh input.wav output.rttm

常用参数:--step 2.0(滑动步长,2.5 更快 +0~1.5 pp)、--num-speakers 0(0=自动估计)。 切换 NPU2 版:--model-dir models_npu2(run_ax650.sh 通过环境变量 MODEL_DIR 指定)。

模型说明

  • 输入: 16 kHz 单声道 wav;输出: RTTM(SPEAKER <uri> 1 <start> <dur> <NA> <NA> SPEAKER_XX <NA> <NA>)
  • 流水线: sincnet 分割(im2col + MatMul)→ 4 层 BiLSTM(96 步 cell,FP32 状态跨块) → 说话人嵌入(ResNet34 + TSTP)→ PLDA/AHC/VBx 聚类
  • InstanceNorm / TSTP 统计池化在 U16 量化域数值崩坏,放主机 FP32 计算
  • 完整转换源码见 GitHub: pyannote-speaker-diarization.AXERA

测试集评测

指标表所用 AMI / AliMeeting / VoxConverse 三个测试集的下载链接、参考处理与评分脚本见 GitHub benchmark/。

RTF(AX650N 实测, samples/sample_meeting.wav 120 s)

推理路径耗时RTF
C++(8 线程, step=2.0)6.9 s0.057
Python(step=2.0)19 s0.16

RTF = 推理耗时 / 音频时长(不含模型加载);单场 30 分钟会议约 2.5 分钟(C++)。

指标(帧级 DER)

数据集community-1 板端3D-Speaker 板端¹community-1 GPU
AMI dev12(no collar)20.06%29.72%20.08%
AliMeeting eval(±0.125 s)20.88%29.34%18.84%
AliMeeting eval(±0.25 s)17.26%24.36%15.16%
VoxConverse test(±0.125 s)9.11%9.27%8.49%

¹ 3D-Speaker 板端 = FSMN VAD + CAM++ + 谱聚类量化管线,RTF 0.046~0.047。

参考

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

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

GPU в ailist

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

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

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
9d7333a

0 моделей