FunASR 官方语音识别工具箱横幅

FunASR

—StarsFunASR Trendshift 排名标记

面向语音识别研究与部署的完整工具箱,支持模型训练、离线与流式推理、语音端点检测、标点恢复以及说话人日志等能力。

End-to-End ASROffline · StreamingModelScope
SPEAKER DIARIZATION · SCALING

让已知 K 真正成为有用的信息

样本规模决定能不能算,K 是否已知决定应该怎么算;两个维度共同决定聚类路径。

INPUTN embeddingsK 是否已知?
N < 2048Spectral保留小样本效果
N ≥ 2048 · K knownNormalized K-meansO(N × K × D)
N ≥ 2048 · K unknownUMAP / HDBSCAN保留原有路径
内存瓶颈

大样本不该生成稠密矩阵

`ClusterBackend` 在设置 `preset_spk_num` 后仍把所有规模的说话人嵌入送进谱聚类。长录音超过 2,048 个片段时,这条路径会构造 O(N²) 的稠密 affinity / Laplacian 矩阵并执行 O(N³) 特征分解;10,639 个片段即使已知只有两位说话人,也会失去原有的大规模保护。

可用先验

已知 K 已经改变了问题

样本规模决定谱方法是否可承受,说话人数是否已知决定是否还需要从谱结构估计簇数。已知 K 的大输入可以直接优化固定簇目标;但为了维持余弦相似度语义,K-means 前需要先对嵌入做 L2 归一化,并固定初始化确保多次运行可复现。

三路分流

按规模与先验选择算法

保留 2,048 以下的谱聚类和未知 K 大输入的 UMAP/HDBSCAN,仅为“大输入 + 已知 K”新增分支:先 L2 归一化说话人向量,再以请求的簇数运行确定性 K-means;回归同时锁定阈值处分发和实际聚类结果。

运行结果

长音频走上线性内存路径

10,639×192 的合成说话人嵌入在 CPU 上约 0.098 秒完成,返回恰好两个簇并达到 100% 分离纯度,不再分配稠密相似矩阵;小样本和自动估计说话人数的原有算法保持不变,长音频获得有界内存路径。

PR #3516 已随 FunASR v1.4.5 正式发布
  • 长音频聚类分流修复
  • v1.4.5 标签包含合并提交
  • 正式版本已发布
查看正式版本