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 + 主机参数(npz/bin,见下方清单)
├── 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=自动估计)。
模型说明
- 输入: 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 s | 0.057 |
| Python(step=2.0) | 19 s | 0.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。
参考
- pyannote-audio(MIT)
- pyannote-speaker-diarization.AXERA(完整转换源码)
- Downloads last month
- 67