Skip to main content

polyvoice

CI PyPI License: MIT

Speaker diarization for Python — who spoke when.

Rust-powered, ONNX-based speaker diarization that runs on CPU, fits in 30 MB, and requires zero Python runtime overhead. Pipeline v2 with VBx clustering and overlap detection.

Install

pip install polyvoice

Requires Python 3.9+.

Quick start

import polyvoice

# Models auto-download on first run (~30 MB)
pipeline = polyvoice.Pipeline.balanced()

result = pipeline.run(samples, sample_rate=16000)

print(f"Speakers: {result['num_speakers']}")
for turn in result["turns"]:
    print(f"Speaker {turn['speaker']}: {turn['start']:.1f}s - {turn['end']:.1f}s")

API

  • polyvoice.Pipeline.balanced(models_cache=None, clusterer=None, vbx_plda_dir=None) — balanced accuracy / speed.
  • polyvoice.Pipeline.mobile(models_cache=None, clusterer=None, vbx_plda_dir=None) — smaller, faster model. clusterer is "vbx" (default, matching the CLI) or "ahc". VBx resolves its PLDA params via vbx_plda_dir, then the POLYVOICE_VBX_PLDA_DIR env var, then a registry download.
  • pipeline.run(samples, sample_rate)dict with num_speakers and turns.
  • pipeline.run_result(samples, sample_rate) → typed DiarizationResult with .to_json() / .to_rttm() / .to_srt() / .to_vtt() / .to_txt() projections.
  • polyvoice.DiarizationResult.from_json(json) — re-hydrate a saved result.

Performance

Pipeline VoxConverse-test DER (collar 0, overlap-scored) Model size
default (v2+VBx) 15.2% ~30 MB

Full protocol, collar/averaging disclosure, and competitor numbers: docs/BENCHMARKS.md.

See the full repository for Rust / C / CLI APIs, benchmarks, and development docs.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

polyvoice-0.17.0-cp312-cp312-win_amd64.whl (8.6 MB view details)

Uploaded CPython 3.12Windows x86-64

polyvoice-0.17.0-cp312-cp312-manylinux_2_38_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

polyvoice-0.17.0-cp312-cp312-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file polyvoice-0.17.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: polyvoice-0.17.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for polyvoice-0.17.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2392a51dab0d953af2f8f76f14b328e28f8ea6a89e50f4cb19be32b70d81b477
MD5 7b26412fa2aca28d17cd3678b4d3f00c
BLAKE2b-256 57b48248dfb53c396156052c6874f43d278851ca6a9c09844ebaab6c63dc2376

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.17.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on ekhodzitsky/polyvoice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyvoice-0.17.0-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for polyvoice-0.17.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 b40dbaff1877f9ea5d732f9474187e30fb0439ac4873c31ca01bd5aecad3b05f
MD5 6837a6ea5935a0313e50cb4c0aa1cc6e
BLAKE2b-256 6eda88ce91297399defa117f709af3014ea1233a0f3a039bc0a6f79a84e4cde7

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.17.0-cp312-cp312-manylinux_2_38_x86_64.whl:

Publisher: release.yml on ekhodzitsky/polyvoice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polyvoice-0.17.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for polyvoice-0.17.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe5d78b319b5aed12c495d0a4e5ee3468dd2563fc442f606f02bf870a27dcc60
MD5 4b72e2fbc59300a2367b566c88e406f6
BLAKE2b-256 ad7301246669fcd84cb357677b50e04bdc1b793e083c829fbe0e60b903806f1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for polyvoice-0.17.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on ekhodzitsky/polyvoice

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.20.0

3 files

0.19.0

3 files

This release

0.17.0 This release

3 files

0.14.0

3 files

0.12.0

3 files

0.11.0

3 files

0.10.0

3 files

0.9.0

3 files

0.8.0

3 files

0.7.0

3 files

0.6.9

3 files

0.6.8

3 files

0.6.7

1 file

0.6.6

3 files

0.6.5

5 files

0.6.3

3 files

0.6.2

3 files

0.6.1

3 files

0.6.0

3 files

0.5.2

4 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page