#speaker #embedding #diarization #identify #macos #timestamp #pyannote

pyannote-rs

使用Rust的pyannote进行说话人分割

18个版本

新版本 0.2.7 2024年8月18日
0.2.6 2024年8月12日
0.1.9 2024年8月7日

#154 in 音频

Download history 1123/week @ 2024-08-06 216/week @ 2024-08-13

1,339 每月下载量
用于 sherpa-rs

MIT 许可证

15KB
211

pyannote-rs

Crates License

Pyannote在Rust中的音频说话人分割

特性

  • 在CPU上,1小时音频的计算时间少于1分钟。
  • 在Windows上的DirectML和macOS上的CoreML上,性能更快。
  • Pyannote分割的准确时间戳。
  • 使用wespeaker嵌入识别说话人。

安装

cargo add pyannote-rs

使用方法

构建

示例

示例

工作原理

pyannote-rs使用2个模型进行说话人分割

  1. 分割: segmentation-3.0 识别何时有语音发生。
  2. 说话人识别: wespeaker-voxceleb-resnet34-LM 识别是谁在说话。

推理由 onnxruntime 提供支持。

  • 分割模型通过滑动窗口方法(分块迭代)处理多达10秒的音频。
  • 嵌入模型处理使用 knf-rs 提取的滤波器组(音频特征)。

说话人比较(例如,确定Alice是否再次说话)使用余弦相似度完成。

致谢

pyannote-onnxkaldi-native-fbank 表示衷心的感谢。

依赖项

~3–11MB
~117K SLoC